SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build

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

: Medical Report Extraction - JSON Representation

Active as of 2026-09-14

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "ExtractMedicalReport",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap ExtractMedicalReport</b></p><a name=\"ExtractMedicalReport\"> </a><a name=\"hcExtractMedicalReport\"> </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/ExtractMedicalReport'</span>\r\n<span style=\"color: #cc00cc\">/// <b>name</b> = </span><span style=\"color: blue\">'ExtractMedicalReport'</span>\r\n<span style=\"color: #cc00cc\">/// <b>title</b> = </span><span style=\"color: blue\">'Medical Report 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\">'A medical report is written once, read as a whole, and handed to whoever asked for it -- an insurer, a court, another hospital -- so it extracts as a Composition under LOINC 34133-9 with one section per printed heading, plus a Condition per diagnosis line so the report does not become the only place the diagnosis is written down. Each section names an Observation carrying its text: Narrative.div is an XhtmlType this engine cannot build from FML, and referencing an Observation is the better shape anyway, because the text becomes something a query can reach rather than a blob inside a document. The stay itself lands in Composition.event.period, which is what makes the report answer \\'when was this admission\\'.'</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/composition.html\" title=\"Composition\">http://hl7.org/fhir/StructureDefinition/Composition</a><span style=\"color: navy\">&quot; </span><b>alias </b>Composition <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/condition.html\" title=\"Condition\">http://hl7.org/fhir/StructureDefinition/Condition</a><span style=\"color: navy\">&quot; </span><b>alias </b>Condition <b>as </b><b>target</b>\r\n\r\n<b>group </b>ExtractMedicalReport<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  qr<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\">'Composition'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span> comp<span style=\"color: navy\">, </span> entry<b> then </b>BuildCompositionBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comp</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>comp.status = <span style=\"color: blue\">'final'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>comp.title = <span style=\"color: blue\">'Medical report'</span> <i>&quot;title&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>comp.date = <span style=\"color: maroon\">t</span> <i>&quot;date&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>comp.encounter = <span style=\"color: maroon\">e</span><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>comp.type<b> as </b><span style=\"color: maroon\">tp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span>tp.coding<b> as </b><span style=\"color: maroon\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<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        qr<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'34133-9'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Summary of episode note'</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;type&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>comp.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\">cg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span>cg.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/document-type-codesystem'</span> <i>&quot;sys&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>cg.code = <span style=\"color: blue\">'medical-report'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>cg.display = <span style=\"color: blue\">'Medical 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    <span style=\"color: navy\">}</span> <i>&quot;category&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">The doctor who signed it is the author, and the form's own signature</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">block is what says so -- not qr.source, which is whoever keyed it in.</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'sign-off'<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 = 'sign-off/doctor') 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\">ref</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.author = <span style=\"color: maroon\">ref</span> <i>&quot;author&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;authorRule&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 = 'sign-off/purpose') 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> comp.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;purposeNote&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;purposeRule&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;signOffGroup&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">── The admission the report is about ─────────────────────────────────</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Composition.event.period is a Period of dateTimes and the form asks for</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">dates, hence the casts: a DateType into a dateTime element fails at</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">transform time rather than at compile time.</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'stay'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      g<span style=\"color: navy\"><b> -&gt; </b></span>comp.event<b> as </b><span style=\"color: maroon\">ev</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        g<span style=\"color: navy\"><b> -&gt; </b></span>ev.period<b> as </b><span style=\"color: maroon\">per</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 = 'stay/admitted-on') 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\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>per.start = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>&quot;start&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;admittedRule&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 = 'stay/discharged-on') 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\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>per.end = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>&quot;end&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;dischargedRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;period&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;event&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;stayGroup&quot;</i><span style=\"color: navy\">;</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'clinical-summary') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.section<b> as </b><span style=\"color: maroon\">sec</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.title = <span style=\"color: blue\">'Clinical summary'</span> <i>&quot;title&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.code<b> as </b><span style=\"color: maroon\">sc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>sc.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\">'11329-0'</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\">'History general Narrative - Reported'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">sentry</span><span style=\"color: navy\">, </span> sentry.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\">sobs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> sobs<span style=\"color: navy\">, </span> sentry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sentry</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>sobs<b> then </b>SetSurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</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>sobs.code<b> as </b><span style=\"color: maroon\">scc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>scc.coding<b> as </b><span style=\"color: maroon\">scg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.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>scg.code = <span style=\"color: blue\">'11329-0'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.display = <span style=\"color: blue\">'History general Narrative - Reported'</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>scc.text = <span style=\"color: blue\">'Clinical summary on the Medical report'</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> sobs.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        it<span style=\"color: navy\"><b> -&gt; </b></span> sec.entry = <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\">sref</span><span style=\"color: navy\">, </span> sref.reference = <b>reference</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">)</span> <i>&quot;linkEntry&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;sectionObservation&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;section_clinical_summary&quot;</i><span style=\"color: navy\">;</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'past-medical-surgical-history') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.section<b> as </b><span style=\"color: maroon\">sec</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.title = <span style=\"color: blue\">'Past medical and surgical history'</span> <i>&quot;title&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.code<b> as </b><span style=\"color: maroon\">sc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>sc.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\">'11348-0'</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\">'History of Past illness note'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">sentry</span><span style=\"color: navy\">, </span> sentry.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\">sobs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> sobs<span style=\"color: navy\">, </span> sentry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sentry</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>sobs<b> then </b>SetSurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</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>sobs.code<b> as </b><span style=\"color: maroon\">scc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>scc.coding<b> as </b><span style=\"color: maroon\">scg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.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>scg.code = <span style=\"color: blue\">'11348-0'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.display = <span style=\"color: blue\">'History of Past illness note'</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>scc.text = <span style=\"color: blue\">'Past medical and surgical history on the Medical report'</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> sobs.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        it<span style=\"color: navy\"><b> -&gt; </b></span> sec.entry = <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\">sref</span><span style=\"color: navy\">, </span> sref.reference = <b>reference</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">)</span> <i>&quot;linkEntry&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;sectionObservation&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;section_past_medical_surgical_history&quot;</i><span style=\"color: navy\">;</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'investigations') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.section<b> as </b><span style=\"color: maroon\">sec</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.title = <span style=\"color: blue\">'Investigations'</span> <i>&quot;title&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.code<b> as </b><span style=\"color: maroon\">sc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>sc.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\">'30954-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\">'Relevant diagnostic tests/laboratory data note'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">sentry</span><span style=\"color: navy\">, </span> sentry.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\">sobs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> sobs<span style=\"color: navy\">, </span> sentry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sentry</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>sobs<b> then </b>SetSurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</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>sobs.code<b> as </b><span style=\"color: maroon\">scc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>scc.coding<b> as </b><span style=\"color: maroon\">scg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.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>scg.code = <span style=\"color: blue\">'30954-2'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.display = <span style=\"color: blue\">'Relevant diagnostic tests/laboratory data note'</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>scc.text = <span style=\"color: blue\">'Investigations on the Medical report'</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> sobs.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        it<span style=\"color: navy\"><b> -&gt; </b></span> sec.entry = <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\">sref</span><span style=\"color: navy\">, </span> sref.reference = <b>reference</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">)</span> <i>&quot;linkEntry&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;sectionObservation&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;section_investigations&quot;</i><span style=\"color: navy\">;</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'interventions') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.section<b> as </b><span style=\"color: maroon\">sec</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.title = <span style=\"color: blue\">'Interventions'</span> <i>&quot;title&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.code<b> as </b><span style=\"color: maroon\">sc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>sc.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\">'62387-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\">'Interventions Narrative'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">sentry</span><span style=\"color: navy\">, </span> sentry.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\">sobs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> sobs<span style=\"color: navy\">, </span> sentry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sentry</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>sobs<b> then </b>SetSurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</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>sobs.code<b> as </b><span style=\"color: maroon\">scc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>scc.coding<b> as </b><span style=\"color: maroon\">scg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.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>scg.code = <span style=\"color: blue\">'62387-6'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.display = <span style=\"color: blue\">'Interventions Narrative'</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>scc.text = <span style=\"color: blue\">'Interventions on the Medical report'</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> sobs.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        it<span style=\"color: navy\"><b> -&gt; </b></span> sec.entry = <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\">sref</span><span style=\"color: navy\">, </span> sref.reference = <b>reference</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">)</span> <i>&quot;linkEntry&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;sectionObservation&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;section_interventions&quot;</i><span style=\"color: navy\">;</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'treatment') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.section<b> as </b><span style=\"color: maroon\">sec</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.title = <span style=\"color: blue\">'Treatment'</span> <i>&quot;title&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.code<b> as </b><span style=\"color: maroon\">sc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>sc.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\">'18776-5'</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\">'Plan of care note'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">sentry</span><span style=\"color: navy\">, </span> sentry.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\">sobs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> sobs<span style=\"color: navy\">, </span> sentry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sentry</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>sobs<b> then </b>SetSurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</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>sobs.code<b> as </b><span style=\"color: maroon\">scc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>scc.coding<b> as </b><span style=\"color: maroon\">scg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.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>scg.code = <span style=\"color: blue\">'18776-5'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.display = <span style=\"color: blue\">'Plan of care note'</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>scc.text = <span style=\"color: blue\">'Treatment on the Medical report'</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> sobs.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        it<span style=\"color: navy\"><b> -&gt; </b></span> sec.entry = <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\">sref</span><span style=\"color: navy\">, </span> sref.reference = <b>reference</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">)</span> <i>&quot;linkEntry&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;sectionObservation&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;section_treatment&quot;</i><span style=\"color: navy\">;</span>\r\n    qr.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'discharge-instructions-and-medications') and answer.value.exists()<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -&gt; </b></span>comp.section<b> as </b><span style=\"color: maroon\">sec</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.title = <span style=\"color: blue\">'Discharge instructions and medications'</span> <i>&quot;title&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span>sec.code<b> as </b><span style=\"color: maroon\">sc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        it<span style=\"color: navy\"><b> -&gt; </b></span>sc.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\">'8653-8'</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\">'Hospital Discharge instructions'</span> <i>&quot;dsp&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;code&quot;</i><span style=\"color: navy\">;</span>\r\n      it<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">sentry</span><span style=\"color: navy\">, </span> sentry.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\">sobs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> sobs<span style=\"color: navy\">, </span> sentry<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sentry</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>sobs<b> then </b>SetSurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">sobs</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>sobs.code<b> as </b><span style=\"color: maroon\">scc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>scc.coding<b> as </b><span style=\"color: maroon\">scg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.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>scg.code = <span style=\"color: blue\">'8653-8'</span> <i>&quot;cd&quot;</i><span style=\"color: navy\">;</span>\r\n            it<span style=\"color: navy\"><b> -&gt; </b></span>scg.display = <span style=\"color: blue\">'Hospital Discharge instructions'</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>scc.text = <span style=\"color: blue\">'Discharge instructions and medications on the Medical report'</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> sobs.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        it<span style=\"color: navy\"><b> -&gt; </b></span> sec.entry = <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\">sref</span><span style=\"color: navy\">, </span> sref.reference = <b>reference</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">sobs</span><span style=\"color: navy\">)</span> <i>&quot;linkEntry&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;sectionObservation&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;section_discharge_instructions_and_medications&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;medicalReportComposition&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">── The diagnoses ───────────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">One Condition per line. Where the writer picked a Condition the patient</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">already has, the reference travels as evidence rather than forking the</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">problem list -- a report written for an insurer should not add a second</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">copy of a diagnosis that is already on the record.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'diagnosis'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    g.item<b> as </b><span style=\"color: maroon\">d</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'diagnosis/entry'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      d.item<b> as </b><span style=\"color: maroon\">it</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'diagnosis/entry/text') 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\">'Condition'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">cond</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> cond<span style=\"color: navy\">, </span> entry<b> then </b>BuildConditionBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">cond</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>cond.clinicalStatus<b> as </b><span style=\"color: maroon\">cs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          it<span style=\"color: navy\"><b> -&gt; </b></span>cs.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://terminology.hl7.org/CodeSystem/condition-clinical'</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\">'active'</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\">'Active'</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;clinicalStatus&quot;</i><span style=\"color: navy\">;</span>\r\n        it<span style=\"color: navy\"><b> -&gt; </b></span>cond.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://terminology.hl7.org/CodeSystem/condition-category'</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\">'encounter-diagnosis'</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\">'Encounter Diagnosis'</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> cond.code<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>cond.recordedDate = <span style=\"color: maroon\">t</span> <i>&quot;recordedDate&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>cond.encounter = <span style=\"color: maroon\">e</span><span style=\"color: navy\">;</span>\r\n        d.item<b> as </b><span style=\"color: maroon\">ex</span><b> where </b><span style=\"color: navy\">(</span>(linkId = 'diagnosis/entry/condition') and answer.value.exists()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          ex.answer first<b> as </b><span style=\"color: maroon\">ea</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            ea.value<b> as </b><span style=\"color: maroon\">existing</span><span style=\"color: navy\"><b> -&gt; </b></span> cond.evidence<b> as </b><span style=\"color: maroon\">ev</span><span style=\"color: navy\">, </span> ev.reference = <span style=\"color: maroon\">existing</span> <i>&quot;evidenceReference&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;existingRule&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;diagnosisCondition&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;diagnosisRows&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\">// </span><span style=\"color: green\">── The wards ───────────────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Observations rather than anything on the Composition. Which ward a patient</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">was admitted to and which one they left from is a fact about the stay that</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">gets asked in aggregate, and there is nowhere on a Composition to put it</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">where a query would find it.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">g</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'stay'<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 = 'stay/ward-of-admission') 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\">'discharge-ward-of-admission'</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\">'Ward of admission'</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_discharge_ward_of_admission&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 = 'stay/ward-of-discharge') 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\">'discharge-ward-of-discharge'</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\">'Ward of discharge'</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_discharge_ward_of_discharge&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;wardGroup&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>BuildCompositionBase<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>Composition, <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>SetCompositionFullUrl<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\">'Composition'</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>SetCompositionFullUrl<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\"> : </span>Composition, <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/Composition/'</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>BuildConditionBase<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>Condition, <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>SetConditionFullUrl<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\">'Condition'</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>SetConditionFullUrl<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\"> : </span>Condition, <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/Condition/'</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\">'medical-report'</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\">'Medical report'</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/ExtractMedicalReport",
  "version" : "0.1.0",
  "name" : "ExtractMedicalReport",
  "title" : "Medical Report 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" : "A medical report is written once, read as a whole, and handed to whoever asked for it -- an insurer, a court, another hospital -- so it extracts as a Composition under LOINC 34133-9 with one section per printed heading, plus a Condition per diagnosis line so the report does not become the only place the diagnosis is written down. Each section names an Observation carrying its text: Narrative.div is an XhtmlType this engine cannot build from FML, and referencing an Observation is the better shape anyway, because the text becomes something a query can reach rather than a blob inside a document. The stay itself lands in Composition.event.period, which is what makes the report answer 'when was this admission'.",
  "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/Composition",
      "mode" : "target",
      "alias" : "Composition"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Condition",
      "mode" : "target",
      "alias" : "Condition"
    }
  ],
  "group" : [
    {
      "name" : "ExtractMedicalReport",
      "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" : "medicalReportComposition",
          "source" : [
            {
              "context" : "qr"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "element" : "entry",
              "variable" : "entry"
            },
            {
              "context" : "entry",
              "element" : "resource",
              "variable" : "comp",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Composition"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "base",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "comp"
                },
                {
                  "context" : "entry"
                }
              ],
              "dependent" : [
                {
                  "name" : "BuildCompositionBase",
                  "parameter" : [
                    {
                      "valueId" : "qr"
                    },
                    {
                      "valueId" : "comp"
                    },
                    {
                      "valueId" : "entry"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "status",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "status",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "final"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "title",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "title",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Medical report"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "date",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "authored",
                  "variable" : "t"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "date",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "t"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "encounter",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "encounter",
                  "variable" : "e"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "encounter",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "e"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "type",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "type",
                  "variable" : "tp"
                }
              ],
              "rule" : [
                {
                  "name" : "coding",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tp",
                      "element" : "coding",
                      "variable" : "cg"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "sys",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://loinc.org"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "cd",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "34133-9"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "dsp",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Summary of episode note"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "category",
              "source" : [
                {
                  "context" : "qr"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "category",
                  "variable" : "cat"
                }
              ],
              "rule" : [
                {
                  "name" : "coding",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "cat",
                      "element" : "coding",
                      "variable" : "cg"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "sys",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/document-type-codesystem"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "cd",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "medical-report"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "dsp",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cg",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Medical report"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "signOffGroup",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "g",
                  "condition" : "linkId = 'sign-off'"
                }
              ],
              "rule" : [
                {
                  "name" : "authorRule",
                  "source" : [
                    {
                      "context" : "g",
                      "element" : "item",
                      "variable" : "it",
                      "condition" : "(linkId = 'sign-off/doctor') and answer.value.exists()"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "author",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "ref"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "comp",
                              "element" : "author",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "ref"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "purposeRule",
                  "source" : [
                    {
                      "context" : "g",
                      "element" : "item",
                      "variable" : "it",
                      "condition" : "(linkId = 'sign-off/purpose') and answer.value.exists()"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "purposeNote",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "comp",
                              "element" : "note",
                              "variable" : "n"
                            },
                            {
                              "context" : "n",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "documentation" : "The doctor who signed it is the author, and the form's own signature\r\nblock is what says so -- not qr.source, which is whoever keyed it in."
            },
            {
              "name" : "stayGroup",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "g",
                  "condition" : "linkId = 'stay'"
                }
              ],
              "rule" : [
                {
                  "name" : "event",
                  "source" : [
                    {
                      "context" : "g"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "comp",
                      "element" : "event",
                      "variable" : "ev"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "period",
                      "source" : [
                        {
                          "context" : "g"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ev",
                          "element" : "period",
                          "variable" : "per"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "admittedRule",
                          "source" : [
                            {
                              "context" : "g",
                              "element" : "item",
                              "variable" : "it",
                              "condition" : "(linkId = 'stay/admitted-on') and answer.value.exists()"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "answer",
                              "source" : [
                                {
                                  "context" : "it",
                                  "element" : "answer",
                                  "listMode" : "first",
                                  "variable" : "a"
                                }
                              ],
                              "rule" : [
                                {
                                  "name" : "start",
                                  "source" : [
                                    {
                                      "context" : "a",
                                      "element" : "value",
                                      "variable" : "v"
                                    }
                                  ],
                                  "target" : [
                                    {
                                      "context" : "per",
                                      "element" : "start",
                                      "transform" : "cast",
                                      "parameter" : [
                                        {
                                          "valueId" : "v"
                                        },
                                        {
                                          "valueString" : "dateTime"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dischargedRule",
                          "source" : [
                            {
                              "context" : "g",
                              "element" : "item",
                              "variable" : "it",
                              "condition" : "(linkId = 'stay/discharged-on') and answer.value.exists()"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "answer",
                              "source" : [
                                {
                                  "context" : "it",
                                  "element" : "answer",
                                  "listMode" : "first",
                                  "variable" : "a"
                                }
                              ],
                              "rule" : [
                                {
                                  "name" : "end",
                                  "source" : [
                                    {
                                      "context" : "a",
                                      "element" : "value",
                                      "variable" : "v"
                                    }
                                  ],
                                  "target" : [
                                    {
                                      "context" : "per",
                                      "element" : "end",
                                      "transform" : "cast",
                                      "parameter" : [
                                        {
                                          "valueId" : "v"
                                        },
                                        {
                                          "valueString" : "dateTime"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "documentation" : "── The admission the report is about ─────────────────────────────────\r\nComposition.event.period is a Period of dateTimes and the form asks for\r\ndates, hence the casts: a DateType into a dateTime element fails at\r\ntransform time rather than at compile time."
            },
            {
              "name" : "section_clinical_summary",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'clinical-summary') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "section",
                  "variable" : "sec"
                }
              ],
              "rule" : [
                {
                  "name" : "title",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "title",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Clinical summary"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "code",
                      "variable" : "sc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sc",
                          "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" : "11329-0"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "History general Narrative - Reported"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "sectionObservation",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "bundle",
                      "element" : "entry",
                      "variable" : "sentry"
                    },
                    {
                      "context" : "sentry",
                      "element" : "resource",
                      "variable" : "sobs",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "Observation"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "base",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        },
                        {
                          "context" : "sentry"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "BuildObsBase",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            },
                            {
                              "valueId" : "sentry"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "category",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "SetSurveyCategory",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs",
                          "element" : "code",
                          "variable" : "scc"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "coding",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "coding",
                              "variable" : "scg"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "sys",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "system",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "http://loinc.org"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "cd",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "code",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "11329-0"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "dsp",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "display",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "History general Narrative - Reported"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "codeText",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Clinical summary on the Medical report"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "text",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "sobs",
                              "element" : "note",
                              "variable" : "n"
                            },
                            {
                              "context" : "n",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "linkEntry",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sec",
                          "element" : "entry",
                          "variable" : "sref",
                          "transform" : "create",
                          "parameter" : [
                            {
                              "valueString" : "Reference"
                            }
                          ]
                        },
                        {
                          "context" : "sref",
                          "element" : "reference",
                          "transform" : "reference",
                          "parameter" : [
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "section_past_medical_surgical_history",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'past-medical-surgical-history') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "section",
                  "variable" : "sec"
                }
              ],
              "rule" : [
                {
                  "name" : "title",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "title",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Past medical and surgical history"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "code",
                      "variable" : "sc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sc",
                          "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" : "11348-0"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "History of Past illness note"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "sectionObservation",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "bundle",
                      "element" : "entry",
                      "variable" : "sentry"
                    },
                    {
                      "context" : "sentry",
                      "element" : "resource",
                      "variable" : "sobs",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "Observation"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "base",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        },
                        {
                          "context" : "sentry"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "BuildObsBase",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            },
                            {
                              "valueId" : "sentry"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "category",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "SetSurveyCategory",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs",
                          "element" : "code",
                          "variable" : "scc"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "coding",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "coding",
                              "variable" : "scg"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "sys",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "system",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "http://loinc.org"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "cd",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "code",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "11348-0"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "dsp",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "display",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "History of Past illness note"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "codeText",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Past medical and surgical history on the Medical report"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "text",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "sobs",
                              "element" : "note",
                              "variable" : "n"
                            },
                            {
                              "context" : "n",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "linkEntry",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sec",
                          "element" : "entry",
                          "variable" : "sref",
                          "transform" : "create",
                          "parameter" : [
                            {
                              "valueString" : "Reference"
                            }
                          ]
                        },
                        {
                          "context" : "sref",
                          "element" : "reference",
                          "transform" : "reference",
                          "parameter" : [
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "section_investigations",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'investigations') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "section",
                  "variable" : "sec"
                }
              ],
              "rule" : [
                {
                  "name" : "title",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "title",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Investigations"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "code",
                      "variable" : "sc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sc",
                          "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" : "30954-2"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Relevant diagnostic tests/laboratory data note"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "sectionObservation",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "bundle",
                      "element" : "entry",
                      "variable" : "sentry"
                    },
                    {
                      "context" : "sentry",
                      "element" : "resource",
                      "variable" : "sobs",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "Observation"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "base",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        },
                        {
                          "context" : "sentry"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "BuildObsBase",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            },
                            {
                              "valueId" : "sentry"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "category",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "SetSurveyCategory",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs",
                          "element" : "code",
                          "variable" : "scc"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "coding",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "coding",
                              "variable" : "scg"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "sys",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "system",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "http://loinc.org"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "cd",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "code",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "30954-2"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "dsp",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "display",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "Relevant diagnostic tests/laboratory data note"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "codeText",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Investigations on the Medical report"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "text",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "sobs",
                              "element" : "note",
                              "variable" : "n"
                            },
                            {
                              "context" : "n",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "linkEntry",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sec",
                          "element" : "entry",
                          "variable" : "sref",
                          "transform" : "create",
                          "parameter" : [
                            {
                              "valueString" : "Reference"
                            }
                          ]
                        },
                        {
                          "context" : "sref",
                          "element" : "reference",
                          "transform" : "reference",
                          "parameter" : [
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "section_interventions",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'interventions') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "section",
                  "variable" : "sec"
                }
              ],
              "rule" : [
                {
                  "name" : "title",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "title",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Interventions"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "code",
                      "variable" : "sc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sc",
                          "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" : "62387-6"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Interventions Narrative"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "sectionObservation",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "bundle",
                      "element" : "entry",
                      "variable" : "sentry"
                    },
                    {
                      "context" : "sentry",
                      "element" : "resource",
                      "variable" : "sobs",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "Observation"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "base",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        },
                        {
                          "context" : "sentry"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "BuildObsBase",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            },
                            {
                              "valueId" : "sentry"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "category",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "SetSurveyCategory",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs",
                          "element" : "code",
                          "variable" : "scc"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "coding",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "coding",
                              "variable" : "scg"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "sys",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "system",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "http://loinc.org"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "cd",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "code",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "62387-6"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "dsp",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "display",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "Interventions Narrative"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "codeText",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Interventions on the Medical report"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "text",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "sobs",
                              "element" : "note",
                              "variable" : "n"
                            },
                            {
                              "context" : "n",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "linkEntry",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sec",
                          "element" : "entry",
                          "variable" : "sref",
                          "transform" : "create",
                          "parameter" : [
                            {
                              "valueString" : "Reference"
                            }
                          ]
                        },
                        {
                          "context" : "sref",
                          "element" : "reference",
                          "transform" : "reference",
                          "parameter" : [
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "section_treatment",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'treatment') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "section",
                  "variable" : "sec"
                }
              ],
              "rule" : [
                {
                  "name" : "title",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "title",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Treatment"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "code",
                      "variable" : "sc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sc",
                          "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" : "18776-5"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Plan of care note"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "sectionObservation",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "bundle",
                      "element" : "entry",
                      "variable" : "sentry"
                    },
                    {
                      "context" : "sentry",
                      "element" : "resource",
                      "variable" : "sobs",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "Observation"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "base",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        },
                        {
                          "context" : "sentry"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "BuildObsBase",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            },
                            {
                              "valueId" : "sentry"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "category",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "SetSurveyCategory",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs",
                          "element" : "code",
                          "variable" : "scc"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "coding",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "coding",
                              "variable" : "scg"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "sys",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "system",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "http://loinc.org"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "cd",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "code",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "18776-5"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "dsp",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "display",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "Plan of care note"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "codeText",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Treatment on the Medical report"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "text",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "sobs",
                              "element" : "note",
                              "variable" : "n"
                            },
                            {
                              "context" : "n",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "linkEntry",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sec",
                          "element" : "entry",
                          "variable" : "sref",
                          "transform" : "create",
                          "parameter" : [
                            {
                              "valueString" : "Reference"
                            }
                          ]
                        },
                        {
                          "context" : "sref",
                          "element" : "reference",
                          "transform" : "reference",
                          "parameter" : [
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "section_discharge_instructions_and_medications",
              "source" : [
                {
                  "context" : "qr",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'discharge-instructions-and-medications') and answer.value.exists()"
                }
              ],
              "target" : [
                {
                  "context" : "comp",
                  "element" : "section",
                  "variable" : "sec"
                }
              ],
              "rule" : [
                {
                  "name" : "title",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "title",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Discharge instructions and medications"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "code",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "sec",
                      "element" : "code",
                      "variable" : "sc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "coding",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sc",
                          "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" : "8653-8"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Hospital Discharge instructions"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "sectionObservation",
                  "source" : [
                    {
                      "context" : "it"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "bundle",
                      "element" : "entry",
                      "variable" : "sentry"
                    },
                    {
                      "context" : "sentry",
                      "element" : "resource",
                      "variable" : "sobs",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "Observation"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "base",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        },
                        {
                          "context" : "sentry"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "BuildObsBase",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            },
                            {
                              "valueId" : "sentry"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "category",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "SetSurveyCategory",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sobs",
                          "element" : "code",
                          "variable" : "scc"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "coding",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "coding",
                              "variable" : "scg"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "sys",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "system",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "http://loinc.org"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "cd",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "code",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "8653-8"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "dsp",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "scg",
                                  "element" : "display",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "Hospital Discharge instructions"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "codeText",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "scc",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Discharge instructions and medications on the Medical report"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "text",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "sobs",
                              "element" : "note",
                              "variable" : "n"
                            },
                            {
                              "context" : "n",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "linkEntry",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "sec",
                          "element" : "entry",
                          "variable" : "sref",
                          "transform" : "create",
                          "parameter" : [
                            {
                              "valueString" : "Reference"
                            }
                          ]
                        },
                        {
                          "context" : "sref",
                          "element" : "reference",
                          "transform" : "reference",
                          "parameter" : [
                            {
                              "valueId" : "sobs"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "diagnosisGroup",
          "source" : [
            {
              "context" : "qr",
              "element" : "item",
              "variable" : "g",
              "condition" : "linkId = 'diagnosis'"
            }
          ],
          "rule" : [
            {
              "name" : "diagnosisRows",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "d",
                  "condition" : "linkId = 'diagnosis/entry'"
                }
              ],
              "rule" : [
                {
                  "name" : "diagnosisCondition",
                  "source" : [
                    {
                      "context" : "d",
                      "element" : "item",
                      "variable" : "it",
                      "condition" : "(linkId = 'diagnosis/entry/text') and answer.value.exists()"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "bundle",
                      "element" : "entry",
                      "variable" : "entry"
                    },
                    {
                      "context" : "entry",
                      "element" : "resource",
                      "variable" : "cond",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "Condition"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "base",
                      "source" : [
                        {
                          "context" : "qr"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cond"
                        },
                        {
                          "context" : "entry"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "BuildConditionBase",
                          "parameter" : [
                            {
                              "valueId" : "qr"
                            },
                            {
                              "valueId" : "cond"
                            },
                            {
                              "valueId" : "entry"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "clinicalStatus",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cond",
                          "element" : "clinicalStatus",
                          "variable" : "cs"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "coding",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cs",
                              "element" : "coding",
                              "variable" : "cg"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "sys",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "cg",
                                  "element" : "system",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "http://terminology.hl7.org/CodeSystem/condition-clinical"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "cd",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "cg",
                                  "element" : "code",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "active"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "dsp",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "cg",
                                  "element" : "display",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "Active"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "category",
                      "source" : [
                        {
                          "context" : "it"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cond",
                          "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://terminology.hl7.org/CodeSystem/condition-category"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "cd",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "cg",
                                  "element" : "code",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "encounter-diagnosis"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name" : "dsp",
                              "source" : [
                                {
                                  "context" : "it"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "cg",
                                  "element" : "display",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueString" : "Encounter Diagnosis"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "answer",
                      "source" : [
                        {
                          "context" : "it",
                          "element" : "answer",
                          "listMode" : "first",
                          "variable" : "a"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "codeText",
                          "source" : [
                            {
                              "context" : "a",
                              "element" : "value",
                              "variable" : "txt"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cond",
                              "element" : "code",
                              "variable" : "cc"
                            },
                            {
                              "context" : "cc",
                              "element" : "text",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "txt"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "recordedDate",
                      "source" : [
                        {
                          "context" : "qr",
                          "element" : "authored",
                          "variable" : "t"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cond",
                          "element" : "recordedDate",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "t"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "encounter",
                      "source" : [
                        {
                          "context" : "qr",
                          "element" : "encounter",
                          "variable" : "e"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "cond",
                          "element" : "encounter",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "e"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "existingRule",
                      "source" : [
                        {
                          "context" : "d",
                          "element" : "item",
                          "variable" : "ex",
                          "condition" : "(linkId = 'diagnosis/entry/condition') and answer.value.exists()"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "answer",
                          "source" : [
                            {
                              "context" : "ex",
                              "element" : "answer",
                              "listMode" : "first",
                              "variable" : "ea"
                            }
                          ],
                          "rule" : [
                            {
                              "name" : "evidenceReference",
                              "source" : [
                                {
                                  "context" : "ea",
                                  "element" : "value",
                                  "variable" : "existing"
                                }
                              ],
                              "target" : [
                                {
                                  "context" : "cond",
                                  "element" : "evidence",
                                  "variable" : "ev"
                                },
                                {
                                  "context" : "ev",
                                  "element" : "reference",
                                  "transform" : "copy",
                                  "parameter" : [
                                    {
                                      "valueId" : "existing"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "── The diagnoses ───────────────────────────────────────────────────────\r\nOne Condition per line. Where the writer picked a Condition the patient\r\nalready has, the reference travels as evidence rather than forking the\r\nproblem list -- a report written for an insurer should not add a second\r\ncopy of a diagnosis that is already on the record."
        },
        {
          "name" : "wardGroup",
          "source" : [
            {
              "context" : "qr",
              "element" : "item",
              "variable" : "g",
              "condition" : "linkId = 'stay'"
            }
          ],
          "rule" : [
            {
              "name" : "narr_discharge_ward_of_admission",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'stay/ward-of-admission') 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" : "discharge-ward-of-admission"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Ward of admission"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "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_discharge_ward_of_discharge",
              "source" : [
                {
                  "context" : "g",
                  "element" : "item",
                  "variable" : "it",
                  "condition" : "(linkId = 'stay/ward-of-discharge') 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" : "discharge-ward-of-discharge"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "dsp",
                          "source" : [
                            {
                              "context" : "it"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cg",
                              "element" : "display",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "Ward of discharge"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "answer",
                  "source" : [
                    {
                      "context" : "it",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "a"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "text",
                      "source" : [
                        {
                          "context" : "a",
                          "element" : "value",
                          "variable" : "txt"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "obs",
                          "element" : "note",
                          "variable" : "n"
                        },
                        {
                          "context" : "n",
                          "element" : "text",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "txt"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "── The wards ───────────────────────────────────────────────────────────\r\nObservations rather than anything on the Composition. Which ward a patient\r\nwas admitted to and which one they left from is a fact about the stay that\r\ngets asked in aggregate, and there is nowhere on a Composition to put it\r\nwhere a query would find it."
        }
      ]
    },
    {
      "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" : "BuildCompositionBase",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "r",
          "type" : "Composition",
          "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" : "SetCompositionFullUrl",
              "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" : "Composition"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "subject",
          "source" : [
            {
              "context" : "qr",
              "element" : "subject",
              "variable" : "s"
            }
          ],
          "target" : [
            {
              "context" : "r",
              "element" : "subject",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "s"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetCompositionFullUrl",
      "input" : [
        {
          "name" : "r",
          "type" : "Composition",
          "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/Composition/"
                },
                {
                  "valueId" : "id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "BuildConditionBase",
      "input" : [
        {
          "name" : "qr",
          "type" : "QR",
          "mode" : "source"
        },
        {
          "name" : "r",
          "type" : "Condition",
          "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" : "SetConditionFullUrl",
              "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" : "Condition"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "subject",
          "source" : [
            {
              "context" : "qr",
              "element" : "subject",
              "variable" : "s"
            }
          ],
          "target" : [
            {
              "context" : "r",
              "element" : "subject",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "s"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "SetConditionFullUrl",
      "input" : [
        {
          "name" : "r",
          "type" : "Condition",
          "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/Condition/"
                },
                {
                  "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" : "medical-report"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "provenanceDisplay",
                  "source" : [
                    {
                      "context" : "qr"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "t",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Medical report"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "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."
        }
      ]
    }
  ]
}