SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build

SGHI FHIR Profile Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/sil_fhir_profile_ig/ and changes regularly. See the Directory of published versions

: Haemodialysis Session Extraction - JSON Representation

Active as of 2026-09-14

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "ExtractHaemodialysisSession",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap ExtractHaemodialysisSession</b></p><a name=\"ExtractHaemodialysisSession\"> </a><a name=\"hcExtractHaemodialysisSession\"> </a><pre class=\"fml\">\r\n<span style=\"color: #cc00cc\">/// <b>url</b> = </span><span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/StructureMap/ExtractHaemodialysisSession'</span>\r\n<span style=\"color: #cc00cc\">/// <b>name</b> = </span><span style=\"color: blue\">'ExtractHaemodialysisSession'</span>\r\n<span style=\"color: #cc00cc\">/// <b>title</b> = </span><span style=\"color: blue\">'Haemodialysis Session Extraction'</span>\r\n<span style=\"color: #cc00cc\">/// <b>status</b> = </span><span style=\"color: blue\">'active'</span>\r\n<span style=\"color: #cc00cc\">/// <b>description</b> = </span><span style=\"color: blue\">'One dialysis session out as: a Procedure for the session itself, coded to SNOMED 302497006, with the treatment time as its period and the access as a note; the pre-, target and post-dialysis weights each as their own Observation, because the nephrologist reads them against each other over weeks; the fluid actually removed as its own Observation; the prescription and the machine\\'s function check as two panels, because neither of their parts means anything alone; and one Observation per timed reading through the run, each keeping the reading\\'s own time, since the flow chart is a time series and the circuit pressures are what a run is judged on.'</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/questionnaireresponse.html\" title=\"QuestionnaireResponse\">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style=\"color: navy\">&quot; </span><b>alias </b>QR <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/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>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/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>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/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>target</b>\r\n\r\n<b>group </b>ExtractHaemodialysisSession<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>bundle.type = <span style=\"color: blue\">'transaction'</span> <i>&quot;setBundleType&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The session, as a Procedure ─────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">SNOMED 302497006, haemodialysis, checked against tx.fhir.org. The access</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">is a note rather than Procedure.usedCode: usedCode wants a device, and</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">&quot;arteriovenous fistula&quot; is an anatomical route, not a device the unit</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">issued.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'session'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Procedure'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">proc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> proc<span style=\"color: navy\">, </span> entry<b> then </b>BuildProcedureBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">proc</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>proc.status = <span style=\"color: blue\">'completed'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>proc.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      g<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'http://snomed.info/sct'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'302497006'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Haemodialysis'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n    qr.encounter<b> as </b><span style=\"color: maroon\">e</span><span style=\"color: navy\"><b> -&gt; </b></span>proc.encounter = <span style=\"color: maroon\">e</span><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">d</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'session/date') and answer.value.exists()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      d.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">t</span><span style=\"color: navy\"><b> -&gt; </b></span>proc.occurrence = <span style=\"color: maroon\">t</span> <i>&quot;occurrence&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;dateRule&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">ph</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'session/physician') and answer.value.exists()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      ph.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\"><b> -&gt; </b></span> proc.performer<b> as </b><span style=\"color: maroon\">p</span><span style=\"color: navy\">, </span> p.actor = <span style=\"color: maroon\">ref</span> <i>&quot;physician&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;physicianRule&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">ac</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'session/access') and answer.value.exists()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      ac.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">cv</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          cv.display<b> as </b><span style=\"color: maroon\">d</span><span style=\"color: navy\"><b> -&gt; </b></span> proc.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: maroon\">d</span> <i>&quot;accessNote&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;display&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;accessRule&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">tn</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'session/treatment-number') and answer.value.exists()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      tn.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">txt</span><span style=\"color: navy\"><b> -&gt; </b></span>proc.identifier<b> as </b><span style=\"color: maroon\">ident</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          txt<span style=\"color: navy\"><b> -&gt; </b></span>ident.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;identSystem&quot;</i><span style=\"color: navy\">;</span>\r\n          txt<span style=\"color: navy\"><b> -&gt; </b></span>ident.value = <span style=\"color: maroon\">txt</span> <i>&quot;identValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;identifier&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;treatmentNumberRule&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">The nurses who started and finished the run. Both, because a run handed</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">over mid-session is exactly the case where knowing who did what matters.</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">tg</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'timing'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      tg.item<b> as </b><span style=\"color: maroon\">nc</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'timing/nurse-commencing') and answer.value.exists()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        nc.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          a.value<b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\"><b> -&gt; </b></span> proc.performer<b> as </b><span style=\"color: maroon\">p</span><span style=\"color: navy\">, </span> p.actor = <span style=\"color: maroon\">ref</span> <i>&quot;nurseCommencing&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;nurseCommencingRule&quot;</i><span style=\"color: navy\">;</span>\r\n      tg.item<b> as </b><span style=\"color: maroon\">nt</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'timing/nurse-terminating') and answer.value.exists()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        nt.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          a.value<b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\"><b> -&gt; </b></span> proc.performer<b> as </b><span style=\"color: maroon\">p</span><span style=\"color: navy\">, </span> p.actor = <span style=\"color: maroon\">ref</span> <i>&quot;nurseTerminating&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;nurseTerminatingRule&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;timingGroup&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;dialysisProcedure&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The weights ─────────────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Pre and post are both LOINC 29463-7 body weight, so each carries a note</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">saying which it is: without that a query for the patient's weight on the</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">day of dialysis returns two numbers with no way to tell them apart.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'weights'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'weights/pre-dialysis') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> obs<span style=\"color: navy\">, </span> entry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetVitalSignsCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>obs.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'29463-7'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Body weight'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.value = <span style=\"color: maroon\">v</span> <i>&quot;set&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> obs.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Taken before the dialysis session.'</span> <i>&quot;note&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;measure_29463_7&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'weights/post-dialysis') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> obs<span style=\"color: navy\">, </span> entry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetVitalSignsCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>obs.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'29463-7'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Body weight'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.value = <span style=\"color: maroon\">v</span> <i>&quot;set&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> obs.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Taken after the dialysis session.'</span> <i>&quot;note&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;measure_29463_72&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'weights/target') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> obs<span style=\"color: navy\">, </span> entry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetProcedureCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>obs.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-target-weight'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Target weight'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.value = <span style=\"color: maroon\">v</span> <i>&quot;set&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> obs.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'The dry weight the session was aiming for.'</span> <i>&quot;note&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;measure_fluid_removed&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'weights/fluid-lost') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> obs<span style=\"color: navy\">, </span> entry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetProcedureCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>obs.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'fluid-removed'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Fluid removed'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">q</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          v<span style=\"color: navy\"><b> -&gt; </b></span>q.value = <span style=\"color: maroon\">v</span> <i>&quot;qValue&quot;</i><span style=\"color: navy\">;</span>\r\n          v<span style=\"color: navy\"><b> -&gt; </b></span>q.unit = <span style=\"color: blue\">'kg'</span> <i>&quot;qUnit&quot;</i><span style=\"color: navy\">;</span>\r\n          v<span style=\"color: navy\"><b> -&gt; </b></span>q.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;qSystem&quot;</i><span style=\"color: navy\">;</span>\r\n          v<span style=\"color: navy\"><b> -&gt; </b></span>q.code = <span style=\"color: blue\">'kg'</span> <i>&quot;qCode&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;quantity&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> obs.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'The difference between the pre- and post-dialysis weights, which is the fluid actually taken off. The unit is attached by the extraction map.'</span> <i>&quot;note&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;measureq_fluid_removed&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;weightsGroup&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The prescription, as one panel ──────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Five components on one Observation. A treatment time without its dialyser,</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">bath potassium and heparinisation is not a prescription, and splitting them</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">would let one be changed without the others being reviewed.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'prescription') and item.answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> obs<span style=\"color: navy\">, </span> entry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetProcedureCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>obs.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      g<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-prescription'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Dialysis prescription'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'prescription/treatment-time') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-treatment-time'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Treatment time'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_treatment_time&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'prescription/prime') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-prime'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Prime'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_prime&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'prescription/dialyser') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-dialyser'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Dialyser'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_dialyser&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'prescription/bath-potassium') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-bath-k-plus'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Bath K+'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_bath_k_plus&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'prescription/heparin-loading-dose') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-heparin-loading-dose'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Heparin loading dose'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_heparin_loading_dose&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'prescription/heparin-hourly') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-heparin-units-per-hour'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Heparin units per hour'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_heparin_units_per_hour&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;prescriptionPanel&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The machine's own function check ────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">A panel, and one that is about the machine rather than the patient. It is</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">still an Observation on the patient's record: it is the evidence that the</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">machine the patient was put on had passed its self-test, which is what a</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">review after an adverse event asks for.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'machine-check') and item.answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> obs<span style=\"color: navy\">, </span> entry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetProcedureCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>obs.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      g<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'machine-function-check'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Machine function check'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'machine-check/t1-test-passed') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'machine-t1-test-passed'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'T1 test passed'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_machine_t1_test_passed&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'machine-check/temperature') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'machine-temperature'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Machine temperature'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_machine_temperature&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'machine-check/conductivity') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'machine-conductivity'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Conductivity'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_machine_conductivity&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'machine-check/dialyser-flow-rate') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'machine-dialyser-flow-rate'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Dialyser flow rate'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_machine_dialyser_flow_rate&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;machineCheckPanel&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The virology screen ─────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">A laboratory panel. The unit records HIV, HBsAg and HCV status on every</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">flow chart because a positive donor changes which machine and which bay the</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">patient uses, so it belongs on the session record and not only in the lab.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'virology-screen') and item.answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> obs<span style=\"color: navy\">, </span> entry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetLaboratoryCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>obs.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      g<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'11502-2'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Laboratory report'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      g<span style=\"color: navy\"><b> -&gt; </b></span>cc.text = <span style=\"color: blue\">'Virology screen for dialysis'</span> <i>&quot;codeText&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'virology-screen/hiv') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-hiv'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'HIV'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_hiv&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'virology-screen/hbsag') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-hbs-ag'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'HBs Ag'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_hbs_ag&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'virology-screen/hcv') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-hcv'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'HCV'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_hcv&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;virologyPanel&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The readings through the run ────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">One Observation per row of the flow chart. The circuit pressures are</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">deliberately coded to local concepts and not to the blood pressure LOINC</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">codes: arterial and venous pressure on an extracorporeal circuit are</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">machine readings on tubing, and coding them as the patient's arterial</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">pressure would put a figure of -180 mmHg into a vital signs chart.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading') and item.answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> obs<span style=\"color: navy\">, </span> entry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;base&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetProcedureCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>obs.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      g<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-session-reading'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n        g<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Dialysis session reading'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      g<span style=\"color: navy\"><b> -&gt; </b></span>cc.text = <span style=\"color: blue\">'Reading taken during the dialysis run'</span> <i>&quot;codeText&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/systolic') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'8480-6'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Systolic blood pressure'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_8480_6&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/diastolic') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'8462-4'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Diastolic blood pressure'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_8462_4&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/pulse') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'8867-4'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Heart rate'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_8867_4&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/blood-pump-rate') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'blood-pump-rate'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Blood pump rate'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_blood_pump_rate&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/transmembrane-pressure') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'transmembrane-pressure'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Transmembrane pressure'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_transmembrane_pressure&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/ultrafiltration') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'ultrafiltration-volume'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Ultrafiltration volume'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_ultrafiltration_volume&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/arterial-pressure') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'arterial-pressure-circuit'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Arterial pressure (extracorporeal circuit)'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_arterial_pressure_circuit&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/venous-pressure') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'venous-pressure-circuit'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Venous pressure (extracorporeal circuit)'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_venous_pressure_circuit&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/heparin') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-heparin-given'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Heparin given'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_heparin_given&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/clotting-time') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-clotting-time'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Clotting time'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_clotting_time&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'reading/fluid') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>comp.code<b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'dialysis-fluid'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n          it<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Fluid'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>comp<b> then </b>SetComponentValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">it</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span> <i>&quot;value&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;comp_dialysis_fluid&quot;</i><span style=\"color: navy\">;</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'reading/comments'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        a.value<b> as </b><span style=\"color: maroon\">txt</span><span style=\"color: navy\"><b> -&gt; </b></span> obs.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: maroon\">txt</span> <i>&quot;text&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;note&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;runReading&quot;</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\">Shared scaffolding. Repeated in each map rather than imported: the transform</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">engine resolves `imports` against whatever StructureMaps happen to be on the</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">server, and a form that stops extracting because a shared map was not</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">uploaded is a worse failure than a duplicated group.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Two notes on what the publisher's StructureMap validator says about this file.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Source parameters below are left untyped on purpose. Writing `: Element` makes</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">the validator compare QuestionnaireResponse.item against the literal 'Element'</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">and report them as incompatible with each other, which is noise, not a finding.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">`evaluate(context, expression)` is flagged as &quot;takes 1 parameter but 2 were</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">found&quot;. Leave it. The FML parser in the same jar refuses the one-argument form</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">outright -- it wants a parameter, a comma, then the FHIRPath -- so the</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">publisher is objecting to what its own compiler emits. Two arguments is the</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">only form that compiles, and it is what the R5 transform engine executes.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">─────────────────────────────────────────────────────────────────────────────</span>\r\n<b>group </b>BuildObsBase<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation, <b>target</b> <span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs<b> then </b>SetResponseProvenance<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">)</span> <i>&quot;responseProvenance&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> then </b>SetObservationFullUrl<span style=\"color: navy\">(</span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;idAndFullUrl&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>entry.request<b> as </b><span style=\"color: maroon\">request</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>request.method = <span style=\"color: blue\">'POST'</span> <i>&quot;requestMethod&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>request.url = <span style=\"color: blue\">'Observation'</span> <i>&quot;requestUrl&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;entryRequest&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.status = <span style=\"color: blue\">'final'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.subject<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.subject = <span style=\"color: maroon\">s</span><span style=\"color: navy\">;</span>\r\n  qr.encounter<b> as </b><span style=\"color: maroon\">e</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.encounter = <span style=\"color: maroon\">e</span><span style=\"color: navy\">;</span>\r\n  qr.authored<b> as </b><span style=\"color: maroon\">t</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.effective = <span style=\"color: maroon\">t</span> <i>&quot;effective&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.source<b> as </b><span style=\"color: maroon\">src</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.performer = <span style=\"color: maroon\">src</span> <i>&quot;performerFromSource&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<b> where </b><span style=\"color: navy\">(</span>source.exists().not()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr.author<b> as </b><span style=\"color: maroon\">a</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.performer = <span style=\"color: maroon\">a</span> <i>&quot;performerFromAuthor&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;performerFallback&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">A stored response's id already reads &quot;QuestionnaireResponse/&lt;id&gt;&quot;, so it is</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">a relative reference as it stands. The hasValue() guard is what stops an</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">unsaved response -- one posted straight to $extract rather than saved first</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">-- from writing &quot;QuestionnaireResponse/null&quot; into the record.</span>\r\n  qr.id<b> as </b><span style=\"color: maroon\">qid</span><b> where </b><span style=\"color: navy\">(</span>$this.hasValue()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span> obs.derivedFrom = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Reference'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\">, </span> ref.reference = <span style=\"color: maroon\">qid</span> <i>&quot;linkQuestionnaireResponse&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SetObservationFullUrl<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation, <b>target</b> <span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  obs.id<b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\"><b> -&gt; </b></span>entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span> <i>&quot;assignFullUrl&quot;</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\">The two answer shapes a component can carry. Both read the answer through the</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">untyped `.value` accessor: reading `valueCoding` or `valueQuantity` by its</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">typed property name fails at transform time on HAPI R5 with &quot;Attempt to read</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">invalid property ... on QuestionnaireResponse.item.answer&quot;.</span>\r\n<b>group </b>SetComponentCodedValue<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">it</span>, <b>target</b> <span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  it.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    a.value<b> as </b><span style=\"color: maroon\">cv</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">cc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      cv<span style=\"color: navy\"><b> -&gt; </b></span>cc.coding = <span style=\"color: maroon\">cv</span> <i>&quot;valueCoding&quot;</i><span style=\"color: navy\">;</span>\r\n      cv.display<b> as </b><span style=\"color: maroon\">d</span><span style=\"color: navy\"><b> -&gt; </b></span>cc.text = <span style=\"color: maroon\">d</span> <i>&quot;valueText&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;codedValue&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;componentAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SetComponentValue<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">it</span>, <b>target</b> <span style=\"color: maroon\">comp</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  it.answer first<b> as </b><span style=\"color: maroon\">a</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    a.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.value = <span style=\"color: maroon\">v</span> <i>&quot;plainValue&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;componentAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SetSurveyCategory<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>cat.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;categorySystem&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.code = <span style=\"color: blue\">'survey'</span> <i>&quot;categoryCode&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.display = <span style=\"color: blue\">'Survey'</span> <i>&quot;categoryDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;categoryCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SetVitalSignsCategory<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>cat.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;categorySystem&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;categoryCode&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;categoryDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;categoryCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SetLaboratoryCategory<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>cat.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;categorySystem&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.code = <span style=\"color: blue\">'laboratory'</span> <i>&quot;categoryCode&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.display = <span style=\"color: blue\">'Laboratory'</span> <i>&quot;categoryDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;categoryCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SetProcedureCategory<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>cat.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;categorySystem&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.code = <span style=\"color: blue\">'procedure'</span> <i>&quot;categoryCode&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>coding.display = <span style=\"color: blue\">'Procedure'</span> <i>&quot;categoryDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;categoryCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>BuildProcedureBase<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\"> : </span>Procedure, <b>target</b> <span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>r<b> then </b>SetResponseProvenance<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">r</span><span style=\"color: navy\">)</span> <i>&quot;responseProvenance&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>r.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> then </b>SetProcedureFullUrl<span style=\"color: navy\">(</span><span style=\"color: maroon\">r</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span> <i>&quot;idAndFullUrl&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>entry.request<b> as </b><span style=\"color: maroon\">request</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>request.method = <span style=\"color: blue\">'POST'</span> <i>&quot;requestMethod&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>request.url = <span style=\"color: blue\">'Procedure'</span> <i>&quot;requestUrl&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;entryRequest&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">The response's own time, as a floor, the way BuildObsBase does it. A rule</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">that reads a time off the form overwrites this; without it a procedure whose</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">date column was taken off on review has no time at all, and a procedure with</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">no time cannot be ordered against the rest of the admission.</span>\r\n  qr.authored<b> as </b><span style=\"color: maroon\">t</span><span style=\"color: navy\"><b> -&gt; </b></span>r.occurrence = <span style=\"color: maroon\">t</span> <i>&quot;occurrenceFallback&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.subject<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>r.subject = <span style=\"color: maroon\">s</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SetProcedureFullUrl<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\"> : </span>Procedure, <b>target</b> <span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  r.id<b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\"><b> -&gt; </b></span>entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Procedure/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span> <i>&quot;assignFullUrl&quot;</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\">── Provenance and tenancy ───────────────────────────────────────────────────</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Two tags on everything this map creates. The first says which questionnaire</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">produced it, so a form that reopens mid-admission recalls its own earlier</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">entries and not another form's. The second copies the tenant tags off the</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">response, because nothing else on the path puts them there.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">The code is the form's document type, not the questionnaire's id: every</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">environment mints its own ids, and there is only one set of maps, so an id</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">here would tie the tag to whichever environment stamped it.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">── Provenance and tenancy ───────────────────────────────────────────────────</span>\r\n<b>group </b>SetResponseProvenance<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>r.meta<b> as </b><span style=\"color: maroon\">m</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>m.tag<b> as </b><span style=\"color: maroon\">t</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span>t.system = <span style=\"color: blue\">'http://slade360edi.com/questionnaire-provenance'</span> <i>&quot;provenanceSystem&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>t.code = <span style=\"color: blue\">'haemodialysis-session-record'</span> <i>&quot;provenanceCode&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>t.display = <span style=\"color: blue\">'Haemodialysis session record'</span> <i>&quot;provenanceDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;provenanceTag&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;provenanceMeta&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Every tag the response carries, onto the resource. `meta` is 0..1, so this</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">lands on the same meta the rule above created rather than a second one.</span>\r\n  qr.meta<b> as </b><span style=\"color: maroon\">qm</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qm.tag<b> as </b><span style=\"color: maroon\">qt</span><span style=\"color: navy\"><b> -&gt; </b></span> r.meta<b> as </b><span style=\"color: maroon\">m</span><span style=\"color: navy\">, </span> m.tag = <span style=\"color: maroon\">qt</span> <i>&quot;copyTag&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;tenantTags&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "https://fhir.slade360.co.ke/fhir/StructureMap/ExtractHaemodialysisSession",
  "version" : "0.1.0",
  "name" : "ExtractHaemodialysisSession",
  "title" : "Haemodialysis Session Extraction",
  "status" : "active",
  "date" : "2026-09-14T06:31:13+00:00",
  "publisher" : "Kathurima Kimathi",
  "contact" : [
    {
      "name" : "Kathurima Kimathi",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://www.linkedin.com/in/kathurima-kimathi/"
        },
        {
          "system" : "email",
          "value" : "kathurimakimathi415@gmail.com"
        }
      ]
    },
    {
      "name" : "Oscar John",
      "telecom" : [
        {
          "system" : "email",
          "value" : "oscarjohnotieno@gmail.com",
          "use" : "work"
        }
      ]
    },
    {
      "name" : "Kennedy Omondi",
      "telecom" : [
        {
          "system" : "email",
          "value" : "kennankole@gmail.com",
          "use" : "work"
        }
      ]
    }
  ],
  "description" : "One dialysis session out as: a Procedure for the session itself, coded to SNOMED 302497006, with the treatment time as its period and the access as a note; the pre-, target and post-dialysis weights each as their own Observation, because the nephrologist reads them against each other over weeks; the fluid actually removed as its own Observation; the prescription and the machine's function check as two panels, because neither of their parts means anything alone; and one Observation per timed reading through the run, each keeping the reading's own time, since the flow chart is a time series and the circuit pressures are what a run is judged on.",
  "structure" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
      "mode" : "source",
      "alias" : "QR"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
      "mode" : "target",
      "alias" : "Bundle"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Observation",
      "mode" : "target",
      "alias" : "Observation"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Procedure",
      "mode" : "target",
      "alias" : "Procedure"
    }
  ],
  "group" : [
    {
      "name" : "ExtractHaemodialysisSession",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "bundle",
          "type" : "Bundle",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "setBundleType",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "element" : "type",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "transaction"
                }
              ]
            }
          ]
        },
        {
          "name" : "dialysisProcedure",
          "source" : [
            {
              "context" : "qr",
              "element" : "item",
              "variable" : "g",
              "condition" : "linkId = 'session'"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "element" : "entry",
              "variable" : "entry"
            },
            {
              "context" : "entry",
              "element" : "resource",
              "variable" : "proc",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Procedure"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "base",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "proc"
                },
                {
                  "context" : "entry"
                }
              ],
              "dependent" : [
                {
                  "name" : "BuildProcedureBase",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "proc"
                    },
                    {
                      "valueId" : "entry"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "status",
              "source" : [
                {
                  "context" : "g"
                }
              ],
              "target" : [
                {
                  "context" : "proc",
                  "element" : "status",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "completed"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "code",
              "source" : [
                {
                  "context" : "g"
                }
              ],
              "target" : [
                {
                  "context" : "proc",
                  "element" : "code",
                  "variable" : "cc"
                }
              ],
              "rule" : [
                {
                  "name" : "coding",
                  "source" : [
                    {
                      "context" : "g"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "coding",
                      "variable" : "cg"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "sys",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://snomed.info/sct"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "cd",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "302497006"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "dsp",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Haemodialysis"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "encounter",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "encounter",
                  "variable" : "e"
                }
              ],
              "target" : [
                {
                  "context" : "proc",
                  "element" : "encounter",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "e"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "dateRule",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "d",
                  "condition" : "(linkId = 'session/date') and answer.value.exists()"
                }
              ],
              "rule" : [
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "d",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "occurrence",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "t"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "proc",
                          "element" : "occurrence",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "t"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "physicianRule",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "ph",
                  "condition" : "(linkId = 'session/physician') and answer.value.exists()"
                }
              ],
              "rule" : [
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "ph",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "physician",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "ref"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "proc",
                          "element" : "performer",
                          "variable" : "p"
                        },
                        {
                          "context" : "p",
                          "element" : "actor",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ref"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "accessRule",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "ac",
                  "condition" : "(linkId = 'session/access') and answer.value.exists()"
                }
              ],
              "rule" : [
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "ac",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "display",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "cv"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "accessNote",
                          "source" : [
                            {
                              "context" : "cv",
                              "element" : "display",
                              "variable" : "d"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "proc",
                              "element" : "note",
                              "variable" : "n"
                            },
                            {
                              "context" : "n",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "d"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "treatmentNumberRule",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "tn",
                  "condition" : "(linkId = 'session/treatment-number') and answer.value.exists()"
                }
              ],
              "rule" : [
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "tn",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "identifier",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "txt"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "proc",
                          "element" : "identifier",
                          "variable" : "ident"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "identSystem",
                          "source" : [
                            {
                              "context" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "ident",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "identValue",
                          "source" : [
                            {
                              "context" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "ident",
                              "element" : "value",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "timingGroup",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "tg",
                  "condition" : "linkId = 'timing'"
                }
              ],
              "rule" : [
                {
                  "name" : "nurseCommencingRule",
                  "source" : [
                    {
                      "context" : "tg",
                      "element" : "item",
                      "variable" : "nc",
                      "condition" : "(linkId = 'timing/nurse-commencing') and answer.value.exists()"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "nc",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "nurseCommencing",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "ref"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "proc",
                              "element" : "performer",
                              "variable" : "p"
                            },
                            {
                              "context" : "p",
                              "element" : "actor",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "ref"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "nurseTerminatingRule",
                  "source" : [
                    {
                      "context" : "tg",
                      "element" : "item",
                      "variable" : "nt",
                      "condition" : "(linkId = 'timing/nurse-terminating') and answer.value.exists()"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "nt",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "nurseTerminating",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "ref"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "proc",
                              "element" : "performer",
                              "variable" : "p"
                            },
                            {
                              "context" : "p",
                              "element" : "actor",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "ref"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "documentation" : "The nurses who started and finished the run. Both, because a run handed\r\nover mid-session is exactly the case where knowing who did what matters."
            }
          ],
          "documentation" : "── The session, as a Procedure ─────────────────────────────────────────\r\nSNOMED 302497006, haemodialysis, checked against tx.fhir.org. The access\r\nis a note rather than Procedure.usedCode: usedCode wants a device, and\r\n\"arteriovenous fistula\" is an anatomical route, not a device the unit\r\nissued."
        },
        {
          "name" : "weightsGroup",
          "source" : [
            {
              "context" : "qr",
              "element" : "item",
              "variable" : "g",
              "condition" : "linkId = 'weights'"
            }
          ],
          "rule" : [
            {
              "name" : "measure_29463_7",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'weights/pre-dialysis') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "bundle",
                  "element" : "entry",
                  "variable" : "entry"
                },
                {
                  "context" : "entry",
                  "element" : "resource",
                  "variable" : "obs",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Observation"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "base",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs"
                    },
                    {
                      "context" : "entry"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "BuildObsBase",
                      "parameter" : [
                        {
                          "valueId" : "qr"
                        },
                        {
                          "valueId" : "obs"
                        },
                        {
                          "valueId" : "entry"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "category",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetVitalSignsCategory",
                      "parameter" : [
                        {
                          "valueId" : "qr"
                        },
                        {
                          "valueId" : "obs"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://loinc.org"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "29463-7"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Body weight"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "it",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "set",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "v"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "obs",
                          "element" : "value",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "v"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "note",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs",
                      "element" : "note",
                      "variable" : "n"
                    },
                    {
                      "context" : "n",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Taken before the dialysis session."
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "measure_29463_72",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'weights/post-dialysis') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "bundle",
                  "element" : "entry",
                  "variable" : "entry"
                },
                {
                  "context" : "entry",
                  "element" : "resource",
                  "variable" : "obs",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Observation"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "base",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs"
                    },
                    {
                      "context" : "entry"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "BuildObsBase",
                      "parameter" : [
                        {
                          "valueId" : "qr"
                        },
                        {
                          "valueId" : "obs"
                        },
                        {
                          "valueId" : "entry"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "category",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetVitalSignsCategory",
                      "parameter" : [
                        {
                          "valueId" : "qr"
                        },
                        {
                          "valueId" : "obs"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://loinc.org"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "29463-7"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Body weight"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "it",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "set",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "v"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "obs",
                          "element" : "value",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "v"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "note",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs",
                      "element" : "note",
                      "variable" : "n"
                    },
                    {
                      "context" : "n",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Taken after the dialysis session."
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "measure_fluid_removed",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'weights/target') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "bundle",
                  "element" : "entry",
                  "variable" : "entry"
                },
                {
                  "context" : "entry",
                  "element" : "resource",
                  "variable" : "obs",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Observation"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "base",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs"
                    },
                    {
                      "context" : "entry"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "BuildObsBase",
                      "parameter" : [
                        {
                          "valueId" : "qr"
                        },
                        {
                          "valueId" : "obs"
                        },
                        {
                          "valueId" : "entry"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "category",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetProcedureCategory",
                      "parameter" : [
                        {
                          "valueId" : "qr"
                        },
                        {
                          "valueId" : "obs"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-target-weight"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Target weight"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "it",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "set",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "v"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "obs",
                          "element" : "value",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "v"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "note",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs",
                      "element" : "note",
                      "variable" : "n"
                    },
                    {
                      "context" : "n",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "The dry weight the session was aiming for."
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "measureq_fluid_removed",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'weights/fluid-lost') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "bundle",
                  "element" : "entry",
                  "variable" : "entry"
                },
                {
                  "context" : "entry",
                  "element" : "resource",
                  "variable" : "obs",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Observation"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "base",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs"
                    },
                    {
                      "context" : "entry"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "BuildObsBase",
                      "parameter" : [
                        {
                          "valueId" : "qr"
                        },
                        {
                          "valueId" : "obs"
                        },
                        {
                          "valueId" : "entry"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "category",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetProcedureCategory",
                      "parameter" : [
                        {
                          "valueId" : "qr"
                        },
                        {
                          "valueId" : "obs"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "fluid-removed"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Fluid removed"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "it",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "quantity",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "v"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "obs",
                          "element" : "value",
                          "variable" : "q",
                          "transform" : "create",
                          "parameter" : [
                            {
                              "valueString" : "Quantity"
                            }
                          ]
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "qValue",
                          "source" : [
                            {
                              "context" : "v"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "q",
                              "element" : "value",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "v"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "qUnit",
                          "source" : [
                            {
                              "context" : "v"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "q",
                              "element" : "unit",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "kg"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "qSystem",
                          "source" : [
                            {
                              "context" : "v"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "q",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://unitsofmeasure.org"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "qCode",
                          "source" : [
                            {
                              "context" : "v"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "q",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "kg"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "note",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "obs",
                      "element" : "note",
                      "variable" : "n"
                    },
                    {
                      "context" : "n",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "The difference between the pre- and post-dialysis weights, which is the fluid actually taken off. The unit is attached by the extraction map."
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "── The weights ─────────────────────────────────────────────────────────\r\nPre and post are both LOINC 29463-7 body weight, so each carries a note\r\nsaying which it is: without that a query for the patient's weight on the\r\nday of dialysis returns two numbers with no way to tell them apart."
        },
        {
          "name" : "prescriptionPanel",
          "source" : [
            {
              "context" : "qr",
              "element" : "item",
              "variable" : "g",
              "condition" : "(linkId = 'prescription') and item.answer.value.exists()"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "element" : "entry",
              "variable" : "entry"
            },
            {
              "context" : "entry",
              "element" : "resource",
              "variable" : "obs",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Observation"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "base",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "obs"
                },
                {
                  "context" : "entry"
                }
              ],
              "dependent" : [
                {
                  "name" : "BuildObsBase",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "obs"
                    },
                    {
                      "valueId" : "entry"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "category",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "obs"
                }
              ],
              "dependent" : [
                {
                  "name" : "SetProcedureCategory",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "obs"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "code",
              "source" : [
                {
                  "context" : "g"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "code",
                  "variable" : "cc"
                }
              ],
              "rule" : [
                {
                  "name" : "coding",
                  "source" : [
                    {
                      "context" : "g"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "coding",
                      "variable" : "cg"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "sys",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "cd",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "dialysis-prescription"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "dsp",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Dialysis prescription"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_treatment_time",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'prescription/treatment-time') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-treatment-time"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Treatment time"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_prime",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'prescription/prime') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-prime"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Prime"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_dialyser",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'prescription/dialyser') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-dialyser"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Dialyser"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_bath_k_plus",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'prescription/bath-potassium') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-bath-k-plus"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Bath K+"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_heparin_loading_dose",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'prescription/heparin-loading-dose') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-heparin-loading-dose"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Heparin loading dose"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_heparin_units_per_hour",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'prescription/heparin-hourly') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-heparin-units-per-hour"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Heparin units per hour"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "── The prescription, as one panel ──────────────────────────────────────\r\nFive components on one Observation. A treatment time without its dialyser,\r\nbath potassium and heparinisation is not a prescription, and splitting them\r\nwould let one be changed without the others being reviewed."
        },
        {
          "name" : "machineCheckPanel",
          "source" : [
            {
              "context" : "qr",
              "element" : "item",
              "variable" : "g",
              "condition" : "(linkId = 'machine-check') and item.answer.value.exists()"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "element" : "entry",
              "variable" : "entry"
            },
            {
              "context" : "entry",
              "element" : "resource",
              "variable" : "obs",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Observation"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "base",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "obs"
                },
                {
                  "context" : "entry"
                }
              ],
              "dependent" : [
                {
                  "name" : "BuildObsBase",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "obs"
                    },
                    {
                      "valueId" : "entry"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "category",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "obs"
                }
              ],
              "dependent" : [
                {
                  "name" : "SetProcedureCategory",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "obs"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "code",
              "source" : [
                {
                  "context" : "g"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "code",
                  "variable" : "cc"
                }
              ],
              "rule" : [
                {
                  "name" : "coding",
                  "source" : [
                    {
                      "context" : "g"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "coding",
                      "variable" : "cg"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "sys",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "cd",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "machine-function-check"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "dsp",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Machine function check"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_machine_t1_test_passed",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'machine-check/t1-test-passed') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "machine-t1-test-passed"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "T1 test passed"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentCodedValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_machine_temperature",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'machine-check/temperature') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "machine-temperature"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Machine temperature"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_machine_conductivity",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'machine-check/conductivity') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "machine-conductivity"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Conductivity"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_machine_dialyser_flow_rate",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'machine-check/dialyser-flow-rate') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "machine-dialyser-flow-rate"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Dialyser flow rate"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "── The machine's own function check ────────────────────────────────────\r\nA panel, and one that is about the machine rather than the patient. It is\r\nstill an Observation on the patient's record: it is the evidence that the\r\nmachine the patient was put on had passed its self-test, which is what a\r\nreview after an adverse event asks for."
        },
        {
          "name" : "virologyPanel",
          "source" : [
            {
              "context" : "qr",
              "element" : "item",
              "variable" : "g",
              "condition" : "(linkId = 'virology-screen') and item.answer.value.exists()"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "element" : "entry",
              "variable" : "entry"
            },
            {
              "context" : "entry",
              "element" : "resource",
              "variable" : "obs",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Observation"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "base",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "obs"
                },
                {
                  "context" : "entry"
                }
              ],
              "dependent" : [
                {
                  "name" : "BuildObsBase",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "obs"
                    },
                    {
                      "valueId" : "entry"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "category",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "obs"
                }
              ],
              "dependent" : [
                {
                  "name" : "SetLaboratoryCategory",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "obs"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "code",
              "source" : [
                {
                  "context" : "g"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "code",
                  "variable" : "cc"
                }
              ],
              "rule" : [
                {
                  "name" : "coding",
                  "source" : [
                    {
                      "context" : "g"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "coding",
                      "variable" : "cg"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "sys",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://loinc.org"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "cd",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "11502-2"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "dsp",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Laboratory report"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "codeText",
                  "source" : [
                    {
                      "context" : "g"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Virology screen for dialysis"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_hiv",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'virology-screen/hiv') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-hiv"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "HIV"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_hbs_ag",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'virology-screen/hbsag') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-hbs-ag"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "HBs Ag"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_hcv",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'virology-screen/hcv') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-hcv"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "HCV"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "── The virology screen ─────────────────────────────────────────────────\r\nA laboratory panel. The unit records HIV, HBsAg and HCV status on every\r\nflow chart because a positive donor changes which machine and which bay the\r\npatient uses, so it belongs on the session record and not only in the lab."
        },
        {
          "name" : "runReading",
          "source" : [
            {
              "context" : "qr",
              "element" : "item",
              "variable" : "g",
              "condition" : "(linkId = 'reading') and item.answer.value.exists()"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "element" : "entry",
              "variable" : "entry"
            },
            {
              "context" : "entry",
              "element" : "resource",
              "variable" : "obs",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Observation"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "base",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "obs"
                },
                {
                  "context" : "entry"
                }
              ],
              "dependent" : [
                {
                  "name" : "BuildObsBase",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "obs"
                    },
                    {
                      "valueId" : "entry"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "category",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "obs"
                }
              ],
              "dependent" : [
                {
                  "name" : "SetProcedureCategory",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "obs"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "code",
              "source" : [
                {
                  "context" : "g"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "code",
                  "variable" : "cc"
                }
              ],
              "rule" : [
                {
                  "name" : "coding",
                  "source" : [
                    {
                      "context" : "g"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "coding",
                      "variable" : "cg"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "sys",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "cd",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "dialysis-session-reading"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "dsp",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Dialysis session reading"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "codeText",
                  "source" : [
                    {
                      "context" : "g"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Reading taken during the dialysis run"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_8480_6",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/systolic') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://loinc.org"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "8480-6"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Systolic blood pressure"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_8462_4",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/diastolic') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://loinc.org"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "8462-4"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Diastolic blood pressure"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_8867_4",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/pulse') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://loinc.org"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "8867-4"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Heart rate"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_blood_pump_rate",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/blood-pump-rate') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "blood-pump-rate"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Blood pump rate"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_transmembrane_pressure",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/transmembrane-pressure') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "transmembrane-pressure"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Transmembrane pressure"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_ultrafiltration_volume",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/ultrafiltration') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "ultrafiltration-volume"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Ultrafiltration volume"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_arterial_pressure_circuit",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/arterial-pressure') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "arterial-pressure-circuit"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Arterial pressure (extracorporeal circuit)"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_venous_pressure_circuit",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/venous-pressure') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "venous-pressure-circuit"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Venous pressure (extracorporeal circuit)"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_heparin_given",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/heparin') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-heparin-given"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Heparin given"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_clotting_time",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/clotting-time') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-clotting-time"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Clotting time"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "comp_dialysis_fluid",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'reading/fluid') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "component",
                  "variable" : "comp"
                }
              ],
              "rule" : [
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "code",
                      "variable" : "cc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cc",
                          "element" : "coding",
                          "variable" : "cg"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "sys",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "cd",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "dialysis-fluid"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Fluid"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "value",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "SetComponentValue",
                      "parameter" : [
                        {
                          "valueId" : "it"
                        },
                        {
                          "valueId" : "comp"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "note",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "linkId = 'reading/comments'"
                }
              ],
              "rule" : [
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "it",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "text",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "txt"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "obs",
                          "element" : "note",
                          "variable" : "n"
                        },
                        {
                          "context" : "n",
                          "element" : "text",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "txt"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "── The readings through the run ────────────────────────────────────────\r\nOne Observation per row of the flow chart. The circuit pressures are\r\ndeliberately coded to local concepts and not to the blood pressure LOINC\r\ncodes: arterial and venous pressure on an extracorporeal circuit are\r\nmachine readings on tubing, and coding them as the patient's arterial\r\npressure would put a figure of -180 mmHg into a vital signs chart."
        }
      ]
    },
    {
      "name" : "BuildObsBase",
      "documentation" : "─────────────────────────────────────────────────────────────────────────────\r\nShared scaffolding. Repeated in each map rather than imported: the transform\r\nengine resolves `imports` against whatever StructureMaps happen to be on the\r\nserver, and a form that stops extracting because a shared map was not\r\nuploaded is a worse failure than a duplicated group.\r\nTwo notes on what the publisher's StructureMap validator says about this file.\r\nSource parameters below are left untyped on purpose. Writing `: Element` makes\r\nthe validator compare QuestionnaireResponse.item against the literal 'Element'\r\nand report them as incompatible with each other, which is noise, not a finding.\r\n`evaluate(context, expression)` is flagged as \"takes 1 parameter but 2 were\r\nfound\". Leave it. The FML parser in the same jar refuses the one-argument form\r\noutright -- it wants a parameter, a comma, then the FHIRPath -- so the\r\npublisher is objecting to what its own compiler emits. Two arguments is the\r\nonly form that compiles, and it is what the R5 transform engine executes.\r\n─────────────────────────────────────────────────────────────────────────────",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "obs",
          "type" : "Observation",
          "mode" : "target"
        },
        {
          "name" : "entry",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "responseProvenance",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "obs"
            }
          ],
          "dependent" : [
            {
              "name" : "SetResponseProvenance",
              "parameter" : [
                {
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obs"
                }
              ]
            }
          ]
        },
        {
          "name" : "idAndFullUrl",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "id",
              "transform" : "uuid"
            }
          ],
          "dependent" : [
            {
              "name" : "SetObservationFullUrl",
              "parameter" : [
                {
                  "valueId" : "obs"
                },
                {
                  "valueId" : "entry"
                }
              ]
            }
          ]
        },
        {
          "name" : "entryRequest",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "entry",
              "element" : "request",
              "variable" : "request"
            }
          ],
          "rule" : [
            {
              "name" : "requestMethod",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "request",
                  "element" : "method",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "POST"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "requestUrl",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "request",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Observation"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "status",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "status",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "final"
                }
              ]
            }
          ]
        },
        {
          "name" : "subject",
          "source" : [
            {
              "context" : "qr",
              "element" : "subject",
              "variable" : "s"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "subject",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "s"
                }
              ]
            }
          ]
        },
        {
          "name" : "encounter",
          "source" : [
            {
              "context" : "qr",
              "element" : "encounter",
              "variable" : "e"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "encounter",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "e"
                }
              ]
            }
          ]
        },
        {
          "name" : "effective",
          "source" : [
            {
              "context" : "qr",
              "element" : "authored",
              "variable" : "t"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "effective",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "t"
                }
              ]
            }
          ]
        },
        {
          "name" : "performerFromSource",
          "source" : [
            {
              "context" : "qr",
              "element" : "source",
              "variable" : "src"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "performer",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "src"
                }
              ]
            }
          ]
        },
        {
          "name" : "performerFallback",
          "source" : [
            {
              "context" : "qr",
              "condition" : "source.exists().not()"
            }
          ],
          "rule" : [
            {
              "name" : "performerFromAuthor",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "author",
                  "variable" : "a"
                }
              ],
              "target" : [
                {
                  "context" : "obs",
                  "element" : "performer",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "a"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "linkQuestionnaireResponse",
          "source" : [
            {
              "context" : "qr",
              "element" : "id",
              "variable" : "qid",
              "condition" : "$this.hasValue()"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "derivedFrom",
              "variable" : "ref",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Reference"
                }
              ]
            },
            {
              "context" : "ref",
              "element" : "reference",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "qid"
                }
              ]
            }
          ],
          "documentation" : "A stored response's id already reads \"QuestionnaireResponse/<id>\", so it is\r\na relative reference as it stands. The hasValue() guard is what stops an\r\nunsaved response -- one posted straight to $extract rather than saved first\r\n-- from writing \"QuestionnaireResponse/null\" into the record."
        }
      ]
    },
    {
      "name" : "SetObservationFullUrl",
      "input" : [
        {
          "name" : "obs",
          "type" : "Observation",
          "mode" : "source"
        },
        {
          "name" : "entry",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "assignFullUrl",
          "source" : [
            {
              "context" : "obs",
              "element" : "id",
              "variable" : "id"
            }
          ],
          "target" : [
            {
              "context" : "entry",
              "element" : "fullUrl",
              "transform" : "append",
              "parameter" : [
                {
                  "valueString" : "https://fhir.slade360.co.ke/fhir/Observation/"
                },
                {
                  "valueId" : "id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetComponentCodedValue",
      "documentation" : "The two answer shapes a component can carry. Both read the answer through the\r\nuntyped `.value` accessor: reading `valueCoding` or `valueQuantity` by its\r\ntyped property name fails at transform time on HAPI R5 with \"Attempt to read\r\ninvalid property ... on QuestionnaireResponse.item.answer\".",
      "input" : [
        {
          "name" : "it",
          "mode" : "source"
        },
        {
          "name" : "comp",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "componentAnswer",
          "source" : [
            {
              "context" : "it",
              "element" : "answer",
              "listMode" : "first",
              "variable" : "a"
            }
          ],
          "rule" : [
            {
              "name" : "codedValue",
              "source" : [
                {
                  "context" : "a",
                  "element" : "value",
                  "variable" : "cv"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "value",
                  "variable" : "cc",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "CodeableConcept"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "valueCoding",
                  "source" : [
                    {
                      "context" : "cv"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "coding",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "cv"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "valueText",
                  "source" : [
                    {
                      "context" : "cv",
                      "element" : "display",
                      "variable" : "d"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cc",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "d"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetComponentValue",
      "input" : [
        {
          "name" : "it",
          "mode" : "source"
        },
        {
          "name" : "comp",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "componentAnswer",
          "source" : [
            {
              "context" : "it",
              "element" : "answer",
              "listMode" : "first",
              "variable" : "a"
            }
          ],
          "rule" : [
            {
              "name" : "plainValue",
              "source" : [
                {
                  "context" : "a",
                  "element" : "value",
                  "variable" : "v"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "value",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "v"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetSurveyCategory",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "obs",
          "type" : "Observation",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "category",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "category",
              "variable" : "cat"
            }
          ],
          "rule" : [
            {
              "name" : "categoryCoding",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "cat",
                  "element" : "coding",
                  "variable" : "coding"
                }
              ],
              "rule" : [
                {
                  "name" : "categorySystem",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "categoryCode",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "survey"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "categoryDisplay",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Survey"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetVitalSignsCategory",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "obs",
          "type" : "Observation",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "category",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "category",
              "variable" : "cat"
            }
          ],
          "rule" : [
            {
              "name" : "categoryCoding",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "cat",
                  "element" : "coding",
                  "variable" : "coding"
                }
              ],
              "rule" : [
                {
                  "name" : "categorySystem",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "categoryCode",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "vital-signs"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "categoryDisplay",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Vital Signs"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetLaboratoryCategory",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "obs",
          "type" : "Observation",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "category",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "category",
              "variable" : "cat"
            }
          ],
          "rule" : [
            {
              "name" : "categoryCoding",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "cat",
                  "element" : "coding",
                  "variable" : "coding"
                }
              ],
              "rule" : [
                {
                  "name" : "categorySystem",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "categoryCode",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "laboratory"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "categoryDisplay",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Laboratory"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetProcedureCategory",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "obs",
          "type" : "Observation",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "category",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "obs",
              "element" : "category",
              "variable" : "cat"
            }
          ],
          "rule" : [
            {
              "name" : "categoryCoding",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "cat",
                  "element" : "coding",
                  "variable" : "coding"
                }
              ],
              "rule" : [
                {
                  "name" : "categorySystem",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "categoryCode",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "procedure"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "categoryDisplay",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Procedure"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "BuildProcedureBase",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "r",
          "type" : "Procedure",
          "mode" : "target"
        },
        {
          "name" : "entry",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "responseProvenance",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "r"
            }
          ],
          "dependent" : [
            {
              "name" : "SetResponseProvenance",
              "parameter" : [
                {
                  "valueId" : "qr"
                },
                {
                  "valueId" : "r"
                }
              ]
            }
          ]
        },
        {
          "name" : "idAndFullUrl",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "r",
              "element" : "id",
              "transform" : "uuid"
            }
          ],
          "dependent" : [
            {
              "name" : "SetProcedureFullUrl",
              "parameter" : [
                {
                  "valueId" : "r"
                },
                {
                  "valueId" : "entry"
                }
              ]
            }
          ]
        },
        {
          "name" : "entryRequest",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "entry",
              "element" : "request",
              "variable" : "request"
            }
          ],
          "rule" : [
            {
              "name" : "requestMethod",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "request",
                  "element" : "method",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "POST"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "requestUrl",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "request",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Procedure"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "occurrenceFallback",
          "source" : [
            {
              "context" : "qr",
              "element" : "authored",
              "variable" : "t"
            }
          ],
          "target" : [
            {
              "context" : "r",
              "element" : "occurrence",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "t"
                }
              ]
            }
          ],
          "documentation" : "The response's own time, as a floor, the way BuildObsBase does it. A rule\r\nthat reads a time off the form overwrites this; without it a procedure whose\r\ndate column was taken off on review has no time at all, and a procedure with\r\nno time cannot be ordered against the rest of the admission."
        },
        {
          "name" : "subject",
          "source" : [
            {
              "context" : "qr",
              "element" : "subject",
              "variable" : "s"
            }
          ],
          "target" : [
            {
              "context" : "r",
              "element" : "subject",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "s"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetProcedureFullUrl",
      "input" : [
        {
          "name" : "r",
          "type" : "Procedure",
          "mode" : "source"
        },
        {
          "name" : "entry",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "assignFullUrl",
          "source" : [
            {
              "context" : "r",
              "element" : "id",
              "variable" : "id"
            }
          ],
          "target" : [
            {
              "context" : "entry",
              "element" : "fullUrl",
              "transform" : "append",
              "parameter" : [
                {
                  "valueString" : "https://fhir.slade360.co.ke/fhir/Procedure/"
                },
                {
                  "valueId" : "id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetResponseProvenance",
      "documentation" : "── Provenance and tenancy ───────────────────────────────────────────────────\r\nTwo tags on everything this map creates. The first says which questionnaire\r\nproduced it, so a form that reopens mid-admission recalls its own earlier\r\nentries and not another form's. The second copies the tenant tags off the\r\nresponse, because nothing else on the path puts them there.\r\nThe code is the form's document type, not the questionnaire's id: every\r\nenvironment mints its own ids, and there is only one set of maps, so an id\r\nhere would tie the tag to whichever environment stamped it.\r\n── Provenance and tenancy ───────────────────────────────────────────────────",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "r",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "provenanceMeta",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "r",
              "element" : "meta",
              "variable" : "m"
            }
          ],
          "rule" : [
            {
              "name" : "provenanceTag",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "m",
                  "element" : "tag",
                  "variable" : "t"
                }
              ],
              "rule" : [
                {
                  "name" : "provenanceSystem",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "t",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://slade360edi.com/questionnaire-provenance"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "provenanceCode",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "t",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "haemodialysis-session-record"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "provenanceDisplay",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "t",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Haemodialysis session record"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "tenantTags",
          "source" : [
            {
              "context" : "qr",
              "element" : "meta",
              "variable" : "qm"
            }
          ],
          "rule" : [
            {
              "name" : "copyTag",
              "source" : [
                {
                  "context" : "qm",
                  "element" : "tag",
                  "variable" : "qt"
                }
              ],
              "target" : [
                {
                  "context" : "r",
                  "element" : "meta",
                  "variable" : "m"
                },
                {
                  "context" : "m",
                  "element" : "tag",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "qt"
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "Every tag the response carries, onto the resource. `meta` is 0..1, so this\r\nlands on the same meta the rule above created rather than a second one."
        }
      ]
    }
  ]
}