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 2025-09-17 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="DocumentReferenceSGHI5"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap DocumentReferenceSGHI5</b></p><a name="DocumentReferenceSGHI5"> </a><a name="hcDocumentReferenceSGHI5"> </a><pre class="fml">
<span style="color: #cc00cc">/// <b>url</b> = </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/StructureMap/DocumentReferenceSGHI5'</span>
<span style="color: #cc00cc">/// <b>name</b> = </span><span style="color: blue">'DocumentReferenceSGHI5'</span>
<span style="color: #cc00cc">/// <b>title</b> = </span><span style="color: blue">'DocumentReference Transforms: R4 to SGHI R5'</span>
<span style="color: #cc00cc">/// <b>status</b> = </span><span style="color: blue">'active'</span>
<b>uses</b><span style="color: navy"> "</span>http://hl7.org/fhir/4.0/StructureDefinition/DocumentReference<span style="color: navy">" </span><b>alias </b>DocumentReferenceR4 <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-sghi-documentreference.html" title="SGHI DocumentReference Profile.">https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-documentreference</a><span style="color: navy">" </span><b>alias </b>SGHIDocumentReference <b>as </b><b>target</b>
<b>imports</b><span style="color: navy"> "</span>http://hl7.org/fhir/StructureMap/*4to5<span style="color: navy">"
</span>
<b>group </b>SGHIDocumentReference<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>DocumentReferenceR4, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>SGHIDocumentReference<span style="color: navy">)</span><b> <<type+>></b><span style="color: navy"> {
</span> src.id<b> as </b><span style="color: maroon">uuid</span><span style="color: navy"><b> -> </b></span>tgt.id = <span style="color: maroon">uuid</span><span style="color: navy">;</span>
src.active<span style="color: navy"><b> -> </b></span>tgt.active<span style="color: navy">;</span>
src.language<span style="color: navy"><b> -> </b></span>tgt.language<span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tgt.meta<b> as </b><span style="color: maroon">t_meta</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>t_meta.profile = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-documentreference'</span> <i>"addsghiprofile"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"addtometa"</i><span style="color: navy">;</span>
src<b> where </b>text.exists().not()<span style="color: navy"><b> -> </b></span>tgt.text = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Narrative'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">t_text</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>t_text.status = <span style="color: blue">'generated'</span> <i>"settextstatus"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>t_text.div = <span style="color: blue">'<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Generated text</h1></div>'</span> <i>"settextdiv"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"createhardcodedtext"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tgt.text = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Narrative'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ttt</span><b> then</b><span style="color: navy"> {
</span> src.text<b> as </b><span style="color: maroon">st</span><b> then</b><span style="color: navy"> {
</span> st.status<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -> </b></span>ttt.status = <span style="color: maroon">s</span><span style="color: navy">;</span>
st.div<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>ttt.div = <span style="color: navy">(</span>'<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>' + d + '</p></div>'<span style="color: navy">)</span> <i>"wraptextinhtml"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setting text"</i><span style="color: navy">;</span>
src.id<b> as </b><span style="color: maroon">s_id</span><span style="color: navy"><b> -> </b></span>tgt.identifier = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Identifier'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">t_ident</span><b> then</b><span style="color: navy"> {
</span> s_id<b> as </b><span style="color: maroon">uuid</span><span style="color: navy"><b> -> </b></span>t_ident.value = <span style="color: maroon">uuid</span> <i>"copyid"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>t_ident.use = <span style="color: blue">'official'</span> <i>"setuse"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>t_ident.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem'</span> <i>"setsystem"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>t_ident.type = <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">t_type</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>t_type.coding = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Coding'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">t_code</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>t_code.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem'</span> <i>"typesystem"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>t_code.code = <span style="color: blue">'fhir-id'</span> <i>"typecode"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>t_code.display = <span style="color: blue">'FHIR Id'</span> <i>"typedisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"initcoding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"inittype"</i><span style="color: navy">;</span>
src.meta<b> as </b><span style="color: maroon">sm</span><b> then</b><span style="color: navy"> {
</span> sm.tag last<b> as </b><span style="color: maroon">st</span><span style="color: navy"><b> -> </b></span>t_ident.assigner = <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">ta</span><b> then </b>TransformAssigner<span style="color: navy">(</span><span style="color: maroon">st</span><span style="color: navy">, </span><span style="color: maroon">ta</span><span style="color: navy">)</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setting owner"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"addfhirididentifier"</i><span style="color: navy">;</span>
src.context<b> as </b><span style="color: maroon">sctx</span><b> then</b><span style="color: navy"> {
</span> sctx.related<b> as </b><span style="color: maroon">sr</span><span style="color: navy"><b> -> </b></span>tgt.basedOn = <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">tr</span><b> then </b>TransformReference<span style="color: navy">(</span><span style="color: maroon">sr</span><span style="color: navy">, </span><span style="color: maroon">tr</span><span style="color: navy">)</span><span style="color: navy">;</span>
sctx.encounter<b> as </b><span style="color: maroon">se</span><span style="color: navy"><b> -> </b></span>tgt.context = <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">te</span><b> then </b>TransformReference<span style="color: navy">(</span><span style="color: maroon">se</span><span style="color: navy">, </span><span style="color: maroon">te</span><span style="color: navy">)</span><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
src.status<span style="color: navy"><b> -> </b></span>tgt.status<span style="color: navy">;</span>
src.docStatus<span style="color: navy"><b> -> </b></span>tgt.docStatus<span style="color: navy">;</span>
src.category<b> as </b><span style="color: maroon">sg</span><span style="color: navy"><b> -> </b></span>tgt.category<b> as </b><span style="color: maroon">tg</span><b> then</b><span style="color: navy"> {
</span> sg.coding<b> as </b><span style="color: maroon">sc</span><span style="color: navy"><b> -> </b></span>tg.coding<b> as </b><span style="color: maroon">tc</span><b> then </b>TransformCoding<span style="color: navy">(</span><span style="color: maroon">sc</span><span style="color: navy">, </span><span style="color: maroon">tc</span><span style="color: navy">)</span><span style="color: navy">;</span>
sg.text<span style="color: navy"><b> -> </b></span>tg.text<span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
src.type<b> as </b><span style="color: maroon">stype</span><span style="color: navy"><b> -> </b></span>tgt.type<b> as </b><span style="color: maroon">ttype</span><b> then</b><span style="color: navy"> {
</span> stype.coding<b> as </b><span style="color: maroon">scoding</span><span style="color: navy"><b> -> </b></span>ttype.coding = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Coding'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">tcoding</span><b> then</b><span style="color: navy"> {
</span> scoding.code<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>tcoding.code = <b>translate</b><span style="color: navy">(</span><span style="color: maroon">d</span><span style="color: navy">, </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap'</span><span style="color: navy">, </span><span style="color: blue">'code'</span><span style="color: navy">)</span><span style="color: navy">;</span>
scoding.code<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>tcoding.system = <b>translate</b><span style="color: navy">(</span><span style="color: maroon">d</span><span style="color: navy">, </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap'</span><span style="color: navy">, </span><span style="color: blue">'system'</span><span style="color: navy">)</span><span style="color: navy">;</span>
scoding.code<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>tcoding.display = <b>translate</b><span style="color: navy">(</span><span style="color: maroon">d</span><span style="color: navy">, </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap'</span><span style="color: navy">, </span><span style="color: blue">'display'</span><span style="color: navy">)</span><span style="color: navy">;</span>
scoding.code<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>ttype.text = <b>translate</b><span style="color: navy">(</span><span style="color: maroon">d</span><span style="color: navy">, </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap'</span><span style="color: navy">, </span><span style="color: blue">'display'</span><span style="color: navy">)</span><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
src<b> where </b>type.exists().not()<span style="color: navy"><b> -> </b></span>tgt.type = <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">tconcept</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>tconcept.coding = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Coding'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">tcoding</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>tcoding.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap'</span> <i>"setting system"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tcoding.code = <span style="color: blue">'referral'</span> <i>"setting code"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tcoding.display = <span style="color: blue">'Referral'</span> <i>"setting display"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setting coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setting default type"</i><span style="color: navy">;</span>
src.subject<b> as </b><span style="color: maroon">sb</span><span style="color: navy"><b> -> </b></span>tgt.subject<b> as </b><span style="color: maroon">tb</span><b> then </b>TransformReference<span style="color: navy">(</span><span style="color: maroon">sb</span><span style="color: navy">, </span><span style="color: maroon">tb</span><span style="color: navy">)</span><span style="color: navy">;</span>
src.date<span style="color: navy"><b> -> </b></span>tgt.date<span style="color: navy">;</span>
src.author<b> as </b><span style="color: maroon">sa</span><span style="color: navy"><b> -> </b></span>tgt.author<b> as </b><span style="color: maroon">ta</span><b> then </b>TransformReference<span style="color: navy">(</span><span style="color: maroon">sa</span><span style="color: navy">, </span><span style="color: maroon">ta</span><span style="color: navy">)</span><span style="color: navy">;</span>
src<b> where </b>author.exists().not()<b> then</b><span style="color: navy"> {
</span> src.meta<b> as </b><span style="color: maroon">sm</span><b> then</b><span style="color: navy"> {
</span> sm.tag last<b> as </b><span style="color: maroon">st</span><span style="color: navy"><b> -> </b></span>tgt.author = <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">ta</span><b> then </b>TransformAssigner<span style="color: navy">(</span><span style="color: maroon">st</span><span style="color: navy">, </span><span style="color: maroon">ta</span><span style="color: navy">)</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setting author"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setting author"</i><span style="color: navy">;</span>
src.custodian<b> as </b><span style="color: maroon">scd</span><span style="color: navy"><b> -> </b></span>tgt.custodian<b> as </b><span style="color: maroon">tcd</span><b> then </b>TransformReference<span style="color: navy">(</span><span style="color: maroon">scd</span><span style="color: navy">, </span><span style="color: maroon">tcd</span><span style="color: navy">)</span><span style="color: navy">;</span>
src<b> where </b>custodian.exists().not()<b> then</b><span style="color: navy"> {
</span> src.meta<b> as </b><span style="color: maroon">sm</span><b> then</b><span style="color: navy"> {
</span> sm.tag last<b> as </b><span style="color: maroon">st</span><span style="color: navy"><b> -> </b></span>tgt.custodian = <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">ta</span><b> then </b>TransformAssigner<span style="color: navy">(</span><span style="color: maroon">st</span><span style="color: navy">, </span><span style="color: maroon">ta</span><span style="color: navy">)</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setting custodian"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"set custodian"</i><span style="color: navy">;</span>
src.content<b> as </b><span style="color: maroon">sct</span><span style="color: navy"><b> -> </b></span>tgt.content = <b>create</b><span style="color: navy">(</span><span style="color: blue">'BackboneElement'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">tct</span><b> then</b><span style="color: navy"> {
</span> sct.attachment<b> as </b><span style="color: maroon">sa</span><span style="color: navy"><b> -> </b></span>tct.attachment<b> as </b><span style="color: maroon">ta</span><b> then</b><span style="color: navy"> {
</span> sa.contentType<span style="color: navy"><b> -> </b></span>ta.contentType<span style="color: navy">;</span>
sa.title<span style="color: navy"><b> -> </b></span>ta.title<span style="color: navy">;</span>
sa.url<span style="color: navy"><b> -> </b></span>ta.url<span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>TransformAssigner<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span>, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy">)</span><b> <<types>></b><span style="color: navy"> {
</span> src.code<b> as </b><span style="color: maroon">code</span><span style="color: navy"><b> -> </b></span>tgt.reference = <b>append</b><span style="color: navy">(</span><span style="color: blue">'Organization/'</span><span style="color: navy">, </span><span style="color: maroon">code</span><span style="color: navy">)</span><span style="color: navy">;</span>
src<b> where </b>display.exists().not()<span style="color: navy"><b> -> </b></span>tgt.display = <span style="color: blue">'Unknown display'</span> <i>"setting default display"</i><span style="color: navy">;</span>
src.display<span style="color: navy"><b> -> </b></span>tgt.display<span style="color: navy">;</span>
src.code<span style="color: navy"><b> -> </b></span>tgt.id<span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>TransformReference<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span>, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy">)</span><b> <<types>></b><span style="color: navy"> {
</span> src.id<span style="color: navy"><b> -> </b></span>tgt.id<span style="color: navy">;</span>
src.reference<span style="color: navy"><b> -> </b></span>tgt.reference<span style="color: navy">;</span>
src.display<span style="color: navy"><b> -> </b></span>tgt.display<span style="color: navy">;</span>
src.text<span style="color: navy"><b> -> </b></span>tgt.display<span style="color: navy">;</span>
src<b> where </b>display.exists().not()<span style="color: navy"><b> -> </b></span>tgt.display = <span style="color: blue">'Unknown display'</span> <i>"setting display"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>TransformCoding<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span>, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy">)</span><b> <<types>></b><span style="color: navy"> {
</span> src.code<span style="color: navy"><b> -> </b></span>tgt.code<span style="color: navy">;</span>
src.display<span style="color: navy"><b> -> </b></span>tgt.display<span style="color: navy">;</span>
src<b> where </b>display.exists().not()<span style="color: navy"><b> -> </b></span>tgt.display = <span style="color: blue">'Unknown display'</span> <i>"settingdefaultdisplay"</i><span style="color: navy">;</span>
src.system<span style="color: navy"><b> -> </b></span>tgt.system<span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<url
value="https://fhir.slade360.co.ke/fhir/StructureMap/DocumentReferenceSGHI5"/>
<version value="0.1.0"/>
<name value="DocumentReferenceSGHI5"/>
<title value="DocumentReference Transforms: R4 to SGHI R5"/>
<status value="active"/>
<date value="2025-09-17T11:42:20+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="DocumentReferenceTransformsR4toSGHIR5"/>
<structure>
<url
value="http://hl7.org/fhir/4.0/StructureDefinition/DocumentReference"/>
<mode value="source"/>
<alias value="DocumentReferenceR4"/>
</structure>
<structure>
<url
value="https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-documentreference"/>
<mode value="target"/>
<alias value="SGHIDocumentReference"/>
</structure>
<import value="http://hl7.org/fhir/StructureMap/*4to5"/>
<group>
<name value="SGHIDocumentReference"/>
<typeMode value="type-and-types"/>
<input>
<name value="src"/>
<type value="DocumentReferenceR4"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="SGHIDocumentReference"/>
<mode value="target"/>
</input>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="uuid"/>
</source>
<target>
<context value="tgt"/>
<element value="id"/>
<transform value="copy"/>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
</rule>
<rule>
<name value="active"/>
<source>
<context value="src"/>
<element value="active"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="active"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="language"/>
<source>
<context value="src"/>
<element value="language"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="language"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="addtometa"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<element value="meta"/>
<variable value="t_meta"/>
</target>
<rule>
<name value="addsghiprofile"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_meta"/>
<element value="profile"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-documentreference"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="createhardcodedtext"/>
<source>
<context value="src"/>
<condition value="text.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<element value="text"/>
<variable value="t_text"/>
<transform value="create"/>
<parameter>
<valueString value="Narrative"/>
</parameter>
</target>
<rule>
<name value="settextstatus"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_text"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="generated"/>
</parameter>
</target>
</rule>
<rule>
<name value="settextdiv"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_text"/>
<element value="div"/>
<transform value="copy"/>
<parameter>
<valueString
value="<div xmlns="http://www.w3.org/1999/xhtml"><h1>Generated text</h1></div>"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="setting text"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<element value="text"/>
<variable value="ttt"/>
<transform value="create"/>
<parameter>
<valueString value="Narrative"/>
</parameter>
</target>
<rule>
<name value="text"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="st"/>
</source>
<rule>
<name value="status"/>
<source>
<context value="st"/>
<element value="status"/>
<variable value="s"/>
</source>
<target>
<context value="ttt"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
<rule>
<name value="wraptextinhtml"/>
<source>
<context value="st"/>
<element value="div"/>
<variable value="d"/>
</source>
<target>
<context value="ttt"/>
<element value="div"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>' + d + '</p></div>'"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="addfhirididentifier"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="s_id"/>
</source>
<target>
<context value="tgt"/>
<element value="identifier"/>
<variable value="t_ident"/>
<transform value="create"/>
<parameter>
<valueString value="Identifier"/>
</parameter>
</target>
<rule>
<name value="copyid"/>
<source>
<context value="s_id"/>
<variable value="uuid"/>
</source>
<target>
<context value="t_ident"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
</rule>
<rule>
<name value="setuse"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_ident"/>
<element value="use"/>
<transform value="copy"/>
<parameter>
<valueString value="official"/>
</parameter>
</target>
</rule>
<rule>
<name value="setsystem"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_ident"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="inittype"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_ident"/>
<element value="type"/>
<variable value="t_type"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="initcoding"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_type"/>
<element value="coding"/>
<variable value="t_code"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="typesystem"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_code"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="typecode"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_code"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="fhir-id"/>
</parameter>
</target>
</rule>
<rule>
<name value="typedisplay"/>
<source>
<context value="src"/>
</source>
<target>
<context value="t_code"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="FHIR Id"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="setting owner"/>
<source>
<context value="src"/>
<element value="meta"/>
<variable value="sm"/>
</source>
<rule>
<name value="tag"/>
<source>
<context value="sm"/>
<element value="tag"/>
<listMode value="last"/>
<variable value="st"/>
</source>
<target>
<context value="t_ident"/>
<element value="assigner"/>
<variable value="ta"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<dependent>
<name value="TransformAssigner"/>
<parameter>
<valueId value="st"/>
</parameter>
<parameter>
<valueId value="ta"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="context"/>
<source>
<context value="src"/>
<element value="context"/>
<variable value="sctx"/>
</source>
<rule>
<name value="related"/>
<source>
<context value="sctx"/>
<element value="related"/>
<variable value="sr"/>
</source>
<target>
<context value="tgt"/>
<element value="basedOn"/>
<variable value="tr"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<dependent>
<name value="TransformReference"/>
<parameter>
<valueId value="sr"/>
</parameter>
<parameter>
<valueId value="tr"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="encounter"/>
<source>
<context value="sctx"/>
<element value="encounter"/>
<variable value="se"/>
</source>
<target>
<context value="tgt"/>
<element value="context"/>
<variable value="te"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<dependent>
<name value="TransformReference"/>
<parameter>
<valueId value="se"/>
</parameter>
<parameter>
<valueId value="te"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="status"/>
<source>
<context value="src"/>
<element value="status"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="status"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="docStatus"/>
<source>
<context value="src"/>
<element value="docStatus"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="docStatus"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="src"/>
<element value="category"/>
<variable value="sg"/>
</source>
<target>
<context value="tgt"/>
<element value="category"/>
<variable value="tg"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="sg"/>
<element value="coding"/>
<variable value="sc"/>
</source>
<target>
<context value="tg"/>
<element value="coding"/>
<variable value="tc"/>
</target>
<dependent>
<name value="TransformCoding"/>
<parameter>
<valueId value="sc"/>
</parameter>
<parameter>
<valueId value="tc"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="text"/>
<source>
<context value="sg"/>
<element value="text"/>
<variable value="vvv"/>
</source>
<target>
<context value="tg"/>
<element value="text"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="type"/>
<source>
<context value="src"/>
<element value="type"/>
<variable value="stype"/>
</source>
<target>
<context value="tgt"/>
<element value="type"/>
<variable value="ttype"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="stype"/>
<element value="coding"/>
<variable value="scoding"/>
</source>
<target>
<context value="ttype"/>
<element value="coding"/>
<variable value="tcoding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="code"/>
<source>
<context value="scoding"/>
<element value="code"/>
<variable value="d"/>
</source>
<target>
<context value="tcoding"/>
<element value="code"/>
<transform value="translate"/>
<parameter>
<valueId value="d"/>
</parameter>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="scoding"/>
<element value="code"/>
<variable value="d"/>
</source>
<target>
<context value="tcoding"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="d"/>
</parameter>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap"/>
</parameter>
<parameter>
<valueString value="system"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="scoding"/>
<element value="code"/>
<variable value="d"/>
</source>
<target>
<context value="tcoding"/>
<element value="display"/>
<transform value="translate"/>
<parameter>
<valueId value="d"/>
</parameter>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap"/>
</parameter>
<parameter>
<valueString value="display"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="scoding"/>
<element value="code"/>
<variable value="d"/>
</source>
<target>
<context value="ttype"/>
<element value="text"/>
<transform value="translate"/>
<parameter>
<valueId value="d"/>
</parameter>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap"/>
</parameter>
<parameter>
<valueString value="display"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="setting default type"/>
<source>
<context value="src"/>
<condition value="type.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<element value="type"/>
<variable value="tconcept"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="setting coding"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tconcept"/>
<element value="coding"/>
<variable value="tcoding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="setting system"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tcoding"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/ConceptMap/CIELtoFHIRCategoryCodeBindingsMap"/>
</parameter>
</target>
</rule>
<rule>
<name value="setting code"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tcoding"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="referral"/>
</parameter>
</target>
</rule>
<rule>
<name value="setting display"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tcoding"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Referral"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="subject"/>
<source>
<context value="src"/>
<element value="subject"/>
<variable value="sb"/>
</source>
<target>
<context value="tgt"/>
<element value="subject"/>
<variable value="tb"/>
</target>
<dependent>
<name value="TransformReference"/>
<parameter>
<valueId value="sb"/>
</parameter>
<parameter>
<valueId value="tb"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="date"/>
<source>
<context value="src"/>
<element value="date"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="date"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="author"/>
<source>
<context value="src"/>
<element value="author"/>
<variable value="sa"/>
</source>
<target>
<context value="tgt"/>
<element value="author"/>
<variable value="ta"/>
</target>
<dependent>
<name value="TransformReference"/>
<parameter>
<valueId value="sa"/>
</parameter>
<parameter>
<valueId value="ta"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="setting author"/>
<source>
<context value="src"/>
<condition value="author.exists().not()"/>
</source>
<rule>
<name value="setting author"/>
<source>
<context value="src"/>
<element value="meta"/>
<variable value="sm"/>
</source>
<rule>
<name value="tag"/>
<source>
<context value="sm"/>
<element value="tag"/>
<listMode value="last"/>
<variable value="st"/>
</source>
<target>
<context value="tgt"/>
<element value="author"/>
<variable value="ta"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<dependent>
<name value="TransformAssigner"/>
<parameter>
<valueId value="st"/>
</parameter>
<parameter>
<valueId value="ta"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="custodian"/>
<source>
<context value="src"/>
<element value="custodian"/>
<variable value="scd"/>
</source>
<target>
<context value="tgt"/>
<element value="custodian"/>
<variable value="tcd"/>
</target>
<dependent>
<name value="TransformReference"/>
<parameter>
<valueId value="scd"/>
</parameter>
<parameter>
<valueId value="tcd"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="set custodian"/>
<source>
<context value="src"/>
<condition value="custodian.exists().not()"/>
</source>
<rule>
<name value="setting custodian"/>
<source>
<context value="src"/>
<element value="meta"/>
<variable value="sm"/>
</source>
<rule>
<name value="tag"/>
<source>
<context value="sm"/>
<element value="tag"/>
<listMode value="last"/>
<variable value="st"/>
</source>
<target>
<context value="tgt"/>
<element value="custodian"/>
<variable value="ta"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<dependent>
<name value="TransformAssigner"/>
<parameter>
<valueId value="st"/>
</parameter>
<parameter>
<valueId value="ta"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="content"/>
<source>
<context value="src"/>
<element value="content"/>
<variable value="sct"/>
</source>
<target>
<context value="tgt"/>
<element value="content"/>
<variable value="tct"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<rule>
<name value="attachment"/>
<source>
<context value="sct"/>
<element value="attachment"/>
<variable value="sa"/>
</source>
<target>
<context value="tct"/>
<element value="attachment"/>
<variable value="ta"/>
</target>
<rule>
<name value="contentType"/>
<source>
<context value="sa"/>
<element value="contentType"/>
<variable value="vvv"/>
</source>
<target>
<context value="ta"/>
<element value="contentType"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="title"/>
<source>
<context value="sa"/>
<element value="title"/>
<variable value="vvv"/>
</source>
<target>
<context value="ta"/>
<element value="title"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="url"/>
<source>
<context value="sa"/>
<element value="url"/>
<variable value="vvv"/>
</source>
<target>
<context value="ta"/>
<element value="url"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
</group>
<group>
<name value="TransformAssigner"/>
<typeMode value="types"/>
<input>
<name value="src"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<mode value="target"/>
</input>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="tgt"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="Organization/"/>
</parameter>
<parameter>
<valueId value="code"/>
</parameter>
</target>
</rule>
<rule>
<name value="setting default display"/>
<source>
<context value="src"/>
<condition value="display.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Unknown display"/>
</parameter>
</target>
</rule>
<rule>
<name value="display"/>
<source>
<context value="src"/>
<element value="display"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="display"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="id"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</group>
<group>
<name value="TransformReference"/>
<typeMode value="types"/>
<input>
<name value="src"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<mode value="target"/>
</input>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="id"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
<element value="reference"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="reference"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="display"/>
<source>
<context value="src"/>
<element value="display"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="display"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="text"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="display"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="setting display"/>
<source>
<context value="src"/>
<condition value="display.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Unknown display"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="TransformCoding"/>
<typeMode value="types"/>
<input>
<name value="src"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<mode value="target"/>
</input>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="display"/>
<source>
<context value="src"/>
<element value="display"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="display"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="settingdefaultdisplay"/>
<source>
<context value="src"/>
<condition value="display.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Unknown display"/>
</parameter>
</target>
</rule>
<rule>
<name value="system"/>
<source>
<context value="src"/>
<element value="system"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="system"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</group>
</StructureMap>