{
  "resourceType" : "StructureMap",
  "id" : "ExtractChemotherapyPrescription",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap ExtractChemotherapyPrescription</b></p><a name=\"ExtractChemotherapyPrescription\"> </a><a name=\"hcExtractChemotherapyPrescription\"> </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/ExtractChemotherapyPrescription'</span>\r\n<span style=\"color: #cc00cc\">/// <b>name</b> = </span><span style=\"color: blue\">'ExtractChemotherapyPrescription'</span>\r\n<span style=\"color: #cc00cc\">/// <b>title</b> = </span><span style=\"color: blue\">'Chemotherapy Prescription 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 cycle out as: a MedicationRequest per cytotoxic drug and per named premedication, each carrying the drug as written because the hospital\\'s formulary is not coded and a guessed code on a cytotoxic is a dosing risk; a ServiceRequest per investigation the sheet makes mandatory before every cycle, so the requirement becomes an order the laboratory sees rather than a reminder on paper; the height, this cycle\\'s weight and the body surface area derived from them as Observations, because every dose on the sheet is calculated from that BSA and it has to be auditable; and the pre- and post-chemotherapy hydration as MedicationRequests of their own.'</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/medicationrequest.html\" title=\"MedicationRequest\">http://hl7.org/fhir/StructureDefinition/MedicationRequest</a><span style=\"color: navy\">&quot; </span><b>alias </b>MedicationRequest <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/servicerequest.html\" title=\"ServiceRequest\">http://hl7.org/fhir/StructureDefinition/ServiceRequest</a><span style=\"color: navy\">&quot; </span><b>alias </b>ServiceRequest <b>as </b><b>target</b>\r\n\r\n<b>group </b>ExtractChemotherapyPrescription<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 measurements every dose derives from ────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Height, this cycle's weight, and the body surface area between them. The</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BSA is extracted only when the client calculated it: the questionnaire</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">leaves the field read-only with a Mosteller calculatedExpression, and where</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">no engine ran it there is nothing to record. Recomputing it here would be</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">worse than leaving it out -- a BSA on the record that the prescriber never</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">saw is a number nobody checked the doses against.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'measurements'<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 = 'measurements/height') 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\">'8302-2'</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 height'</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    <span style=\"color: navy\">}</span> <i>&quot;measure_8302_2&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 = 'measurements/current-weight') 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\">'The weight this cycle was dosed on.'</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 = 'measurements/initial-weight') 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\">'The weight at the start of treatment, for comparison.'</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 = 'measurements/body-surface-area') 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>SetSurveyCategory<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\">'8277-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\">'Body surface area'</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\">'m2'</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\">'m2'</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\">'Calculated by the Mosteller formula from the height and this cycle\\'s weight. Every cytotoxic dose on the prescription derives from it. 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_8277_6&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;measurementsGroup&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── Staging and line of treatment ───────────────────────────────────────</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'context'<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 = 'context/line-of-treatment') 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>SetSurveyCategory<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\">'treatment-line'</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\">'Line of treatment'</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\">cv</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.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><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;coded_treatment_line&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 = 'context/cycle-number') 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>SetSurveyCategory<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\">'chemotherapy-cycle-number'</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\">'Cycle number'</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    <span style=\"color: navy\">}</span> <i>&quot;measure_chemotherapy_cycle_number&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 = 'context/stage') 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>SetSurveyCategory<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\">'chemotherapy-regimen'</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\">'Chemotherapy regimen'</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        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.text = <span style=\"color: blue\">'Cancer stage, as staged'</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      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;narr_chemotherapy_regimen&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 = 'context/protocol') 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>SetSurveyCategory<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\">'chemotherapy-regimen'</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\">'Chemotherapy regimen'</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\">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;narr_chemotherapy_regimen2&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 = 'context/immunohistochemistry') 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>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      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\">'11502-2'</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\">'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        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.text = <span style=\"color: blue\">'Immuno-histochemistry'</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      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;narr_11502_2&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;contextGroup&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The cytotoxic drugs ─────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">A MedicationRequest each. `status = 'draft'` deliberately: a chemotherapy</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">prescription is checked by a second clinician and reconstituted by pharmacy</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">before anything reaches the patient, and a cytotoxic order that arrives</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">'active' has skipped both. The oncology system moves it on.</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">`medication.concept.text` carries the drug as written. The hospital's</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">formulary is not coded, and a guessed RxNorm or ATC code on a cytotoxic is</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">the one place in this whole set where being wrong hurts a patient rather</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">than a report.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'chemotherapy-drug') and item.where(linkId = 'chemotherapy-drug/name').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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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>mr.status = <span style=\"color: blue\">'draft'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>mr.priority = <span style=\"color: blue\">'routine'</span> <i>&quot;priority&quot;</i><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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>mr.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      g<span style=\"color: navy\"><b> -&gt; </b></span>cat.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://terminology.hl7.org/CodeSystem/medicationrequest-admin-location'</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\">'outpatient'</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\">'Outpatient'</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;category&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 = 'chemotherapy-drug/name'<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> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: maroon\">txt</span> <i>&quot;medicationText&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;drugNameRule&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 = 'chemotherapy-drug/dose') and answer.value.ofType(Quantity).exists()<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\">v</span><span style=\"color: navy\"><b> -&gt; </b></span> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&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;doseRule&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 = 'chemotherapy-drug/route') and answer.value.exists()<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> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.route<b> as </b><span style=\"color: maroon\">rt</span><span style=\"color: navy\">, </span> rt.text = <span style=\"color: maroon\">txt</span> <i>&quot;routeText&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;routeRule&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">The prescribed dose per square metre, kept as written. It is the</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">provenance of the absolute dose above, and a pharmacist checking the</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">calculation needs both figures, not just the product.</span>\r\n    g.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'chemotherapy-drug/dose-per-bsa') and answer.value.exists()<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> mr.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;dosePerBsaNote&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;dosePerBsaRule&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Prescribed on the chemotherapy prescription sheet. Left as a draft for second-clinician check and pharmacy reconstitution.'</span> <i>&quot;provenanceNote&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;chemotherapyDrug&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The premedications ──────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Six named drugs with a milligram box each on the sheet, plus a repeating</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">&quot;other&quot; row. A MedicationRequest per drug that has a dose written against</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">it; a blank box means it was not prescribed, not that it was prescribed at</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">zero.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'premedication'<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 = 'premedication/ondansetron') and answer.value.ofType(Quantity).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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: blue\">'Ondansetron'</span> <i>&quot;medicationText&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> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Premedication, to be infused with the pre-chemotherapy hydration.'</span> <i>&quot;premedNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;premed_ondansetron&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;premedGrp&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'premedication'<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 = 'premedication/dexamethasone') and answer.value.ofType(Quantity).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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: blue\">'Dexamethasone'</span> <i>&quot;medicationText&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> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Premedication, to be infused with the pre-chemotherapy hydration.'</span> <i>&quot;premedNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;premed_dexamethasone&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;premedGrp2&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'premedication'<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 = 'premedication/plasil') and answer.value.ofType(Quantity).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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: blue\">'Plasil (metoclopramide)'</span> <i>&quot;medicationText&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> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Premedication, to be infused with the pre-chemotherapy hydration.'</span> <i>&quot;premedNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;premed_plasil&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;premedGrp3&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'premedication'<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 = 'premedication/omeprazole') and answer.value.ofType(Quantity).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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: blue\">'Omeprazole'</span> <i>&quot;medicationText&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> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Premedication, to be infused with the pre-chemotherapy hydration.'</span> <i>&quot;premedNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;premed_omeprazole&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;premedGrp4&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'premedication'<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 = 'premedication/piriton') and answer.value.ofType(Quantity).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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: blue\">'Piriton (chlorphenamine)'</span> <i>&quot;medicationText&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> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Premedication, to be infused with the pre-chemotherapy hydration.'</span> <i>&quot;premedNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;premed_piriton&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;premedGrp5&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'premedication'<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 = 'premedication/paracetamol') and answer.value.ofType(Quantity).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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: blue\">'Paracetamol'</span> <i>&quot;medicationText&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> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Premedication, to be infused with the pre-chemotherapy hydration.'</span> <i>&quot;premedNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;premed_paracetamol&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;premedGrp6&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">pg</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'premedication'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    pg.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'premedication/other') and item.where(linkId = 'premedication/other/name').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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      g<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&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 = 'premedication/other/name'<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> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: maroon\">txt</span> <i>&quot;medicationText&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;otherNameRule&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 = 'premedication/other/dose') and answer.value.ofType(Quantity).exists()<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\">v</span><span style=\"color: navy\"><b> -&gt; </b></span> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&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;otherDoseRule&quot;</i><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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      g<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Premedication, to be infused with the pre-chemotherapy hydration.'</span> <i>&quot;premedNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;otherPremedication&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;otherPremedicationGroup&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── Pre- and post-chemotherapy hydration ────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">MedicationRequests, because a litre of normal saline before a cisplatin is</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">as much part of the prescription as the cisplatin. Each carries a note</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">saying which side of the cytotoxic it goes, since both are the same fluid</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">in the same volume and nothing else would distinguish them.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'pre-hydration') and item.where(linkId = 'pre-hydration/fluid').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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&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 = 'pre-hydration/fluid'<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> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: maroon\">txt</span> <i>&quot;medicationText&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;fluidName&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 = 'pre-hydration/volume') and answer.value.ofType(Quantity).exists()<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\">v</span><span style=\"color: navy\"><b> -&gt; </b></span> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&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;fluidVolume&quot;</i><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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Pre-chemotherapy hydration.'</span> <i>&quot;hydrationNote&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;hydration_pre_hydration&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'post-hydration') and item.where(linkId = 'post-hydration/fluid').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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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>mr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&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 = 'post-hydration/fluid'<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> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: maroon\">txt</span> <i>&quot;medicationText&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;fluidName2&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 = 'post-hydration/volume') and answer.value.ofType(Quantity).exists()<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\">v</span><span style=\"color: navy\"><b> -&gt; </b></span> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.doseAndRate<b> as </b><span style=\"color: maroon\">dr</span><span style=\"color: navy\">, </span> dr.dose = <span style=\"color: maroon\">v</span> <i>&quot;doseQuantity&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;fluidVolume2&quot;</i><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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Post-chemotherapy hydration.'</span> <i>&quot;hydrationNote&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;hydration_post_hydration&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The mandatory pre-cycle investigations ──────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">ServiceRequests. The sheet says these are mandatory before every cycle; a</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">tick that stays on the form is a requirement nobody in the laboratory can</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">see, and a cycle given without them is exactly what the requirement exists</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">to prevent.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'pre-cycle-investigations'<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 = 'pre-cycle-investigations/fhg') and (answer.value.ofType(Coding).code = 'Y')<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\">'ServiceRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">sr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> sr<span style=\"color: navy\">, </span> entry<b> then </b>BuildServiceRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cat.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://snomed.info/sct'</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\">'108252007'</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\">'Laboratory procedure'</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;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.code<b> as </b><span style=\"color: maroon\">cr</span><span style=\"color: navy\">, </span> cr.concept<b> as </b><span style=\"color: maroon\">cc</span><span style=\"color: navy\">, </span> cc.text = <span style=\"color: blue\">'Full haemogram'</span> <i>&quot;codeText&quot;</i><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>sr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>sr.encounter = <span style=\"color: maroon\">e</span><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>sr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Mandatory before this cycle of chemotherapy.'</span> <i>&quot;mandatoryNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;precycle_fhg&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 = 'pre-cycle-investigations/uecs') and (answer.value.ofType(Coding).code = 'Y')<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\">'ServiceRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">sr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> sr<span style=\"color: navy\">, </span> entry<b> then </b>BuildServiceRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cat.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://snomed.info/sct'</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\">'108252007'</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\">'Laboratory procedure'</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;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.code<b> as </b><span style=\"color: maroon\">cr</span><span style=\"color: navy\">, </span> cr.concept<b> as </b><span style=\"color: maroon\">cc</span><span style=\"color: navy\">, </span> cc.text = <span style=\"color: blue\">'Urea, electrolytes and creatinine'</span> <i>&quot;codeText&quot;</i><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>sr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>sr.encounter = <span style=\"color: maroon\">e</span><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>sr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Mandatory before this cycle of chemotherapy.'</span> <i>&quot;mandatoryNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;precycle_uecs&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 = 'pre-cycle-investigations/lfts') and (answer.value.ofType(Coding).code = 'Y')<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\">'ServiceRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">sr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> sr<span style=\"color: navy\">, </span> entry<b> then </b>BuildServiceRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cat.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://snomed.info/sct'</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\">'108252007'</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\">'Laboratory procedure'</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;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.code<b> as </b><span style=\"color: maroon\">cr</span><span style=\"color: navy\">, </span> cr.concept<b> as </b><span style=\"color: maroon\">cc</span><span style=\"color: navy\">, </span> cc.text = <span style=\"color: blue\">'Liver function tests'</span> <i>&quot;codeText&quot;</i><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>sr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>sr.encounter = <span style=\"color: maroon\">e</span><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>sr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Mandatory before this cycle of chemotherapy.'</span> <i>&quot;mandatoryNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;precycle_lfts&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 = 'pre-cycle-investigations/psa') and (answer.value.ofType(Coding).code = 'Y')<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\">'ServiceRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">sr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> sr<span style=\"color: navy\">, </span> entry<b> then </b>BuildServiceRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cat.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://snomed.info/sct'</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\">'108252007'</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\">'Laboratory procedure'</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;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.code<b> as </b><span style=\"color: maroon\">cr</span><span style=\"color: navy\">, </span> cr.concept<b> as </b><span style=\"color: maroon\">cc</span><span style=\"color: navy\">, </span> cc.text = <span style=\"color: blue\">'PSA'</span> <i>&quot;codeText&quot;</i><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>sr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>sr.encounter = <span style=\"color: maroon\">e</span><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>sr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Mandatory before this cycle of chemotherapy.'</span> <i>&quot;mandatoryNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;precycle_psa&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 = 'pre-cycle-investigations/ca-marker') and (answer.value.ofType(Coding).code = 'Y')<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\">'ServiceRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">sr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> sr<span style=\"color: navy\">, </span> entry<b> then </b>BuildServiceRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cat.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://snomed.info/sct'</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\">'108252007'</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\">'Laboratory procedure'</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;category&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.code<b> as </b><span style=\"color: maroon\">cr</span><span style=\"color: navy\">, </span> cr.concept<b> as </b><span style=\"color: maroon\">cc</span><span style=\"color: navy\">, </span> cc.text = <span style=\"color: blue\">'CA tumour marker'</span> <i>&quot;codeText&quot;</i><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>sr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>sr.encounter = <span style=\"color: maroon\">e</span><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>sr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> sr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Mandatory before this cycle of chemotherapy.'</span> <i>&quot;mandatoryNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;precycle_ca_marker&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 = 'pre-cycle-investigations/imaging') 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\">'ServiceRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">sr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> sr<span style=\"color: navy\">, </span> entry<b> then </b>BuildServiceRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sr</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      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sr.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>cat.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://snomed.info/sct'</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\">'363679005'</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\">'Imaging'</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;category&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\">txt</span><span style=\"color: navy\"><b> -&gt; </b></span> sr.code<b> as </b><span style=\"color: maroon\">cr</span><span style=\"color: navy\">, </span> cr.concept<b> as </b><span style=\"color: maroon\">cc</span><span style=\"color: navy\">, </span> cc.text = <span style=\"color: maroon\">txt</span> <i>&quot;codeText&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</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>sr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>sr.encounter = <span style=\"color: maroon\">e</span><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>sr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;imagingOrder&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 = 'pre-cycle-investigations/other'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it.answer<b> as </b><span style=\"color: maroon\">a</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\">'ServiceRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">sr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> sr<span style=\"color: navy\">, </span> entry<b> then </b>BuildServiceRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sr</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        a<span style=\"color: navy\"><b> -&gt; </b></span>sr.status = <span style=\"color: blue\">'active'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n        a<span style=\"color: navy\"><b> -&gt; </b></span>sr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&quot;</i><span style=\"color: navy\">;</span>\r\n        a<span style=\"color: navy\"><b> -&gt; </b></span>sr.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          a<span style=\"color: navy\"><b> -&gt; </b></span>cat.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            a<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            a<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'108252007'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n            a<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Laboratory procedure'</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;category&quot;</i><span style=\"color: navy\">;</span>\r\n        a.value<b> as </b><span style=\"color: maroon\">txt</span><span style=\"color: navy\"><b> -&gt; </b></span> sr.code<b> as </b><span style=\"color: maroon\">cr</span><span style=\"color: navy\">, </span> cr.concept<b> as </b><span style=\"color: maroon\">cc</span><span style=\"color: navy\">, </span> cc.text = <span style=\"color: maroon\">txt</span> <i>&quot;codeText&quot;</i><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>sr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>sr.encounter = <span style=\"color: maroon\">e</span><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>sr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;createOtherOrder&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;otherInvestigations&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;preCycleGroup&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── Post-chemotherapy treatment ─────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">The four numbered lines at the foot of the sheet. MedicationRequests, since</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">that is what they are in practice -- antiemetics and growth factor to take</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">home -- but with `status = 'draft'` and no dose parsed out of the free</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">text, because the sheet writes them as one line each.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'post-chemo-treatment') and item.where(linkId = 'post-chemo-treatment/name').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\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> mr<span style=\"color: navy\">, </span> entry<b> then </b>BuildMedicationRequestBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mr</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>mr.status = <span style=\"color: blue\">'draft'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span>mr.intent = <span style=\"color: blue\">'order'</span> <i>&quot;intent&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 = 'post-chemo-treatment/name'<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> mr.medication<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> med.concept<b> as </b><span style=\"color: maroon\">mc</span><span style=\"color: navy\">, </span> mc.text = <span style=\"color: maroon\">txt</span> <i>&quot;medicationText&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;postNameRule&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 = 'post-chemo-treatment/detail') and answer.value.exists()<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> mr.dosageInstruction<b> as </b><span style=\"color: maroon\">di</span><span style=\"color: navy\">, </span> di.text = <span style=\"color: maroon\">txt</span> <i>&quot;dosageText&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;postDetailRule&quot;</i><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>mr.authoredOn = <span style=\"color: maroon\">t</span> <i>&quot;authoredOn&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>mr.encounter = <span style=\"color: maroon\">e</span><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>mr.requester = <span style=\"color: maroon\">src</span> <i>&quot;requester&quot;</i><span style=\"color: navy\">;</span>\r\n    g<span style=\"color: navy\"><b> -&gt; </b></span> mr.note<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> n.text = <span style=\"color: blue\">'Post-chemotherapy treatment written on the prescription sheet. Left as a draft: the sheet gives no dose or frequency to parse.'</span> <i>&quot;provenanceNote&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;postChemoTreatment&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── Diagnosis ───────────────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Not a Condition. A patient on cycle four already has a coded cancer on the</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">problem list, and creating a new Condition from every cycle's prescription</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">sheet would put four of them there by the end of treatment. The diagnosis</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">travels as a note on the regimen Observation instead.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'context'<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 = 'context/diagnosis') 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>SetSurveyCategory<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\">'chemotherapy-regimen'</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\">'Chemotherapy regimen'</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        it<span style=\"color: navy\"><b> -&gt; </b></span>cc.text = <span style=\"color: blue\">'Diagnosis this cycle was prescribed for'</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      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;diagnosisObservation&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;diagnosisGroup&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>BuildMedicationRequestBase<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>MedicationRequest, <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>SetMedicationRequestFullUrl<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\">'MedicationRequest'</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.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>SetMedicationRequestFullUrl<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\"> : </span>MedicationRequest, <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/MedicationRequest/'</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><b>group </b>BuildServiceRequestBase<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>ServiceRequest, <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>SetServiceRequestFullUrl<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\">'ServiceRequest'</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.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>SetServiceRequestFullUrl<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\"> : </span>ServiceRequest, <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/ServiceRequest/'</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\">'chemotherapy-prescription'</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\">'Chemotherapy prescription'</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/ExtractChemotherapyPrescription",
  "version" : "0.1.0",
  "name" : "ExtractChemotherapyPrescription",
  "title" : "Chemotherapy Prescription 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 cycle out as: a MedicationRequest per cytotoxic drug and per named premedication, each carrying the drug as written because the hospital's formulary is not coded and a guessed code on a cytotoxic is a dosing risk; a ServiceRequest per investigation the sheet makes mandatory before every cycle, so the requirement becomes an order the laboratory sees rather than a reminder on paper; the height, this cycle's weight and the body surface area derived from them as Observations, because every dose on the sheet is calculated from that BSA and it has to be auditable; and the pre- and post-chemotherapy hydration as MedicationRequests of their own.",
  "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/MedicationRequest",
    "mode" : "target",
    "alias" : "MedicationRequest"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/ServiceRequest",
    "mode" : "target",
    "alias" : "ServiceRequest"
  }],
  "group" : [{
    "name" : "ExtractChemotherapyPrescription",
    "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" : "measurementsGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'measurements'"
      }],
      "rule" : [{
        "name" : "measure_8302_2",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'measurements/height') 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" : "8302-2"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Body height"
                }]
              }]
            }]
          }]
        },
        {
          "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" : "measure_29463_7",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'measurements/current-weight') 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" : "The weight this cycle was dosed on."
            }]
          }]
        }]
      },
      {
        "name" : "measure_29463_72",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'measurements/initial-weight') 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" : "The weight at the start of treatment, for comparison."
            }]
          }]
        }]
      },
      {
        "name" : "measureq_8277_6",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'measurements/body-surface-area') 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" : "SetSurveyCategory",
            "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" : "8277-6"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Body surface area"
                }]
              }]
            }]
          }]
        },
        {
          "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" : "m2"
                }]
              }]
            },
            {
              "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" : "m2"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "note",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "obs",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Calculated by the Mosteller formula from the height and this cycle's weight. Every cytotoxic dose on the prescription derives from it. The unit is attached by the extraction map."
            }]
          }]
        }]
      }],
      "documentation" : "── The measurements every dose derives from ────────────────────────────\r\nHeight, this cycle's weight, and the body surface area between them. The\r\nBSA is extracted only when the client calculated it: the questionnaire\r\nleaves the field read-only with a Mosteller calculatedExpression, and where\r\nno engine ran it there is nothing to record. Recomputing it here would be\r\nworse than leaving it out -- a BSA on the record that the prescriber never\r\nsaw is a number nobody checked the doses against."
    },
    {
      "name" : "contextGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'context'"
      }],
      "rule" : [{
        "name" : "coded_treatment_line",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'context/line-of-treatment') 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" : "SetSurveyCategory",
            "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" : "treatment-line"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Line of treatment"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "codedValue",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "cv"
            }],
            "target" : [{
              "context" : "obs",
              "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" : "measure_chemotherapy_cycle_number",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'context/cycle-number') 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" : "SetSurveyCategory",
            "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" : "chemotherapy-cycle-number"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Cycle number"
                }]
              }]
            }]
          }]
        },
        {
          "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" : "narr_chemotherapy_regimen",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'context/stage') 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" : "SetSurveyCategory",
            "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" : "chemotherapy-regimen"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Chemotherapy regimen"
                }]
              }]
            }]
          },
          {
            "name" : "codeText",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "Cancer stage, as staged"
              }]
            }]
          }]
        },
        {
          "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"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "narr_chemotherapy_regimen2",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'context/protocol') 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" : "SetSurveyCategory",
            "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" : "chemotherapy-regimen"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Chemotherapy regimen"
                }]
              }]
            }]
          }]
        },
        {
          "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"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "narr_11502_2",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'context/immunohistochemistry') 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" : "SetLaboratoryCategory",
            "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" : "11502-2"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Laboratory report"
                }]
              }]
            }]
          },
          {
            "name" : "codeText",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "Immuno-histochemistry"
              }]
            }]
          }]
        },
        {
          "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" : "── Staging and line of treatment ───────────────────────────────────────"
    },
    {
      "name" : "chemotherapyDrug",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "(linkId = 'chemotherapy-drug') and item.where(linkId = 'chemotherapy-drug/name').answer.value.exists()"
      }],
      "target" : [{
        "context" : "bundle",
        "element" : "entry",
        "variable" : "entry"
      },
      {
        "context" : "entry",
        "element" : "resource",
        "variable" : "mr",
        "transform" : "create",
        "parameter" : [{
          "valueString" : "MedicationRequest"
        }]
      }],
      "rule" : [{
        "name" : "base",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "mr"
        },
        {
          "context" : "entry"
        }],
        "dependent" : [{
          "name" : "BuildMedicationRequestBase",
          "parameter" : [{
            "valueId" : "qr"
          },
          {
            "valueId" : "mr"
          },
          {
            "valueId" : "entry"
          }]
        }]
      },
      {
        "name" : "status",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "status",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "draft"
          }]
        }]
      },
      {
        "name" : "intent",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "intent",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "order"
          }]
        }]
      },
      {
        "name" : "priority",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "priority",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "routine"
          }]
        }]
      },
      {
        "name" : "authoredOn",
        "source" : [{
          "context" : "qr",
          "element" : "authored",
          "variable" : "t"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "authoredOn",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "t"
          }]
        }]
      },
      {
        "name" : "encounter",
        "source" : [{
          "context" : "qr",
          "element" : "encounter",
          "variable" : "e"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "encounter",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "e"
          }]
        }]
      },
      {
        "name" : "requester",
        "source" : [{
          "context" : "qr",
          "element" : "source",
          "variable" : "src"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "requester",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "src"
          }]
        }]
      },
      {
        "name" : "category",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "category",
          "variable" : "cat"
        }],
        "rule" : [{
          "name" : "coding",
          "source" : [{
            "context" : "g"
          }],
          "target" : [{
            "context" : "cat",
            "element" : "coding",
            "variable" : "cg"
          }],
          "rule" : [{
            "name" : "sys",
            "source" : [{
              "context" : "g"
            }],
            "target" : [{
              "context" : "cg",
              "element" : "system",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "http://terminology.hl7.org/CodeSystem/medicationrequest-admin-location"
              }]
            }]
          },
          {
            "name" : "cd",
            "source" : [{
              "context" : "g"
            }],
            "target" : [{
              "context" : "cg",
              "element" : "code",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "outpatient"
              }]
            }]
          },
          {
            "name" : "dsp",
            "source" : [{
              "context" : "g"
            }],
            "target" : [{
              "context" : "cg",
              "element" : "display",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "Outpatient"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "drugNameRule",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "linkId = 'chemotherapy-drug/name'"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "medicationText",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "medication",
              "variable" : "med"
            },
            {
              "context" : "med",
              "element" : "concept",
              "variable" : "mc"
            },
            {
              "context" : "mc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "doseRule",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'chemotherapy-drug/dose') and answer.value.ofType(Quantity).exists()"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "routeRule",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'chemotherapy-drug/route') and answer.value.exists()"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "routeText",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "route",
              "variable" : "rt"
            },
            {
              "context" : "rt",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "dosePerBsaRule",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'chemotherapy-drug/dose-per-bsa') and answer.value.exists()"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "dosePerBsaNote",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "note",
              "variable" : "n"
            },
            {
              "context" : "n",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          }]
        }],
        "documentation" : "The prescribed dose per square metre, kept as written. It is the\r\nprovenance of the absolute dose above, and a pharmacist checking the\r\ncalculation needs both figures, not just the product."
      },
      {
        "name" : "provenanceNote",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "note",
          "variable" : "n"
        },
        {
          "context" : "n",
          "element" : "text",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "Prescribed on the chemotherapy prescription sheet. Left as a draft for second-clinician check and pharmacy reconstitution."
          }]
        }]
      }],
      "documentation" : "── The cytotoxic drugs ─────────────────────────────────────────────────\r\nA MedicationRequest each. `status = 'draft'` deliberately: a chemotherapy\r\nprescription is checked by a second clinician and reconstituted by pharmacy\r\nbefore anything reaches the patient, and a cytotoxic order that arrives\r\n'active' has skipped both. The oncology system moves it on.\r\n`medication.concept.text` carries the drug as written. The hospital's\r\nformulary is not coded, and a guessed RxNorm or ATC code on a cytotoxic is\r\nthe one place in this whole set where being wrong hurts a patient rather\r\nthan a report."
    },
    {
      "name" : "premedGrp",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'premedication'"
      }],
      "rule" : [{
        "name" : "premed_ondansetron",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'premedication/ondansetron') and answer.value.ofType(Quantity).exists()"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "mr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "MedicationRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "mr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildMedicationRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "mr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "medicationText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "medication",
            "variable" : "med"
          },
          {
            "context" : "med",
            "element" : "concept",
            "variable" : "mc"
          },
          {
            "context" : "mc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Ondansetron"
            }]
          }]
        },
        {
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "premedNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Premedication, to be infused with the pre-chemotherapy hydration."
            }]
          }]
        }]
      }],
      "documentation" : "── The premedications ──────────────────────────────────────────────────\r\nSix named drugs with a milligram box each on the sheet, plus a repeating\r\n\"other\" row. A MedicationRequest per drug that has a dose written against\r\nit; a blank box means it was not prescribed, not that it was prescribed at\r\nzero."
    },
    {
      "name" : "premedGrp2",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'premedication'"
      }],
      "rule" : [{
        "name" : "premed_dexamethasone",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'premedication/dexamethasone') and answer.value.ofType(Quantity).exists()"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "mr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "MedicationRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "mr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildMedicationRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "mr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "medicationText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "medication",
            "variable" : "med"
          },
          {
            "context" : "med",
            "element" : "concept",
            "variable" : "mc"
          },
          {
            "context" : "mc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Dexamethasone"
            }]
          }]
        },
        {
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "premedNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Premedication, to be infused with the pre-chemotherapy hydration."
            }]
          }]
        }]
      }]
    },
    {
      "name" : "premedGrp3",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'premedication'"
      }],
      "rule" : [{
        "name" : "premed_plasil",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'premedication/plasil') and answer.value.ofType(Quantity).exists()"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "mr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "MedicationRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "mr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildMedicationRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "mr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "medicationText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "medication",
            "variable" : "med"
          },
          {
            "context" : "med",
            "element" : "concept",
            "variable" : "mc"
          },
          {
            "context" : "mc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Plasil (metoclopramide)"
            }]
          }]
        },
        {
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "premedNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Premedication, to be infused with the pre-chemotherapy hydration."
            }]
          }]
        }]
      }]
    },
    {
      "name" : "premedGrp4",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'premedication'"
      }],
      "rule" : [{
        "name" : "premed_omeprazole",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'premedication/omeprazole') and answer.value.ofType(Quantity).exists()"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "mr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "MedicationRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "mr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildMedicationRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "mr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "medicationText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "medication",
            "variable" : "med"
          },
          {
            "context" : "med",
            "element" : "concept",
            "variable" : "mc"
          },
          {
            "context" : "mc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Omeprazole"
            }]
          }]
        },
        {
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "premedNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Premedication, to be infused with the pre-chemotherapy hydration."
            }]
          }]
        }]
      }]
    },
    {
      "name" : "premedGrp5",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'premedication'"
      }],
      "rule" : [{
        "name" : "premed_piriton",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'premedication/piriton') and answer.value.ofType(Quantity).exists()"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "mr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "MedicationRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "mr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildMedicationRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "mr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "medicationText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "medication",
            "variable" : "med"
          },
          {
            "context" : "med",
            "element" : "concept",
            "variable" : "mc"
          },
          {
            "context" : "mc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Piriton (chlorphenamine)"
            }]
          }]
        },
        {
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "premedNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Premedication, to be infused with the pre-chemotherapy hydration."
            }]
          }]
        }]
      }]
    },
    {
      "name" : "premedGrp6",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'premedication'"
      }],
      "rule" : [{
        "name" : "premed_paracetamol",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'premedication/paracetamol') and answer.value.ofType(Quantity).exists()"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "mr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "MedicationRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "mr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildMedicationRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "mr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "medicationText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "medication",
            "variable" : "med"
          },
          {
            "context" : "med",
            "element" : "concept",
            "variable" : "mc"
          },
          {
            "context" : "mc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Paracetamol"
            }]
          }]
        },
        {
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "premedNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Premedication, to be infused with the pre-chemotherapy hydration."
            }]
          }]
        }]
      }]
    },
    {
      "name" : "otherPremedicationGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "pg",
        "condition" : "linkId = 'premedication'"
      }],
      "rule" : [{
        "name" : "otherPremedication",
        "source" : [{
          "context" : "pg",
          "element" : "item",
          "variable" : "g",
          "condition" : "(linkId = 'premedication/other') and item.where(linkId = 'premedication/other/name').answer.value.exists()"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "mr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "MedicationRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "mr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildMedicationRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "mr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "g"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "g"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "otherNameRule",
          "source" : [{
            "context" : "g",
            "element" : "item",
            "variable" : "it",
            "condition" : "linkId = 'premedication/other/name'"
          }],
          "rule" : [{
            "name" : "answer",
            "source" : [{
              "context" : "it",
              "element" : "answer",
              "listMode" : "first",
              "variable" : "a"
            }],
            "rule" : [{
              "name" : "medicationText",
              "source" : [{
                "context" : "a",
                "element" : "value",
                "variable" : "txt"
              }],
              "target" : [{
                "context" : "mr",
                "element" : "medication",
                "variable" : "med"
              },
              {
                "context" : "med",
                "element" : "concept",
                "variable" : "mc"
              },
              {
                "context" : "mc",
                "element" : "text",
                "transform" : "copy",
                "parameter" : [{
                  "valueId" : "txt"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "otherDoseRule",
          "source" : [{
            "context" : "g",
            "element" : "item",
            "variable" : "it",
            "condition" : "(linkId = 'premedication/other/dose') and answer.value.ofType(Quantity).exists()"
          }],
          "rule" : [{
            "name" : "answer",
            "source" : [{
              "context" : "it",
              "element" : "answer",
              "listMode" : "first",
              "variable" : "a"
            }],
            "rule" : [{
              "name" : "doseQuantity",
              "source" : [{
                "context" : "a",
                "element" : "value",
                "variable" : "v"
              }],
              "target" : [{
                "context" : "mr",
                "element" : "dosageInstruction",
                "variable" : "di"
              },
              {
                "context" : "di",
                "element" : "doseAndRate",
                "variable" : "dr"
              },
              {
                "context" : "dr",
                "element" : "dose",
                "transform" : "copy",
                "parameter" : [{
                  "valueId" : "v"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "premedNote",
          "source" : [{
            "context" : "g"
          }],
          "target" : [{
            "context" : "mr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Premedication, to be infused with the pre-chemotherapy hydration."
            }]
          }]
        }]
      }]
    },
    {
      "name" : "hydration_pre_hydration",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "(linkId = 'pre-hydration') and item.where(linkId = 'pre-hydration/fluid').answer.value.exists()"
      }],
      "target" : [{
        "context" : "bundle",
        "element" : "entry",
        "variable" : "entry"
      },
      {
        "context" : "entry",
        "element" : "resource",
        "variable" : "mr",
        "transform" : "create",
        "parameter" : [{
          "valueString" : "MedicationRequest"
        }]
      }],
      "rule" : [{
        "name" : "base",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "mr"
        },
        {
          "context" : "entry"
        }],
        "dependent" : [{
          "name" : "BuildMedicationRequestBase",
          "parameter" : [{
            "valueId" : "qr"
          },
          {
            "valueId" : "mr"
          },
          {
            "valueId" : "entry"
          }]
        }]
      },
      {
        "name" : "status",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "status",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "active"
          }]
        }]
      },
      {
        "name" : "intent",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "intent",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "order"
          }]
        }]
      },
      {
        "name" : "fluidName",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "linkId = 'pre-hydration/fluid'"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "medicationText",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "medication",
              "variable" : "med"
            },
            {
              "context" : "med",
              "element" : "concept",
              "variable" : "mc"
            },
            {
              "context" : "mc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "fluidVolume",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'pre-hydration/volume') and answer.value.ofType(Quantity).exists()"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "authoredOn",
        "source" : [{
          "context" : "qr",
          "element" : "authored",
          "variable" : "t"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "authoredOn",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "t"
          }]
        }]
      },
      {
        "name" : "encounter",
        "source" : [{
          "context" : "qr",
          "element" : "encounter",
          "variable" : "e"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "encounter",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "e"
          }]
        }]
      },
      {
        "name" : "requester",
        "source" : [{
          "context" : "qr",
          "element" : "source",
          "variable" : "src"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "requester",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "src"
          }]
        }]
      },
      {
        "name" : "hydrationNote",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "note",
          "variable" : "n"
        },
        {
          "context" : "n",
          "element" : "text",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "Pre-chemotherapy hydration."
          }]
        }]
      }],
      "documentation" : "── Pre- and post-chemotherapy hydration ────────────────────────────────\r\nMedicationRequests, because a litre of normal saline before a cisplatin is\r\nas much part of the prescription as the cisplatin. Each carries a note\r\nsaying which side of the cytotoxic it goes, since both are the same fluid\r\nin the same volume and nothing else would distinguish them."
    },
    {
      "name" : "hydration_post_hydration",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "(linkId = 'post-hydration') and item.where(linkId = 'post-hydration/fluid').answer.value.exists()"
      }],
      "target" : [{
        "context" : "bundle",
        "element" : "entry",
        "variable" : "entry"
      },
      {
        "context" : "entry",
        "element" : "resource",
        "variable" : "mr",
        "transform" : "create",
        "parameter" : [{
          "valueString" : "MedicationRequest"
        }]
      }],
      "rule" : [{
        "name" : "base",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "mr"
        },
        {
          "context" : "entry"
        }],
        "dependent" : [{
          "name" : "BuildMedicationRequestBase",
          "parameter" : [{
            "valueId" : "qr"
          },
          {
            "valueId" : "mr"
          },
          {
            "valueId" : "entry"
          }]
        }]
      },
      {
        "name" : "status",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "status",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "active"
          }]
        }]
      },
      {
        "name" : "intent",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "intent",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "order"
          }]
        }]
      },
      {
        "name" : "fluidName2",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "linkId = 'post-hydration/fluid'"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "medicationText",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "medication",
              "variable" : "med"
            },
            {
              "context" : "med",
              "element" : "concept",
              "variable" : "mc"
            },
            {
              "context" : "mc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "fluidVolume2",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'post-hydration/volume') and answer.value.ofType(Quantity).exists()"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "doseQuantity",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "v"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "doseAndRate",
              "variable" : "dr"
            },
            {
              "context" : "dr",
              "element" : "dose",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "v"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "authoredOn",
        "source" : [{
          "context" : "qr",
          "element" : "authored",
          "variable" : "t"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "authoredOn",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "t"
          }]
        }]
      },
      {
        "name" : "encounter",
        "source" : [{
          "context" : "qr",
          "element" : "encounter",
          "variable" : "e"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "encounter",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "e"
          }]
        }]
      },
      {
        "name" : "requester",
        "source" : [{
          "context" : "qr",
          "element" : "source",
          "variable" : "src"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "requester",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "src"
          }]
        }]
      },
      {
        "name" : "hydrationNote",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "note",
          "variable" : "n"
        },
        {
          "context" : "n",
          "element" : "text",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "Post-chemotherapy hydration."
          }]
        }]
      }]
    },
    {
      "name" : "preCycleGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'pre-cycle-investigations'"
      }],
      "rule" : [{
        "name" : "precycle_fhg",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'pre-cycle-investigations/fhg') and (answer.value.ofType(Coding).code = 'Y')"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "sr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "ServiceRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "sr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildServiceRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "sr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "category",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "category",
            "variable" : "cat"
          }],
          "rule" : [{
            "name" : "coding",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cat",
              "element" : "coding",
              "variable" : "cg"
            }],
            "rule" : [{
              "name" : "sys",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "system",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "http://snomed.info/sct"
                }]
              }]
            },
            {
              "name" : "cd",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "code",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "108252007"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Laboratory procedure"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "codeText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "code",
            "variable" : "cr"
          },
          {
            "context" : "cr",
            "element" : "concept",
            "variable" : "cc"
          },
          {
            "context" : "cc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Full haemogram"
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "mandatoryNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Mandatory before this cycle of chemotherapy."
            }]
          }]
        }]
      },
      {
        "name" : "precycle_uecs",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'pre-cycle-investigations/uecs') and (answer.value.ofType(Coding).code = 'Y')"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "sr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "ServiceRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "sr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildServiceRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "sr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "category",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "category",
            "variable" : "cat"
          }],
          "rule" : [{
            "name" : "coding",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cat",
              "element" : "coding",
              "variable" : "cg"
            }],
            "rule" : [{
              "name" : "sys",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "system",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "http://snomed.info/sct"
                }]
              }]
            },
            {
              "name" : "cd",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "code",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "108252007"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Laboratory procedure"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "codeText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "code",
            "variable" : "cr"
          },
          {
            "context" : "cr",
            "element" : "concept",
            "variable" : "cc"
          },
          {
            "context" : "cc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Urea, electrolytes and creatinine"
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "mandatoryNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Mandatory before this cycle of chemotherapy."
            }]
          }]
        }]
      },
      {
        "name" : "precycle_lfts",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'pre-cycle-investigations/lfts') and (answer.value.ofType(Coding).code = 'Y')"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "sr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "ServiceRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "sr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildServiceRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "sr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "category",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "category",
            "variable" : "cat"
          }],
          "rule" : [{
            "name" : "coding",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cat",
              "element" : "coding",
              "variable" : "cg"
            }],
            "rule" : [{
              "name" : "sys",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "system",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "http://snomed.info/sct"
                }]
              }]
            },
            {
              "name" : "cd",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "code",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "108252007"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Laboratory procedure"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "codeText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "code",
            "variable" : "cr"
          },
          {
            "context" : "cr",
            "element" : "concept",
            "variable" : "cc"
          },
          {
            "context" : "cc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Liver function tests"
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "mandatoryNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Mandatory before this cycle of chemotherapy."
            }]
          }]
        }]
      },
      {
        "name" : "precycle_psa",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'pre-cycle-investigations/psa') and (answer.value.ofType(Coding).code = 'Y')"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "sr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "ServiceRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "sr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildServiceRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "sr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "category",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "category",
            "variable" : "cat"
          }],
          "rule" : [{
            "name" : "coding",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cat",
              "element" : "coding",
              "variable" : "cg"
            }],
            "rule" : [{
              "name" : "sys",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "system",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "http://snomed.info/sct"
                }]
              }]
            },
            {
              "name" : "cd",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "code",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "108252007"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Laboratory procedure"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "codeText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "code",
            "variable" : "cr"
          },
          {
            "context" : "cr",
            "element" : "concept",
            "variable" : "cc"
          },
          {
            "context" : "cc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "PSA"
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "mandatoryNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Mandatory before this cycle of chemotherapy."
            }]
          }]
        }]
      },
      {
        "name" : "precycle_ca_marker",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'pre-cycle-investigations/ca-marker') and (answer.value.ofType(Coding).code = 'Y')"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "sr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "ServiceRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "sr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildServiceRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "sr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "category",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "category",
            "variable" : "cat"
          }],
          "rule" : [{
            "name" : "coding",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cat",
              "element" : "coding",
              "variable" : "cg"
            }],
            "rule" : [{
              "name" : "sys",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "system",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "http://snomed.info/sct"
                }]
              }]
            },
            {
              "name" : "cd",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "code",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "108252007"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Laboratory procedure"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "codeText",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "code",
            "variable" : "cr"
          },
          {
            "context" : "cr",
            "element" : "concept",
            "variable" : "cc"
          },
          {
            "context" : "cc",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "CA tumour marker"
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        },
        {
          "name" : "mandatoryNote",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "note",
            "variable" : "n"
          },
          {
            "context" : "n",
            "element" : "text",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Mandatory before this cycle of chemotherapy."
            }]
          }]
        }]
      },
      {
        "name" : "imagingOrder",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'pre-cycle-investigations/imaging') and answer.value.exists()"
        }],
        "target" : [{
          "context" : "bundle",
          "element" : "entry",
          "variable" : "entry"
        },
        {
          "context" : "entry",
          "element" : "resource",
          "variable" : "sr",
          "transform" : "create",
          "parameter" : [{
            "valueString" : "ServiceRequest"
          }]
        }],
        "rule" : [{
          "name" : "base",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "sr"
          },
          {
            "context" : "entry"
          }],
          "dependent" : [{
            "name" : "BuildServiceRequestBase",
            "parameter" : [{
              "valueId" : "qr"
            },
            {
              "valueId" : "sr"
            },
            {
              "valueId" : "entry"
            }]
          }]
        },
        {
          "name" : "status",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "status",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "active"
            }]
          }]
        },
        {
          "name" : "intent",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "intent",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "order"
            }]
          }]
        },
        {
          "name" : "category",
          "source" : [{
            "context" : "it"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "category",
            "variable" : "cat"
          }],
          "rule" : [{
            "name" : "coding",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cat",
              "element" : "coding",
              "variable" : "cg"
            }],
            "rule" : [{
              "name" : "sys",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "system",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "http://snomed.info/sct"
                }]
              }]
            },
            {
              "name" : "cd",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "code",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "363679005"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Imaging"
                }]
              }]
            }]
          }]
        },
        {
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "codeText",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "sr",
              "element" : "code",
              "variable" : "cr"
            },
            {
              "context" : "cr",
              "element" : "concept",
              "variable" : "cc"
            },
            {
              "context" : "cc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          }]
        },
        {
          "name" : "authoredOn",
          "source" : [{
            "context" : "qr",
            "element" : "authored",
            "variable" : "t"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "authoredOn",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "t"
            }]
          }]
        },
        {
          "name" : "encounter",
          "source" : [{
            "context" : "qr",
            "element" : "encounter",
            "variable" : "e"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "encounter",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "e"
            }]
          }]
        },
        {
          "name" : "requester",
          "source" : [{
            "context" : "qr",
            "element" : "source",
            "variable" : "src"
          }],
          "target" : [{
            "context" : "sr",
            "element" : "requester",
            "transform" : "copy",
            "parameter" : [{
              "valueId" : "src"
            }]
          }]
        }]
      },
      {
        "name" : "otherInvestigations",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "linkId = 'pre-cycle-investigations/other'"
        }],
        "rule" : [{
          "name" : "createOtherOrder",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "variable" : "a"
          }],
          "target" : [{
            "context" : "bundle",
            "element" : "entry",
            "variable" : "entry"
          },
          {
            "context" : "entry",
            "element" : "resource",
            "variable" : "sr",
            "transform" : "create",
            "parameter" : [{
              "valueString" : "ServiceRequest"
            }]
          }],
          "rule" : [{
            "name" : "base",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "sr"
            },
            {
              "context" : "entry"
            }],
            "dependent" : [{
              "name" : "BuildServiceRequestBase",
              "parameter" : [{
                "valueId" : "qr"
              },
              {
                "valueId" : "sr"
              },
              {
                "valueId" : "entry"
              }]
            }]
          },
          {
            "name" : "status",
            "source" : [{
              "context" : "a"
            }],
            "target" : [{
              "context" : "sr",
              "element" : "status",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "active"
              }]
            }]
          },
          {
            "name" : "intent",
            "source" : [{
              "context" : "a"
            }],
            "target" : [{
              "context" : "sr",
              "element" : "intent",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "order"
              }]
            }]
          },
          {
            "name" : "category",
            "source" : [{
              "context" : "a"
            }],
            "target" : [{
              "context" : "sr",
              "element" : "category",
              "variable" : "cat"
            }],
            "rule" : [{
              "name" : "coding",
              "source" : [{
                "context" : "a"
              }],
              "target" : [{
                "context" : "cat",
                "element" : "coding",
                "variable" : "cg"
              }],
              "rule" : [{
                "name" : "sys",
                "source" : [{
                  "context" : "a"
                }],
                "target" : [{
                  "context" : "cg",
                  "element" : "system",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "http://snomed.info/sct"
                  }]
                }]
              },
              {
                "name" : "cd",
                "source" : [{
                  "context" : "a"
                }],
                "target" : [{
                  "context" : "cg",
                  "element" : "code",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "108252007"
                  }]
                }]
              },
              {
                "name" : "dsp",
                "source" : [{
                  "context" : "a"
                }],
                "target" : [{
                  "context" : "cg",
                  "element" : "display",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Laboratory procedure"
                  }]
                }]
              }]
            }]
          },
          {
            "name" : "codeText",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "sr",
              "element" : "code",
              "variable" : "cr"
            },
            {
              "context" : "cr",
              "element" : "concept",
              "variable" : "cc"
            },
            {
              "context" : "cc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          },
          {
            "name" : "authoredOn",
            "source" : [{
              "context" : "qr",
              "element" : "authored",
              "variable" : "t"
            }],
            "target" : [{
              "context" : "sr",
              "element" : "authoredOn",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "t"
              }]
            }]
          },
          {
            "name" : "encounter",
            "source" : [{
              "context" : "qr",
              "element" : "encounter",
              "variable" : "e"
            }],
            "target" : [{
              "context" : "sr",
              "element" : "encounter",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "e"
              }]
            }]
          },
          {
            "name" : "requester",
            "source" : [{
              "context" : "qr",
              "element" : "source",
              "variable" : "src"
            }],
            "target" : [{
              "context" : "sr",
              "element" : "requester",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "src"
              }]
            }]
          }]
        }]
      }],
      "documentation" : "── The mandatory pre-cycle investigations ──────────────────────────────\r\nServiceRequests. The sheet says these are mandatory before every cycle; a\r\ntick that stays on the form is a requirement nobody in the laboratory can\r\nsee, and a cycle given without them is exactly what the requirement exists\r\nto prevent."
    },
    {
      "name" : "postChemoTreatment",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "(linkId = 'post-chemo-treatment') and item.where(linkId = 'post-chemo-treatment/name').answer.value.exists()"
      }],
      "target" : [{
        "context" : "bundle",
        "element" : "entry",
        "variable" : "entry"
      },
      {
        "context" : "entry",
        "element" : "resource",
        "variable" : "mr",
        "transform" : "create",
        "parameter" : [{
          "valueString" : "MedicationRequest"
        }]
      }],
      "rule" : [{
        "name" : "base",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "mr"
        },
        {
          "context" : "entry"
        }],
        "dependent" : [{
          "name" : "BuildMedicationRequestBase",
          "parameter" : [{
            "valueId" : "qr"
          },
          {
            "valueId" : "mr"
          },
          {
            "valueId" : "entry"
          }]
        }]
      },
      {
        "name" : "status",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "status",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "draft"
          }]
        }]
      },
      {
        "name" : "intent",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "intent",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "order"
          }]
        }]
      },
      {
        "name" : "postNameRule",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "linkId = 'post-chemo-treatment/name'"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "medicationText",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "medication",
              "variable" : "med"
            },
            {
              "context" : "med",
              "element" : "concept",
              "variable" : "mc"
            },
            {
              "context" : "mc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "postDetailRule",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'post-chemo-treatment/detail') and answer.value.exists()"
        }],
        "rule" : [{
          "name" : "answer",
          "source" : [{
            "context" : "it",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "a"
          }],
          "rule" : [{
            "name" : "dosageText",
            "source" : [{
              "context" : "a",
              "element" : "value",
              "variable" : "txt"
            }],
            "target" : [{
              "context" : "mr",
              "element" : "dosageInstruction",
              "variable" : "di"
            },
            {
              "context" : "di",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueId" : "txt"
              }]
            }]
          }]
        }]
      },
      {
        "name" : "authoredOn",
        "source" : [{
          "context" : "qr",
          "element" : "authored",
          "variable" : "t"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "authoredOn",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "t"
          }]
        }]
      },
      {
        "name" : "encounter",
        "source" : [{
          "context" : "qr",
          "element" : "encounter",
          "variable" : "e"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "encounter",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "e"
          }]
        }]
      },
      {
        "name" : "requester",
        "source" : [{
          "context" : "qr",
          "element" : "source",
          "variable" : "src"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "requester",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "src"
          }]
        }]
      },
      {
        "name" : "provenanceNote",
        "source" : [{
          "context" : "g"
        }],
        "target" : [{
          "context" : "mr",
          "element" : "note",
          "variable" : "n"
        },
        {
          "context" : "n",
          "element" : "text",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "Post-chemotherapy treatment written on the prescription sheet. Left as a draft: the sheet gives no dose or frequency to parse."
          }]
        }]
      }],
      "documentation" : "── Post-chemotherapy treatment ─────────────────────────────────────────\r\nThe four numbered lines at the foot of the sheet. MedicationRequests, since\r\nthat is what they are in practice -- antiemetics and growth factor to take\r\nhome -- but with `status = 'draft'` and no dose parsed out of the free\r\ntext, because the sheet writes them as one line each."
    },
    {
      "name" : "diagnosisGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "g",
        "condition" : "linkId = 'context'"
      }],
      "rule" : [{
        "name" : "diagnosisObservation",
        "source" : [{
          "context" : "g",
          "element" : "item",
          "variable" : "it",
          "condition" : "(linkId = 'context/diagnosis') 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" : "SetSurveyCategory",
            "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" : "chemotherapy-regimen"
                }]
              }]
            },
            {
              "name" : "dsp",
              "source" : [{
                "context" : "it"
              }],
              "target" : [{
                "context" : "cg",
                "element" : "display",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Chemotherapy regimen"
                }]
              }]
            }]
          },
          {
            "name" : "codeText",
            "source" : [{
              "context" : "it"
            }],
            "target" : [{
              "context" : "cc",
              "element" : "text",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "Diagnosis this cycle was prescribed for"
              }]
            }]
          }]
        },
        {
          "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" : "── Diagnosis ───────────────────────────────────────────────────────────\r\nNot a Condition. A patient on cycle four already has a coded cancer on the\r\nproblem list, and creating a new Condition from every cycle's prescription\r\nsheet would put four of them there by the end of treatment. The diagnosis\r\ntravels as a note on the regimen Observation instead."
    }]
  },
  {
    "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" : "BuildMedicationRequestBase",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "r",
      "type" : "MedicationRequest",
      "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" : "SetMedicationRequestFullUrl",
        "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" : "MedicationRequest"
          }]
        }]
      }]
    },
    {
      "name" : "subject",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "s"
      }],
      "target" : [{
        "context" : "r",
        "element" : "subject",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "s"
        }]
      }]
    }]
  },
  {
    "name" : "SetMedicationRequestFullUrl",
    "input" : [{
      "name" : "r",
      "type" : "MedicationRequest",
      "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/MedicationRequest/"
        },
        {
          "valueId" : "id"
        }]
      }]
    }]
  },
  {
    "name" : "BuildServiceRequestBase",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "r",
      "type" : "ServiceRequest",
      "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" : "SetServiceRequestFullUrl",
        "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" : "ServiceRequest"
          }]
        }]
      }]
    },
    {
      "name" : "subject",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "s"
      }],
      "target" : [{
        "context" : "r",
        "element" : "subject",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "s"
        }]
      }]
    }]
  },
  {
    "name" : "SetServiceRequestFullUrl",
    "input" : [{
      "name" : "r",
      "type" : "ServiceRequest",
      "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/ServiceRequest/"
        },
        {
          "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" : "chemotherapy-prescription"
            }]
          }]
        },
        {
          "name" : "provenanceDisplay",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "t",
            "element" : "display",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Chemotherapy prescription"
            }]
          }]
        }]
      }]
    },
    {
      "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."
    }]
  }]
}