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
| Active as of 2026-09-14 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="ExtractMortalityCommitteeFindings"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap ExtractMortalityCommitteeFindings</b></p><a name="ExtractMortalityCommitteeFindings"> </a><a name="hcExtractMortalityCommitteeFindings"> </a><pre class="fml">
<span style="color: #cc00cc">/// <b>url</b> = </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/StructureMap/ExtractMortalityCommitteeFindings'</span>
<span style="color: #cc00cc">/// <b>name</b> = </span><span style="color: blue">'ExtractMortalityCommitteeFindings'</span>
<span style="color: #cc00cc">/// <b>title</b> = </span><span style="color: blue">'Mortality Committee Findings Extraction'</span>
<span style="color: #cc00cc">/// <b>status</b> = </span><span style="color: blue">'active'</span>
<span style="color: #cc00cc">/// <b>description</b> = </span><span style="color: blue">'The death review as a Composition under LOINC 34133-9, one section per numbered question, each section naming an Observation that carries its text. A governance document rather than a clinical note, so it is kept whole: the committee\'s opinion means nothing separated from the initial management it is an opinion about.'</span>
<b>uses</b><span style="color: navy"> "</span><a href="http://hl7.org/fhir/R5/questionnaireresponse.html" title="QuestionnaireResponse">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style="color: navy">" </span><b>alias </b>QR <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span><a href="http://hl7.org/fhir/R5/bundle.html" title="Bundle">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style="color: navy">" </span><b>alias </b>Bundle <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> "</span><a href="http://hl7.org/fhir/R5/observation.html" title="Observation">http://hl7.org/fhir/StructureDefinition/Observation</a><span style="color: navy">" </span><b>alias </b>Observation <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> "</span><a href="http://hl7.org/fhir/R5/composition.html" title="Composition">http://hl7.org/fhir/StructureDefinition/Composition</a><span style="color: navy">" </span><b>alias </b>Composition <b>as </b><b>target</b>
<b>group </b>ExtractMortalityCommitteeFindings<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"> {
</span> qr<span style="color: navy"><b> -> </b></span>bundle.type = <span style="color: blue">'transaction'</span> <i>"setBundleType"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>comp.status = <span style="color: blue">'final'</span> <i>"status"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>comp.title = <span style="color: blue">'Mortality committee findings and recommendations'</span> <i>"title"</i><span style="color: navy">;</span>
qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -> </b></span>comp.date = <span style="color: maroon">t</span> <i>"date"</i><span style="color: navy">;</span>
qr.source<b> as </b><span style="color: maroon">src</span><span style="color: navy"><b> -> </b></span>comp.author = <span style="color: maroon">src</span> <i>"author"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>comp.type<b> as </b><span style="color: maroon">tp</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>tp.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'34133-9'</span> <i>"cd"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Summary of episode note'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"type"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>comp.category<b> as </b><span style="color: maroon">cat</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>cat.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/document-type-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'mortality-committee-findings'</span> <i>"cd"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Mortality committee findings and recommendations'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"category"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Restricted by default. This is a death review, and whether it belongs in</span>
<span style="color: navy">// </span><span style="color: green">the patient's clinical record at all is a policy question -- so it is</span>
<span style="color: navy">// </span><span style="color: green">labelled as the more sensitive of the two possibilities rather than the</span>
<span style="color: navy">// </span><span style="color: green">less, which is the safe direction to be wrong in.</span>
<span style="color: navy">// </span><span style="color: green">R5 removed Composition.confidentiality; the label lives in</span>
<span style="color: navy">// </span><span style="color: green">Resource.meta.security. Restricted rather than normal, deliberately: for</span>
<span style="color: navy">// </span><span style="color: green">a death review and for the mortuary set, whether the record belongs in</span>
<span style="color: navy">// </span><span style="color: green">the patient's clinical file at all is an open policy question, and the</span>
<span style="color: navy">// </span><span style="color: green">safe direction to be wrong in is the more protective one.</span>
qr<span style="color: navy"><b> -> </b></span> comp.meta<b> as </b><span style="color: maroon">m</span><span style="color: navy">, </span> m.security<b> as </b><span style="color: maroon">sec</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>sec.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-Confidentiality'</span> <i>"sys"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>sec.code = <span style="color: blue">'R'</span> <i>"cd"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>sec.display = <span style="color: blue">'restricted'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"confidentiality"</i><span style="color: navy">;</span>
qr.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>linkId = 'review'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'review/attendance-or-admission') and answer.value.exists()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span> comp.event<b> as </b><span style="color: maroon">ev</span><span style="color: navy">, </span> ev.period<b> as </b><span style="color: maroon">per</span><span style="color: navy">, </span> per.start = <span style="color: maroon">v</span> <i>"eventStart"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"attendanceRule"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'review/chairman') and answer.value.exists()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </b></span>comp.attester<b> as </b><span style="color: maroon">att</span><b> then</b><span style="color: navy"> {
</span> txt<span style="color: navy"><b> -> </b></span> att.mode<b> as </b><span style="color: maroon">am</span><span style="color: navy">, </span> am.text = <span style="color: blue">'Chairman of the mortality committee'</span> <i>"mode"</i><span style="color: navy">;</span>
txt<span style="color: navy"><b> -> </b></span> att.party = <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">pref</span><span style="color: navy">, </span> pref.display = <span style="color: maroon">txt</span> <i>"party"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"attester"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"chairmanRule"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'review/secretary') and answer.value.exists()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"secretaryNote"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"secretaryRule"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"reviewGroup"</i><span style="color: navy">;</span>
qr.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'presenting-complaints') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span>comp.section<b> as </b><span style="color: maroon">sec</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sec.title = <span style="color: blue">'Initial presenting complaints'</span> <i>"title"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sec.code<b> as </b><span style="color: maroon">sc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'10164-2'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'History of Present illness Narrative'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sobs.code<b> as </b><span style="color: maroon">scc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scc.coding<b> as </b><span style="color: maroon">scg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.code = <span style="color: blue">'10164-2'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.display = <span style="color: blue">'History of Present illness Narrative'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scc.text = <span style="color: blue">'Initial presenting complaints on the Mortality committee review'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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>"linkEntry"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"sectionObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"section_presenting_complaints"</i><span style="color: navy">;</span>
qr.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'previous-history') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span>comp.section<b> as </b><span style="color: maroon">sec</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sec.title = <span style="color: blue">'Previous available medical history'</span> <i>"title"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sec.code<b> as </b><span style="color: maroon">sc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'11348-0'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'History of Past illness note'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sobs.code<b> as </b><span style="color: maroon">scc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scc.coding<b> as </b><span style="color: maroon">scg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.code = <span style="color: blue">'11348-0'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.display = <span style="color: blue">'History of Past illness note'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scc.text = <span style="color: blue">'Previous available medical history on the Mortality committee review'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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>"linkEntry"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"sectionObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"section_previous_history"</i><span style="color: navy">;</span>
qr.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'initial-management') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span>comp.section<b> as </b><span style="color: maroon">sec</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sec.title = <span style="color: blue">'Initial management'</span> <i>"title"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sec.code<b> as </b><span style="color: maroon">sc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'18776-5'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Plan of care note'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sobs.code<b> as </b><span style="color: maroon">scc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scc.coding<b> as </b><span style="color: maroon">scg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.code = <span style="color: blue">'18776-5'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.display = <span style="color: blue">'Plan of care note'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scc.text = <span style="color: blue">'Initial management on the Mortality committee review'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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>"linkEntry"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"sectionObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"section_initial_management"</i><span style="color: navy">;</span>
qr.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'complications') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span>comp.section<b> as </b><span style="color: maroon">sec</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sec.title = <span style="color: blue">'Observed complications'</span> <i>"title"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sec.code<b> as </b><span style="color: maroon">sc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'55109-3'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Complications Document'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sobs.code<b> as </b><span style="color: maroon">scc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scc.coding<b> as </b><span style="color: maroon">scg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.code = <span style="color: blue">'55109-3'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.display = <span style="color: blue">'Complications Document'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scc.text = <span style="color: blue">'Observed complications on the Mortality committee review'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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>"linkEntry"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"sectionObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"section_complications"</i><span style="color: navy">;</span>
qr.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'committee-opinion') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span>comp.section<b> as </b><span style="color: maroon">sec</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sec.title = <span style="color: blue">'Opinion of the committee'</span> <i>"title"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sec.code<b> as </b><span style="color: maroon">sc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'51848-0'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Evaluation note'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sobs.code<b> as </b><span style="color: maroon">scc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scc.coding<b> as </b><span style="color: maroon">scg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.code = <span style="color: blue">'51848-0'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.display = <span style="color: blue">'Evaluation note'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scc.text = <span style="color: blue">'Opinion of the committee on the Mortality committee review'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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>"linkEntry"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"sectionObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"section_committee_opinion"</i><span style="color: navy">;</span>
qr.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'recommendation') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span>comp.section<b> as </b><span style="color: maroon">sec</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sec.title = <span style="color: blue">'Recommendation'</span> <i>"title"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sec.code<b> as </b><span style="color: maroon">sc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>sc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'62387-6'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Interventions Narrative'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>sobs.code<b> as </b><span style="color: maroon">scc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scc.coding<b> as </b><span style="color: maroon">scg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>scg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.code = <span style="color: blue">'62387-6'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scg.display = <span style="color: blue">'Interventions Narrative'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>scc.text = <span style="color: blue">'Recommendation on the Mortality committee review'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </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>"linkEntry"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"sectionObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"section_recommendation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"mortalityReviewComposition"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Who saw the patient first, and what they thought it was. Its own</span>
<span style="color: navy">// </span><span style="color: green">Observation because the whole point of a mortality review is whether the</span>
<span style="color: navy">// </span><span style="color: green">right grade of clinician saw the patient early enough, and that question is</span>
<span style="color: navy">// </span><span style="color: green">asked across deaths, not within one.</span>
qr.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>linkId = 'first-clinician'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'first-clinician/rank') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'mortality-review-rank-of-the-first-clinician-who-attended'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Rank of the first clinician who attended'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"narr_mortality_review_rank_of_the_first_clinician_who_attended"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'first-clinician/provisional-diagnosis') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'mortality-review-provisional-diagnosis-made-by-the-first-clinician'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Provisional diagnosis made by the first clinician'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </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>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"narr_mortality_review_provisional_diagnosis_made_by_the_first_clinician"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"firstClinicianGroup"</i><span style="color: navy">;</span>
qr.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'senior-review') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </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"> {
</span> qr<span style="color: navy"><b> -> </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>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'mortality-review-time-of-first-senior-clinician-review'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Time of first senior clinician review'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>obs.value = <span style="color: maroon">v</span><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"seniorReviewObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><span style="color: navy">// </span><span style="color: green">─────────────────────────────────────────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Shared scaffolding. Repeated in each map rather than imported: the transform</span>
<span style="color: navy">// </span><span style="color: green">engine resolves `imports` against whatever StructureMaps happen to be on the</span>
<span style="color: navy">// </span><span style="color: green">server, and a form that stops extracting because a shared map was not</span>
<span style="color: navy">// </span><span style="color: green">uploaded is a worse failure than a duplicated group.</span>
<span style="color: navy">// </span><span style="color: green">Two notes on what the publisher's StructureMap validator says about this file.</span>
<span style="color: navy">// </span><span style="color: green">Source parameters below are left untyped on purpose. Writing `: Element` makes</span>
<span style="color: navy">// </span><span style="color: green">the validator compare QuestionnaireResponse.item against the literal 'Element'</span>
<span style="color: navy">// </span><span style="color: green">and report them as incompatible with each other, which is noise, not a finding.</span>
<span style="color: navy">// </span><span style="color: green">`evaluate(context, expression)` is flagged as "takes 1 parameter but 2 were</span>
<span style="color: navy">// </span><span style="color: green">found". Leave it. The FML parser in the same jar refuses the one-argument form</span>
<span style="color: navy">// </span><span style="color: green">outright -- it wants a parameter, a comma, then the FHIRPath -- so the</span>
<span style="color: navy">// </span><span style="color: green">publisher is objecting to what its own compiler emits. Two arguments is the</span>
<span style="color: navy">// </span><span style="color: green">only form that compiles, and it is what the R5 transform engine executes.</span>
<span style="color: navy">// </span><span style="color: green">─────────────────────────────────────────────────────────────────────────────</span>
<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"> {
</span> qr<span style="color: navy"><b> -> </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>"responseProvenance"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"idAndFullUrl"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>entry.request<b> as </b><span style="color: maroon">request</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>request.method = <span style="color: blue">'POST'</span> <i>"requestMethod"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>request.url = <span style="color: blue">'Observation'</span> <i>"requestUrl"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"entryRequest"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs.status = <span style="color: blue">'final'</span> <i>"status"</i><span style="color: navy">;</span>
qr.subject<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -> </b></span>obs.subject = <span style="color: maroon">s</span><span style="color: navy">;</span>
qr.encounter<b> as </b><span style="color: maroon">e</span><span style="color: navy"><b> -> </b></span>obs.encounter = <span style="color: maroon">e</span><span style="color: navy">;</span>
qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -> </b></span>obs.effective = <span style="color: maroon">t</span> <i>"effective"</i><span style="color: navy">;</span>
qr.source<b> as </b><span style="color: maroon">src</span><span style="color: navy"><b> -> </b></span>obs.performer = <span style="color: maroon">src</span> <i>"performerFromSource"</i><span style="color: navy">;</span>
qr<b> where </b><span style="color: navy">(</span>source.exists().not()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> qr.author<b> as </b><span style="color: maroon">a</span><span style="color: navy"><b> -> </b></span>obs.performer = <span style="color: maroon">a</span> <i>"performerFromAuthor"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"performerFallback"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">A stored response's id already reads "QuestionnaireResponse/<id>", so it is</span>
<span style="color: navy">// </span><span style="color: green">a relative reference as it stands. The hasValue() guard is what stops an</span>
<span style="color: navy">// </span><span style="color: green">unsaved response -- one posted straight to $extract rather than saved first</span>
<span style="color: navy">// </span><span style="color: green">-- from writing "QuestionnaireResponse/null" into the record.</span>
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> -> </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>"linkQuestionnaireResponse"</i><span style="color: navy">;</span>
<span style="color: navy">}
</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"> {
</span> obs.id<b> as </b><span style="color: maroon">id</span><span style="color: navy"><b> -> </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>"assignFullUrl"</i><span style="color: navy">;</span>
<span style="color: navy">}
</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>
<span style="color: navy">// </span><span style="color: green">untyped `.value` accessor: reading `valueCoding` or `valueQuantity` by its</span>
<span style="color: navy">// </span><span style="color: green">typed property name fails at transform time on HAPI R5 with "Attempt to read</span>
<span style="color: navy">// </span><span style="color: green">invalid property ... on QuestionnaireResponse.item.answer".</span>
<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"> {
</span> it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">cv</span><span style="color: navy"><b> -> </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"> {
</span> cv<span style="color: navy"><b> -> </b></span>cc.coding = <span style="color: maroon">cv</span> <i>"valueCoding"</i><span style="color: navy">;</span>
cv.display<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>cc.text = <span style="color: maroon">d</span> <i>"valueText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"codedValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"componentAnswer"</i><span style="color: navy">;</span>
<span style="color: navy">}
</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"> {
</span> it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>comp.value = <span style="color: maroon">v</span> <i>"plainValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"componentAnswer"</i><span style="color: navy">;</span>
<span style="color: navy">}
</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"> {
</span> qr<span style="color: navy"><b> -> </b></span>obs.category<b> as </b><span style="color: maroon">cat</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>cat.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>"categorySystem"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>coding.code = <span style="color: blue">'survey'</span> <i>"categoryCode"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>coding.display = <span style="color: blue">'Survey'</span> <i>"categoryDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"categoryCoding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"category"</i><span style="color: navy">;</span>
<span style="color: navy">}
</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"> {
</span> qr<span style="color: navy"><b> -> </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>"responseProvenance"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </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>"idAndFullUrl"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>entry.request<b> as </b><span style="color: maroon">request</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>request.method = <span style="color: blue">'POST'</span> <i>"requestMethod"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>request.url = <span style="color: blue">'Composition'</span> <i>"requestUrl"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"entryRequest"</i><span style="color: navy">;</span>
qr.subject<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -> </b></span>r.subject = <span style="color: maroon">s</span><span style="color: navy">;</span>
<span style="color: navy">}
</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"> {
</span> r.id<b> as </b><span style="color: maroon">id</span><span style="color: navy"><b> -> </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>"assignFullUrl"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><span style="color: navy">// </span><span style="color: green">── Provenance and tenancy ───────────────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Two tags on everything this map creates. The first says which questionnaire</span>
<span style="color: navy">// </span><span style="color: green">produced it, so a form that reopens mid-admission recalls its own earlier</span>
<span style="color: navy">// </span><span style="color: green">entries and not another form's. The second copies the tenant tags off the</span>
<span style="color: navy">// </span><span style="color: green">response, because nothing else on the path puts them there.</span>
<span style="color: navy">// </span><span style="color: green">The code is the form's document type, not the questionnaire's id: every</span>
<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>
<span style="color: navy">// </span><span style="color: green">here would tie the tag to whichever environment stamped it.</span>
<span style="color: navy">// </span><span style="color: green">── Provenance and tenancy ───────────────────────────────────────────────────</span>
<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"> {
</span> qr<span style="color: navy"><b> -> </b></span>r.meta<b> as </b><span style="color: maroon">m</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>m.tag<b> as </b><span style="color: maroon">t</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>t.system = <span style="color: blue">'http://slade360edi.com/questionnaire-provenance'</span> <i>"provenanceSystem"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>t.code = <span style="color: blue">'mortality-committee-findings'</span> <i>"provenanceCode"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>t.display = <span style="color: blue">'Mortality committee findings and recommendations'</span> <i>"provenanceDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"provenanceTag"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"provenanceMeta"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Every tag the response carries, onto the resource. `meta` is 0..1, so this</span>
<span style="color: navy">// </span><span style="color: green">lands on the same meta the rule above created rather than a second one.</span>
qr.meta<b> as </b><span style="color: maroon">qm</span><b> then</b><span style="color: navy"> {
</span> qm.tag<b> as </b><span style="color: maroon">qt</span><span style="color: navy"><b> -> </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>"copyTag"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"tenantTags"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<url
value="https://fhir.slade360.co.ke/fhir/StructureMap/ExtractMortalityCommitteeFindings"/>
<version value="0.1.0"/>
<name value="ExtractMortalityCommitteeFindings"/>
<title value="Mortality Committee Findings Extraction"/>
<status value="active"/>
<date value="2026-09-14T06:31:13+00:00"/>
<publisher value="Kathurima Kimathi"/>
<contact>
<name value="Kathurima Kimathi"/>
<telecom>
<system value="url"/>
<value value="https://www.linkedin.com/in/kathurima-kimathi/"/>
</telecom>
<telecom>
<system value="email"/>
<value value="kathurimakimathi415@gmail.com"/>
</telecom>
</contact>
<contact>
<name value="Oscar John"/>
<telecom>
<system value="email"/>
<value value="oscarjohnotieno@gmail.com"/>
<use value="work"/>
</telecom>
</contact>
<contact>
<name value="Kennedy Omondi"/>
<telecom>
<system value="email"/>
<value value="kennankole@gmail.com"/>
<use value="work"/>
</telecom>
</contact>
<description
value="The death review as a Composition under LOINC 34133-9, one section per numbered question, each section naming an Observation that carries its text. A governance document rather than a clinical note, so it is kept whole: the committee's opinion means nothing separated from the initial management it is an opinion about."/>
<structure>
<url
value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"/>
<mode value="source"/>
<alias value="QR"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
<mode value="target"/>
<alias value="Bundle"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mode value="target"/>
<alias value="Observation"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Composition"/>
<mode value="target"/>
<alias value="Composition"/>
</structure>
<group>
<name value="ExtractMortalityCommitteeFindings"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="setBundleType"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="bundle"/>
<element value="type"/>
<transform value="copy"/>
<parameter>
<valueString value="transaction"/>
</parameter>
</target>
</rule>
<rule>
<name value="mortalityReviewComposition"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="comp"/>
<transform value="create"/>
<parameter>
<valueString value="Composition"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="comp"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildCompositionBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="status"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="comp"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="title"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="comp"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString
value="Mortality committee findings and recommendations"/>
</parameter>
</target>
</rule>
<rule>
<name value="date"/>
<source>
<context value="qr"/>
<element value="authored"/>
<variable value="t"/>
</source>
<target>
<context value="comp"/>
<element value="date"/>
<transform value="copy"/>
<parameter>
<valueId value="t"/>
</parameter>
</target>
</rule>
<rule>
<name value="author"/>
<source>
<context value="qr"/>
<element value="source"/>
<variable value="src"/>
</source>
<target>
<context value="comp"/>
<element value="author"/>
<transform value="copy"/>
<parameter>
<valueId value="src"/>
</parameter>
</target>
</rule>
<rule>
<name value="type"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="comp"/>
<element value="type"/>
<variable value="tp"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="tp"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="34133-9"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Summary of episode note"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="comp"/>
<element value="category"/>
<variable value="cat"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cat"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/document-type-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="mortality-committee-findings"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString
value="Mortality committee findings and recommendations"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="confidentiality"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="comp"/>
<element value="meta"/>
<variable value="m"/>
</target>
<target>
<context value="m"/>
<element value="security"/>
<variable value="sec"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sec"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/v3-Confidentiality"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sec"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="R"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sec"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="restricted"/>
</parameter>
</target>
</rule>
<documentation
value="Restricted by default. This is a death review, and whether it belongs in
the patient's clinical record at all is a policy question -- so it is
labelled as the more sensitive of the two possibilities rather than the
less, which is the safe direction to be wrong in.
R5 removed Composition.confidentiality; the label lives in
Resource.meta.security. Restricted rather than normal, deliberately: for
a death review and for the mortuary set, whether the record belongs in
the patient's clinical file at all is an open policy question, and the
safe direction to be wrong in is the more protective one."/>
</rule>
<rule>
<name value="reviewGroup"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="g"/>
<condition value="linkId = 'review'"/>
</source>
<rule>
<name value="attendanceRule"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'review/attendance-or-admission') and answer.value.exists()"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="eventStart"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="v"/>
</source>
<target>
<context value="comp"/>
<element value="event"/>
<variable value="ev"/>
</target>
<target>
<context value="ev"/>
<element value="period"/>
<variable value="per"/>
</target>
<target>
<context value="per"/>
<element value="start"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="chairmanRule"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'review/chairman') and answer.value.exists()"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="attester"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="comp"/>
<element value="attester"/>
<variable value="att"/>
</target>
<rule>
<name value="mode"/>
<source>
<context value="txt"/>
</source>
<target>
<context value="att"/>
<element value="mode"/>
<variable value="am"/>
</target>
<target>
<context value="am"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Chairman of the mortality committee"/>
</parameter>
</target>
</rule>
<rule>
<name value="party"/>
<source>
<context value="txt"/>
</source>
<target>
<context value="att"/>
<element value="party"/>
<variable value="pref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="pref"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="secretaryRule"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'review/secretary') and answer.value.exists()"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="secretaryNote"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="comp"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="section_presenting_complaints"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'presenting-complaints') and answer.value.exists()"/>
</source>
<target>
<context value="comp"/>
<element value="section"/>
<variable value="sec"/>
</target>
<rule>
<name value="title"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString value="Initial presenting complaints"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="code"/>
<variable value="sc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="10164-2"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="History of Present illness Narrative"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="sectionObservation"/>
<source>
<context value="it"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="sentry"/>
</target>
<target>
<context value="sentry"/>
<element value="resource"/>
<variable value="sobs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<target>
<context value="sentry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
<parameter>
<valueId value="sentry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sobs"/>
<element value="code"/>
<variable value="scc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="coding"/>
<variable value="scg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="10164-2"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString
value="History of Present illness Narrative"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString
value="Initial presenting complaints on the Mortality committee review"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="sobs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="linkEntry"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="entry"/>
<variable value="sref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="sref"/>
<element value="reference"/>
<transform value="reference"/>
<parameter>
<valueId value="sobs"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="section_previous_history"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'previous-history') and answer.value.exists()"/>
</source>
<target>
<context value="comp"/>
<element value="section"/>
<variable value="sec"/>
</target>
<rule>
<name value="title"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString value="Previous available medical history"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="code"/>
<variable value="sc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="11348-0"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="History of Past illness note"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="sectionObservation"/>
<source>
<context value="it"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="sentry"/>
</target>
<target>
<context value="sentry"/>
<element value="resource"/>
<variable value="sobs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<target>
<context value="sentry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
<parameter>
<valueId value="sentry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sobs"/>
<element value="code"/>
<variable value="scc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="coding"/>
<variable value="scg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="11348-0"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="History of Past illness note"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString
value="Previous available medical history on the Mortality committee review"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="sobs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="linkEntry"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="entry"/>
<variable value="sref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="sref"/>
<element value="reference"/>
<transform value="reference"/>
<parameter>
<valueId value="sobs"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="section_initial_management"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'initial-management') and answer.value.exists()"/>
</source>
<target>
<context value="comp"/>
<element value="section"/>
<variable value="sec"/>
</target>
<rule>
<name value="title"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString value="Initial management"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="code"/>
<variable value="sc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="18776-5"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Plan of care note"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="sectionObservation"/>
<source>
<context value="it"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="sentry"/>
</target>
<target>
<context value="sentry"/>
<element value="resource"/>
<variable value="sobs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<target>
<context value="sentry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
<parameter>
<valueId value="sentry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sobs"/>
<element value="code"/>
<variable value="scc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="coding"/>
<variable value="scg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="18776-5"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Plan of care note"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString
value="Initial management on the Mortality committee review"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="sobs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="linkEntry"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="entry"/>
<variable value="sref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="sref"/>
<element value="reference"/>
<transform value="reference"/>
<parameter>
<valueId value="sobs"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="section_complications"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'complications') and answer.value.exists()"/>
</source>
<target>
<context value="comp"/>
<element value="section"/>
<variable value="sec"/>
</target>
<rule>
<name value="title"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString value="Observed complications"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="code"/>
<variable value="sc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="55109-3"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Complications Document"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="sectionObservation"/>
<source>
<context value="it"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="sentry"/>
</target>
<target>
<context value="sentry"/>
<element value="resource"/>
<variable value="sobs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<target>
<context value="sentry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
<parameter>
<valueId value="sentry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sobs"/>
<element value="code"/>
<variable value="scc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="coding"/>
<variable value="scg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="55109-3"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Complications Document"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString
value="Observed complications on the Mortality committee review"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="sobs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="linkEntry"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="entry"/>
<variable value="sref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="sref"/>
<element value="reference"/>
<transform value="reference"/>
<parameter>
<valueId value="sobs"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="section_committee_opinion"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'committee-opinion') and answer.value.exists()"/>
</source>
<target>
<context value="comp"/>
<element value="section"/>
<variable value="sec"/>
</target>
<rule>
<name value="title"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString value="Opinion of the committee"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="code"/>
<variable value="sc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="51848-0"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Evaluation note"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="sectionObservation"/>
<source>
<context value="it"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="sentry"/>
</target>
<target>
<context value="sentry"/>
<element value="resource"/>
<variable value="sobs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<target>
<context value="sentry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
<parameter>
<valueId value="sentry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sobs"/>
<element value="code"/>
<variable value="scc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="coding"/>
<variable value="scg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="51848-0"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Evaluation note"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString
value="Opinion of the committee on the Mortality committee review"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="sobs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="linkEntry"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="entry"/>
<variable value="sref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="sref"/>
<element value="reference"/>
<transform value="reference"/>
<parameter>
<valueId value="sobs"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="section_recommendation"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'recommendation') and answer.value.exists()"/>
</source>
<target>
<context value="comp"/>
<element value="section"/>
<variable value="sec"/>
</target>
<rule>
<name value="title"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString value="Recommendation"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="code"/>
<variable value="sc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="62387-6"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Interventions Narrative"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="sectionObservation"/>
<source>
<context value="it"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="sentry"/>
</target>
<target>
<context value="sentry"/>
<element value="resource"/>
<variable value="sobs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<target>
<context value="sentry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
<parameter>
<valueId value="sentry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="sobs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="sobs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sobs"/>
<element value="code"/>
<variable value="scc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="coding"/>
<variable value="scg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="62387-6"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Interventions Narrative"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="it"/>
</source>
<target>
<context value="scc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString
value="Recommendation on the Mortality committee review"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="sobs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="linkEntry"/>
<source>
<context value="it"/>
</source>
<target>
<context value="sec"/>
<element value="entry"/>
<variable value="sref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="sref"/>
<element value="reference"/>
<transform value="reference"/>
<parameter>
<valueId value="sobs"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="firstClinicianGroup"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="g"/>
<condition value="linkId = 'first-clinician'"/>
</source>
<rule>
<name
value="narr_mortality_review_rank_of_the_first_clinician_who_attended"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'first-clinician/rank') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="mortality-review-rank-of-the-first-clinician-who-attended"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString
value="Rank of the first clinician who attended"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="obs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name
value="narr_mortality_review_provisional_diagnosis_made_by_the_first_clinician"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'first-clinician/provisional-diagnosis') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="mortality-review-provisional-diagnosis-made-by-the-first-clinician"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString
value="Provisional diagnosis made by the first clinician"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="obs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<documentation
value="Who saw the patient first, and what they thought it was. Its own
Observation because the whole point of a mortality review is whether the
right grade of clinician saw the patient early enough, and that question is
asked across deaths, not within one."/>
</rule>
<rule>
<name value="seniorReviewObservation"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'senior-review') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="mortality-review-time-of-first-senior-clinician-review"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Time of first senior clinician review"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="v"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="BuildObsBase"/>
<documentation
value="─────────────────────────────────────────────────────────────────────────────
Shared scaffolding. Repeated in each map rather than imported: the transform
engine resolves `imports` against whatever StructureMaps happen to be on the
server, and a form that stops extracting because a shared map was not
uploaded is a worse failure than a duplicated group.
Two notes on what the publisher's StructureMap validator says about this file.
Source parameters below are left untyped on purpose. Writing `: Element` makes
the validator compare QuestionnaireResponse.item against the literal 'Element'
and report them as incompatible with each other, which is noise, not a finding.
`evaluate(context, expression)` is flagged as "takes 1 parameter but 2 were
found". Leave it. The FML parser in the same jar refuses the one-argument form
outright -- it wants a parameter, a comma, then the FHIRPath -- so the
publisher is objecting to what its own compiler emits. Two arguments is the
only form that compiles, and it is what the R5 transform engine executes.
─────────────────────────────────────────────────────────────────────────────"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<input>
<name value="entry"/>
<mode value="target"/>
</input>
<rule>
<name value="responseProvenance"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetResponseProvenance"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="idAndFullUrl"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
<element value="id"/>
<transform value="uuid"/>
</target>
<dependent>
<name value="SetObservationFullUrl"/>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="entryRequest"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="entry"/>
<element value="request"/>
<variable value="request"/>
</target>
<rule>
<name value="requestMethod"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="request"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
</rule>
<rule>
<name value="requestUrl"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="request"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="status"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="subject"/>
<source>
<context value="qr"/>
<element value="subject"/>
<variable value="s"/>
</source>
<target>
<context value="obs"/>
<element value="subject"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
<rule>
<name value="encounter"/>
<source>
<context value="qr"/>
<element value="encounter"/>
<variable value="e"/>
</source>
<target>
<context value="obs"/>
<element value="encounter"/>
<transform value="copy"/>
<parameter>
<valueId value="e"/>
</parameter>
</target>
</rule>
<rule>
<name value="effective"/>
<source>
<context value="qr"/>
<element value="authored"/>
<variable value="t"/>
</source>
<target>
<context value="obs"/>
<element value="effective"/>
<transform value="copy"/>
<parameter>
<valueId value="t"/>
</parameter>
</target>
</rule>
<rule>
<name value="performerFromSource"/>
<source>
<context value="qr"/>
<element value="source"/>
<variable value="src"/>
</source>
<target>
<context value="obs"/>
<element value="performer"/>
<transform value="copy"/>
<parameter>
<valueId value="src"/>
</parameter>
</target>
</rule>
<rule>
<name value="performerFallback"/>
<source>
<context value="qr"/>
<condition value="source.exists().not()"/>
</source>
<rule>
<name value="performerFromAuthor"/>
<source>
<context value="qr"/>
<element value="author"/>
<variable value="a"/>
</source>
<target>
<context value="obs"/>
<element value="performer"/>
<transform value="copy"/>
<parameter>
<valueId value="a"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="linkQuestionnaireResponse"/>
<source>
<context value="qr"/>
<element value="id"/>
<variable value="qid"/>
<condition value="$this.hasValue()"/>
</source>
<target>
<context value="obs"/>
<element value="derivedFrom"/>
<variable value="ref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="ref"/>
<element value="reference"/>
<transform value="copy"/>
<parameter>
<valueId value="qid"/>
</parameter>
</target>
<documentation
value="A stored response's id already reads "QuestionnaireResponse/<id>", so it is
a relative reference as it stands. The hasValue() guard is what stops an
unsaved response -- one posted straight to $extract rather than saved first
-- from writing "QuestionnaireResponse/null" into the record."/>
</rule>
</group>
<group>
<name value="SetObservationFullUrl"/>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="source"/>
</input>
<input>
<name value="entry"/>
<mode value="target"/>
</input>
<rule>
<name value="assignFullUrl"/>
<source>
<context value="obs"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="entry"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://fhir.slade360.co.ke/fhir/Observation/"/>
</parameter>
<parameter>
<valueId value="id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SetComponentCodedValue"/>
<documentation
value="The two answer shapes a component can carry. Both read the answer through the
untyped `.value` accessor: reading `valueCoding` or `valueQuantity` by its
typed property name fails at transform time on HAPI R5 with "Attempt to read
invalid property ... on QuestionnaireResponse.item.answer"."/>
<input>
<name value="it"/>
<mode value="source"/>
</input>
<input>
<name value="comp"/>
<mode value="target"/>
</input>
<rule>
<name value="componentAnswer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="codedValue"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="cv"/>
</source>
<target>
<context value="comp"/>
<element value="value"/>
<variable value="cc"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="valueCoding"/>
<source>
<context value="cv"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<transform value="copy"/>
<parameter>
<valueId value="cv"/>
</parameter>
</target>
</rule>
<rule>
<name value="valueText"/>
<source>
<context value="cv"/>
<element value="display"/>
<variable value="d"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="d"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="SetComponentValue"/>
<input>
<name value="it"/>
<mode value="source"/>
</input>
<input>
<name value="comp"/>
<mode value="target"/>
</input>
<rule>
<name value="componentAnswer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="plainValue"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="v"/>
</source>
<target>
<context value="comp"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
</rule>
</group>
<group>
<name value="SetSurveyCategory"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
<element value="category"/>
<variable value="cat"/>
</target>
<rule>
<name value="categoryCoding"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cat"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="categorySystem"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</parameter>
</target>
</rule>
<rule>
<name value="categoryCode"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="survey"/>
</parameter>
</target>
</rule>
<rule>
<name value="categoryDisplay"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Survey"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="BuildCompositionBase"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="r"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="entry"/>
<mode value="target"/>
</input>
<rule>
<name value="responseProvenance"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="r"/>
</target>
<dependent>
<name value="SetResponseProvenance"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="r"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="idAndFullUrl"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="r"/>
<element value="id"/>
<transform value="uuid"/>
</target>
<dependent>
<name value="SetCompositionFullUrl"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="entryRequest"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="entry"/>
<element value="request"/>
<variable value="request"/>
</target>
<rule>
<name value="requestMethod"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="request"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
</rule>
<rule>
<name value="requestUrl"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="request"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Composition"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="subject"/>
<source>
<context value="qr"/>
<element value="subject"/>
<variable value="s"/>
</source>
<target>
<context value="r"/>
<element value="subject"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SetCompositionFullUrl"/>
<input>
<name value="r"/>
<type value="Composition"/>
<mode value="source"/>
</input>
<input>
<name value="entry"/>
<mode value="target"/>
</input>
<rule>
<name value="assignFullUrl"/>
<source>
<context value="r"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="entry"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://fhir.slade360.co.ke/fhir/Composition/"/>
</parameter>
<parameter>
<valueId value="id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SetResponseProvenance"/>
<documentation
value="── Provenance and tenancy ───────────────────────────────────────────────────
Two tags on everything this map creates. The first says which questionnaire
produced it, so a form that reopens mid-admission recalls its own earlier
entries and not another form's. The second copies the tenant tags off the
response, because nothing else on the path puts them there.
The code is the form's document type, not the questionnaire's id: every
environment mints its own ids, and there is only one set of maps, so an id
here would tie the tag to whichever environment stamped it.
── Provenance and tenancy ───────────────────────────────────────────────────"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="r"/>
<mode value="target"/>
</input>
<rule>
<name value="provenanceMeta"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="r"/>
<element value="meta"/>
<variable value="m"/>
</target>
<rule>
<name value="provenanceTag"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="m"/>
<element value="tag"/>
<variable value="t"/>
</target>
<rule>
<name value="provenanceSystem"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="t"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://slade360edi.com/questionnaire-provenance"/>
</parameter>
</target>
</rule>
<rule>
<name value="provenanceCode"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="t"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="mortality-committee-findings"/>
</parameter>
</target>
</rule>
<rule>
<name value="provenanceDisplay"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="t"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString
value="Mortality committee findings and recommendations"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="tenantTags"/>
<source>
<context value="qr"/>
<element value="meta"/>
<variable value="qm"/>
</source>
<rule>
<name value="copyTag"/>
<source>
<context value="qm"/>
<element value="tag"/>
<variable value="qt"/>
</source>
<target>
<context value="r"/>
<element value="meta"/>
<variable value="m"/>
</target>
<target>
<context value="m"/>
<element value="tag"/>
<transform value="copy"/>
<parameter>
<valueId value="qt"/>
</parameter>
</target>
</rule>
<documentation
value="Every tag the response carries, onto the resource. `meta` is 0..1, so this
lands on the same meta the rule above created rather than a second one."/>
</rule>
</group>
</StructureMap>