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

: Consent Transforms: R4 → SGHI R5 - JSON Representation

Active as of 2025-09-17

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "ConsenttoSGHI5",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap ConsenttoSGHI5</b></p><a name=\"ConsenttoSGHI5\"> </a><a name=\"hcConsenttoSGHI5\"> </a><pre class=\"fml\">\r\n<span style=\"color: #cc00cc\">/// <b>url</b> = </span><span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/StructureMap/ConsenttoSGHI5'</span>\r\n<span style=\"color: #cc00cc\">/// <b>name</b> = </span><span style=\"color: blue\">'ConsenttoSGHI5'</span>\r\n<span style=\"color: #cc00cc\">/// <b>title</b> = </span><span style=\"color: blue\">'Consent Transforms: R4 → SGHI R5'</span>\r\n<span style=\"color: #cc00cc\">/// <b>status</b> = </span><span style=\"color: blue\">'active'</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span>http://hl7.org/fhir/4.0/StructureDefinition/Consent<span style=\"color: navy\">&quot; </span><b>alias </b>ConsentR4 <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-sghi-consent.html\" title=\"SGHI Consent\">https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-consent</a><span style=\"color: navy\">&quot; </span><b>alias </b>SGHIConsent <b>as </b><b>target</b>\r\n\r\n<b>imports</b><span style=\"color: navy\"> &quot;</span>http://hl7.org/fhir/StructureMap/*4to5<span style=\"color: navy\">&quot;\r\n</span>\r\n<b>group </b>SGHIConsent<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>ConsentR4, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>SGHIConsent<span style=\"color: navy\">)</span><b> extends </b>DomainResource<b> &lt;&lt;type+&gt;&gt;</b><span style=\"color: navy\"> {\r\n</span>  src.id<span style=\"color: navy\"><b> -&gt; </b></span>tgt.id<span style=\"color: navy\">;</span>\r\n  src.active<span style=\"color: navy\"><b> -&gt; </b></span>tgt.active = <span style=\"color: blue\">'true'</span><span style=\"color: navy\">;</span>\r\n  src.language<span style=\"color: navy\"><b> -&gt; </b></span>tgt.language<span style=\"color: navy\">;</span>\r\n  src<b> where </b>text.exists().not()<span style=\"color: navy\"><b> -&gt; </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\">tgt_n</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>tgt_n.status = <span style=\"color: blue\">'generated'</span> <i>&quot;settextstatus&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span>tgt_n.div = <span style=\"color: blue\">'&lt;div xmlns=\\&quot;http://www.w3.org/1999/xhtml\\&quot;&gt;&lt;h1&gt;Generated text&lt;/h1&gt;&lt;/div&gt;'</span> <i>&quot;settextdiv&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;createhardcodedtext&quot;</i><span style=\"color: navy\">;</span>\r\n  src.text<b> as </b><span style=\"color: maroon\">st</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.text<b> as </b><span style=\"color: maroon\">tt</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    st.status<span style=\"color: navy\"><b> -&gt; </b></span>tt.status<span style=\"color: navy\">;</span>\r\n    st.div<span style=\"color: navy\"><b> -&gt; </b></span>tt.div<span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  src<b> as </b><span style=\"color: maroon\">sc</span><b> where </b>identifier.exists().not()<span style=\"color: navy\"><b> -&gt; </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\">tt_id</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src.id<b> as </b><span style=\"color: maroon\">uuid</span><span style=\"color: navy\"><b> -&gt; </b></span>tt_id.value = <span style=\"color: maroon\">uuid</span> <i>&quot;creating id&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span>tt_id.use = <span style=\"color: blue\">'official'</span> <i>&quot;creating use&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span>tt_id.type<b> as </b><span style=\"color: maroon\">ty</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>ty.coding = <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\">ty_c</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        src<span style=\"color: navy\"><b> -&gt; </b></span>ty_c.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem'</span> <i>&quot;creating coding&quot;</i><span style=\"color: navy\">;</span>\r\n        src<span style=\"color: navy\"><b> -&gt; </b></span>ty_c.code = <span style=\"color: blue\">'fhir-id'</span> <i>&quot;creating code&quot;</i><span style=\"color: navy\">;</span>\r\n        src<span style=\"color: navy\"><b> -&gt; </b></span>ty_c.display = <span style=\"color: blue\">'FHIR Id'</span> <i>&quot;creating display&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;creating identifier type&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>tt_id.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem'</span> <i>&quot;creating system&quot;</i><span style=\"color: navy\">;</span>\r\n      src.meta<b> as </b><span style=\"color: maroon\">sm</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        sm.tag first<b> as </b><span style=\"color: maroon\">sm</span><span style=\"color: navy\"><b> -&gt; </b></span>tt_id.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\">t_assigner</span><b> then </b>TransformAssigner<span style=\"color: navy\">(</span><span style=\"color: maroon\">sm</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">t_assigner</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;setting owner&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">creating identifier assigner</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;setting identifier type&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setting identifier&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Create identifier</span>\r\n  src.meta<b> as </b><span style=\"color: maroon\">s_meta</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.meta<b> as </b><span style=\"color: maroon\">t_meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    s_meta.lastUpdated<span style=\"color: navy\"><b> -&gt; </b></span>t_meta.lastUpdated<span style=\"color: navy\">;</span>\r\n    s_meta.language<span style=\"color: navy\"><b> -&gt; </b></span>t_meta.language<span style=\"color: navy\">;</span>\r\n    s_meta.tags<span style=\"color: navy\"><b> -&gt; </b></span>t_meta.tags<span style=\"color: navy\">;</span>\r\n    src.meta<b> where </b>profile.exists().not()<span style=\"color: navy\"><b> -&gt; </b></span>t_meta.profile = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-consent'</span> <i>&quot;setprofileinmeta&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;set profile in meta&quot;</i><span style=\"color: navy\">;</span>\r\n  src.status<span style=\"color: navy\"><b> -&gt; </b></span>tgt.status<span style=\"color: navy\">;</span>\r\n  src.category<b> as </b><span style=\"color: maroon\">sc</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.category<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>\r\n  src.patient<b> as </b><span style=\"color: maroon\">sp</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.subject<b> as </b><span style=\"color: maroon\">tp</span><b> then </b>TransformReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">sp</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tp</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Patient has been translated to subject in R5</span>\r\n  src.dateTime<span style=\"color: navy\"><b> -&gt; </b></span>tgt.date<span style=\"color: navy\">;</span>\r\n  src.provision<b> as </b><span style=\"color: maroon\">spr</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.provision<b> as </b><span style=\"color: maroon\">tpr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    spr.data<b> as </b><span style=\"color: maroon\">sd</span><span style=\"color: navy\"><b> -&gt; </b></span>tpr.data<b> as </b><span style=\"color: maroon\">td</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      sd.meaning<span style=\"color: navy\"><b> -&gt; </b></span>td.meaning<span style=\"color: navy\">;</span>\r\n      sd.reference<b> as </b><span style=\"color: maroon\">sf</span><span style=\"color: navy\"><b> -&gt; </b></span>td.reference<b> as </b><span style=\"color: maroon\">tf</span><b> then </b>TransformReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">sf</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tf</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  src.performer<b> as </b><span style=\"color: maroon\">sp</span><b> where </b>performer.exists()<span style=\"color: navy\"><b> -&gt; </b></span>tgt.grantee<b> as </b><span style=\"color: maroon\">tp</span><b> then </b>TransformReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">sp</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tp</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Performer has been translated to grantee in R5</span>\r\n  src<b> where </b>performer.exists().not()<b> then</b><span style=\"color: navy\"> {\r\n</span>    src.patient<b> as </b><span style=\"color: maroon\">sp</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.grantee<b> as </b><span style=\"color: maroon\">tp</span><b> then </b>TransformReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">sp</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tp</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n    src.patient<b> as </b><span style=\"color: maroon\">sp</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.grantor<b> as </b><span style=\"color: maroon\">tp</span><b> then </b>TransformReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">sp</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tp</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;populating grantee with patient details&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Handles cases where performer does not exists in legacy R4 data</span>\r\n  src.organization<b> as </b><span style=\"color: maroon\">so</span><b> where </b>organization.exists()<span style=\"color: navy\"><b> -&gt; </b></span>tgt.manager<b> as </b><span style=\"color: maroon\">tm</span><b> then </b>TransformReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">so</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tm</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">handles cases where organization exists in legacy R4 data</span>\r\n  src.organization<b> as </b><span style=\"color: maroon\">so</span><b> where </b>organization.exists()<span style=\"color: navy\"><b> -&gt; </b></span>tgt.controller<b> as </b><span style=\"color: maroon\">tm</span><b> then </b>TransformReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">so</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tm</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  src<b> where </b>organization.exists().not()<b> then</b><span style=\"color: navy\"> {\r\n</span>    src.meta<b> as </b><span style=\"color: maroon\">sm</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      sm.tag first<b> as </b><span style=\"color: maroon\">st</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.manager<b> as </b><span style=\"color: maroon\">tp</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\">tp</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n      sm.tag first<b> as </b><span style=\"color: maroon\">st</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.controller<b> as </b><span style=\"color: maroon\">tp</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\">tp</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setting manager and controller&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">handles cases where organization does not exists in legacy R4 data</span>\r\n  src.policyRule<b> as </b><span style=\"color: maroon\">sr</span><b> where </b>text.exists()<span style=\"color: navy\"><b> -&gt; </b></span>tgt.regulatoryBasis = <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\">tr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    sr.text<span style=\"color: navy\"><b> -&gt; </b></span>tr.text<span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span> tr.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\">tcc</span><span style=\"color: navy\">, </span> tcc.system = <span style=\"color: blue\">'https://hl7.org/fhir/R4/codesystem-consent-policy.html'</span><span style=\"color: navy\">, </span> tcc.code = <span style=\"color: blue\">'cric'</span><span style=\"color: navy\">, </span> tcc.display = <span style=\"color: blue\">'Common Rule Informed Consent'</span> <i>&quot;setting coding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setting rule policy&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Policyrule has been translated to regulatoryBasis in R4</span>\r\n  src<b> where </b>verification.exists().not()<span style=\"color: navy\"><b> -&gt; </b></span>tgt.verification = <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\">tb</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>tb.verified = <span style=\"color: blue\">'true'</span> <i>&quot;setting verified status&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span>tb.verificationDate = <span style=\"color: blue\">'2025-06-16'</span> <i>&quot;setting verification date&quot;</i><span style=\"color: navy\">;</span>\r\n    src.meta<b> as </b><span style=\"color: maroon\">sm</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      sm.tag last<b> as </b><span style=\"color: maroon\">st</span><span style=\"color: navy\"><b> -&gt; </b></span>tb.verifiedBy = <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\">tf</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        st.code<b> as </b><span style=\"color: maroon\">org</span><span style=\"color: navy\"><b> -&gt; </b></span>tf.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Organization/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">org</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n        st.display<span style=\"color: navy\"><b> -&gt; </b></span>tf.display<span style=\"color: navy\">;</span>\r\n        st.display<b> where </b>display.exists().not()<span style=\"color: navy\"><b> -&gt; </b></span>tf.display = <span style=\"color: blue\">'Unknown display'</span><span style=\"color: navy\">;</span>\r\n        st.code<span style=\"color: navy\"><b> -&gt; </b></span>tf.id<span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;setting verified by&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;setting verify by&quot;</i><span style=\"color: navy\">;</span>\r\n    src.patient<b> as </b><span style=\"color: maroon\">sp</span><span style=\"color: navy\"><b> -&gt; </b></span>tb.verifiedWith = <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\">trf</span><b> then </b>TransformReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">sp</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">trf</span><span style=\"color: navy\">)</span> <i>&quot;setting reference&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setting verification&quot;</i><span style=\"color: navy\">;</span>\r\n  src.category<b> as </b><span style=\"color: maroon\">sc</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.category<b> as </b><span style=\"color: maroon\">tc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    sc.text<span style=\"color: navy\"><b> -&gt; </b></span>tc.text<span style=\"color: navy\">;</span>\r\n    sc.coding<b> as </b><span style=\"color: maroon\">scc</span><span style=\"color: navy\"><b> -&gt; </b></span>tc.coding<b> as </b><span style=\"color: maroon\">tcc</span><b> then </b>TransformCoding<span style=\"color: navy\">(</span><span style=\"color: maroon\">scc</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tcc</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  src.provision<b> as </b><span style=\"color: maroon\">sp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    sp.type<span style=\"color: navy\"><b> -&gt; </b></span>tgt.decision<span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  src.dateTime<b> as </b><span style=\"color: maroon\">sdt</span><b> where </b>dateTime.exists()<span style=\"color: navy\"><b> -&gt; </b></span>tgt.date = <span style=\"color: maroon\">sdt</span><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.date = <span style=\"color: blue\">'2025-06-16'</span> <i>&quot;setting consent date&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</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> &lt;&lt;types&gt;&gt;</b><span style=\"color: navy\"> {\r\n</span>  src.code<b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\"><b> -&gt; </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>\r\n  src<b> where </b>display.exists().not()<span style=\"color: navy\"><b> -&gt; </b></span>tgt.display = <span style=\"color: blue\">'Unknown display'</span> <i>&quot;setting default display&quot;</i><span style=\"color: navy\">;</span>\r\n  src.display<span style=\"color: navy\"><b> -&gt; </b></span>tgt.display<span style=\"color: navy\">;</span>\r\n  src.code<span style=\"color: navy\"><b> -&gt; </b></span>tgt.id<span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</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> &lt;&lt;types&gt;&gt;</b><span style=\"color: navy\"> {\r\n</span>  src.id<span style=\"color: navy\"><b> -&gt; </b></span>tgt.id<span style=\"color: navy\">;</span>\r\n  src.reference<span style=\"color: navy\"><b> -&gt; </b></span>tgt.reference<span style=\"color: navy\">;</span>\r\n  src.display<span style=\"color: navy\"><b> -&gt; </b></span>tgt.display<span style=\"color: navy\">;</span>\r\n  src<b> where </b>display.exists().not()<span style=\"color: navy\"><b> -&gt; </b></span>tgt.display = <span style=\"color: blue\">'Unknown display'</span> <i>&quot;setting display&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</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> &lt;&lt;types&gt;&gt;</b><span style=\"color: navy\"> {\r\n</span>  src.system<span style=\"color: navy\"><b> -&gt; </b></span>tgt.system<span style=\"color: navy\">;</span>\r\n  src.code<span style=\"color: navy\"><b> -&gt; </b></span>tgt.code<span style=\"color: navy\">;</span>\r\n  src.display<span style=\"color: navy\"><b> -&gt; </b></span>tgt.display<span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "https://fhir.slade360.co.ke/fhir/StructureMap/ConsenttoSGHI5",
  "version" : "0.1.0",
  "name" : "ConsenttoSGHI5",
  "title" : "Consent Transforms: R4 → SGHI R5",
  "status" : "active",
  "date" : "2025-09-17T11:42:20+00:00",
  "publisher" : "Kathurima Kimathi",
  "contact" : [
    {
      "name" : "Kathurima Kimathi",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://www.linkedin.com/in/kathurima-kimathi/"
        },
        {
          "system" : "email",
          "value" : "kathurimakimathi415@gmail.com"
        }
      ]
    },
    {
      "name" : "Oscar John",
      "telecom" : [
        {
          "system" : "email",
          "value" : "oscarjohnotieno@gmail.com",
          "use" : "work"
        }
      ]
    },
    {
      "name" : "Kennedy Omondi",
      "telecom" : [
        {
          "system" : "email",
          "value" : "kennankole@gmail.com",
          "use" : "work"
        }
      ]
    }
  ],
  "description" : "ConsentTransformsR4SGHIR5",
  "structure" : [
    {
      "url" : "http://hl7.org/fhir/4.0/StructureDefinition/Consent",
      "mode" : "source",
      "alias" : "ConsentR4"
    },
    {
      "url" : "https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-consent",
      "mode" : "target",
      "alias" : "SGHIConsent"
    }
  ],
  "import" : [
    "http://hl7.org/fhir/StructureMap/*4to5"
  ],
  "group" : [
    {
      "name" : "SGHIConsent",
      "extends" : "DomainResource",
      "typeMode" : "type-and-types",
      "input" : [
        {
          "name" : "src",
          "type" : "ConsentR4",
          "mode" : "source"
        },
        {
          "name" : "tgt",
          "type" : "SGHIConsent",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "id",
          "source" : [
            {
              "context" : "src",
              "element" : "id",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "id",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "active",
          "source" : [
            {
              "context" : "src",
              "element" : "active"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "active",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "true"
                }
              ]
            }
          ]
        },
        {
          "name" : "language",
          "source" : [
            {
              "context" : "src",
              "element" : "language",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "language",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "createhardcodedtext",
          "source" : [
            {
              "context" : "src",
              "condition" : "text.exists().not()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "text",
              "variable" : "tgt_n",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Narrative"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "settextstatus",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tgt_n",
                  "element" : "status",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "generated"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "settextdiv",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tgt_n",
                  "element" : "div",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Generated text</h1></div>"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "text",
          "source" : [
            {
              "context" : "src",
              "element" : "text",
              "variable" : "st"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "text",
              "variable" : "tt"
            }
          ],
          "rule" : [
            {
              "name" : "status",
              "source" : [
                {
                  "context" : "st",
                  "element" : "status",
                  "variable" : "vvv"
                }
              ],
              "target" : [
                {
                  "context" : "tt",
                  "element" : "status",
                  "variable" : "vvv",
                  "transform" : "create"
                }
              ],
              "dependent" : [
                {
                  "name" : "DefaultMappingGroupAnonymousAlias",
                  "parameter" : [
                    {
                      "valueId" : "vvv"
                    },
                    {
                      "valueId" : "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "div",
              "source" : [
                {
                  "context" : "st",
                  "element" : "div",
                  "variable" : "vvv"
                }
              ],
              "target" : [
                {
                  "context" : "tt",
                  "element" : "div",
                  "variable" : "vvv",
                  "transform" : "create"
                }
              ],
              "dependent" : [
                {
                  "name" : "DefaultMappingGroupAnonymousAlias",
                  "parameter" : [
                    {
                      "valueId" : "vvv"
                    },
                    {
                      "valueId" : "vvv"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "setting identifier",
          "source" : [
            {
              "context" : "src",
              "variable" : "sc",
              "condition" : "identifier.exists().not()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "identifier",
              "variable" : "tt_id",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Identifier"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "creating id",
              "source" : [
                {
                  "context" : "src",
                  "element" : "id",
                  "variable" : "uuid"
                }
              ],
              "target" : [
                {
                  "context" : "tt_id",
                  "element" : "value",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "uuid"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "creating use",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tt_id",
                  "element" : "use",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "official"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "setting identifier type",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tt_id",
                  "element" : "type",
                  "variable" : "ty"
                }
              ],
              "rule" : [
                {
                  "name" : "creating identifier type",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "ty",
                      "element" : "coding",
                      "variable" : "ty_c",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "CodeableConcept"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "creating coding",
                      "source" : [
                        {
                          "context" : "src"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ty_c",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "creating code",
                      "source" : [
                        {
                          "context" : "src"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ty_c",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "fhir-id"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "creating display",
                      "source" : [
                        {
                          "context" : "src"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ty_c",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "FHIR Id"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "creating system",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tt_id",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "setting owner",
                  "source" : [
                    {
                      "context" : "src",
                      "element" : "meta",
                      "variable" : "sm"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "tag",
                      "source" : [
                        {
                          "context" : "sm",
                          "element" : "tag",
                          "listMode" : "first",
                          "variable" : "sm"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "tt_id",
                          "element" : "assigner",
                          "variable" : "t_assigner",
                          "transform" : "create",
                          "parameter" : [
                            {
                              "valueString" : "Reference"
                            }
                          ]
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "TransformAssigner",
                          "parameter" : [
                            {
                              "valueId" : "sm"
                            },
                            {
                              "valueId" : "t_assigner"
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "documentation" : "creating identifier assigner"
                }
              ]
            }
          ],
          "documentation" : "Create identifier"
        },
        {
          "name" : "set profile in meta",
          "source" : [
            {
              "context" : "src",
              "element" : "meta",
              "variable" : "s_meta"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "meta",
              "variable" : "t_meta"
            }
          ],
          "rule" : [
            {
              "name" : "lastUpdated",
              "source" : [
                {
                  "context" : "s_meta",
                  "element" : "lastUpdated",
                  "variable" : "vvv"
                }
              ],
              "target" : [
                {
                  "context" : "t_meta",
                  "element" : "lastUpdated",
                  "variable" : "vvv",
                  "transform" : "create"
                }
              ],
              "dependent" : [
                {
                  "name" : "DefaultMappingGroupAnonymousAlias",
                  "parameter" : [
                    {
                      "valueId" : "vvv"
                    },
                    {
                      "valueId" : "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "language",
              "source" : [
                {
                  "context" : "s_meta",
                  "element" : "language",
                  "variable" : "vvv"
                }
              ],
              "target" : [
                {
                  "context" : "t_meta",
                  "element" : "language",
                  "variable" : "vvv",
                  "transform" : "create"
                }
              ],
              "dependent" : [
                {
                  "name" : "DefaultMappingGroupAnonymousAlias",
                  "parameter" : [
                    {
                      "valueId" : "vvv"
                    },
                    {
                      "valueId" : "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "tags",
              "source" : [
                {
                  "context" : "s_meta",
                  "element" : "tags",
                  "variable" : "vvv"
                }
              ],
              "target" : [
                {
                  "context" : "t_meta",
                  "element" : "tags",
                  "variable" : "vvv",
                  "transform" : "create"
                }
              ],
              "dependent" : [
                {
                  "name" : "DefaultMappingGroupAnonymousAlias",
                  "parameter" : [
                    {
                      "valueId" : "vvv"
                    },
                    {
                      "valueId" : "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "setprofileinmeta",
              "source" : [
                {
                  "context" : "src",
                  "element" : "meta",
                  "condition" : "profile.exists().not()"
                }
              ],
              "target" : [
                {
                  "context" : "t_meta",
                  "element" : "profile",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-consent"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "status",
          "source" : [
            {
              "context" : "src",
              "element" : "status",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "status",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "category",
          "source" : [
            {
              "context" : "src",
              "element" : "category",
              "variable" : "sc"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "category",
              "variable" : "tc"
            }
          ],
          "dependent" : [
            {
              "name" : "TransformCoding",
              "parameter" : [
                {
                  "valueId" : "sc"
                },
                {
                  "valueId" : "tc"
                }
              ]
            }
          ]
        },
        {
          "name" : "patient",
          "source" : [
            {
              "context" : "src",
              "element" : "patient",
              "variable" : "sp"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "subject",
              "variable" : "tp"
            }
          ],
          "dependent" : [
            {
              "name" : "TransformReference",
              "parameter" : [
                {
                  "valueId" : "sp"
                },
                {
                  "valueId" : "tp"
                }
              ]
            }
          ],
          "documentation" : "Patient has been translated to subject in R5"
        },
        {
          "name" : "dateTime",
          "source" : [
            {
              "context" : "src",
              "element" : "dateTime",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "date",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "provision",
          "source" : [
            {
              "context" : "src",
              "element" : "provision",
              "variable" : "spr"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "provision",
              "variable" : "tpr"
            }
          ],
          "rule" : [
            {
              "name" : "data",
              "source" : [
                {
                  "context" : "spr",
                  "element" : "data",
                  "variable" : "sd"
                }
              ],
              "target" : [
                {
                  "context" : "tpr",
                  "element" : "data",
                  "variable" : "td"
                }
              ],
              "rule" : [
                {
                  "name" : "meaning",
                  "source" : [
                    {
                      "context" : "sd",
                      "element" : "meaning",
                      "variable" : "vvv"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "td",
                      "element" : "meaning",
                      "variable" : "vvv",
                      "transform" : "create"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "DefaultMappingGroupAnonymousAlias",
                      "parameter" : [
                        {
                          "valueId" : "vvv"
                        },
                        {
                          "valueId" : "vvv"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "reference",
                  "source" : [
                    {
                      "context" : "sd",
                      "element" : "reference",
                      "variable" : "sf"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "td",
                      "element" : "reference",
                      "variable" : "tf"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "TransformReference",
                      "parameter" : [
                        {
                          "valueId" : "sf"
                        },
                        {
                          "valueId" : "tf"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "performer",
          "source" : [
            {
              "context" : "src",
              "element" : "performer",
              "variable" : "sp",
              "condition" : "performer.exists()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "grantee",
              "variable" : "tp"
            }
          ],
          "dependent" : [
            {
              "name" : "TransformReference",
              "parameter" : [
                {
                  "valueId" : "sp"
                },
                {
                  "valueId" : "tp"
                }
              ]
            }
          ],
          "documentation" : "Performer has been translated to grantee in R5"
        },
        {
          "name" : "populating grantee with patient details",
          "source" : [
            {
              "context" : "src",
              "condition" : "performer.exists().not()"
            }
          ],
          "rule" : [
            {
              "name" : "patient",
              "source" : [
                {
                  "context" : "src",
                  "element" : "patient",
                  "variable" : "sp"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "element" : "grantee",
                  "variable" : "tp"
                }
              ],
              "dependent" : [
                {
                  "name" : "TransformReference",
                  "parameter" : [
                    {
                      "valueId" : "sp"
                    },
                    {
                      "valueId" : "tp"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "patient",
              "source" : [
                {
                  "context" : "src",
                  "element" : "patient",
                  "variable" : "sp"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "element" : "grantor",
                  "variable" : "tp"
                }
              ],
              "dependent" : [
                {
                  "name" : "TransformReference",
                  "parameter" : [
                    {
                      "valueId" : "sp"
                    },
                    {
                      "valueId" : "tp"
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "Handles cases where performer does not exists in legacy R4 data"
        },
        {
          "name" : "organization",
          "source" : [
            {
              "context" : "src",
              "element" : "organization",
              "variable" : "so",
              "condition" : "organization.exists()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "manager",
              "variable" : "tm"
            }
          ],
          "dependent" : [
            {
              "name" : "TransformReference",
              "parameter" : [
                {
                  "valueId" : "so"
                },
                {
                  "valueId" : "tm"
                }
              ]
            }
          ],
          "documentation" : "handles cases where organization exists in legacy R4 data"
        },
        {
          "name" : "organization",
          "source" : [
            {
              "context" : "src",
              "element" : "organization",
              "variable" : "so",
              "condition" : "organization.exists()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "controller",
              "variable" : "tm"
            }
          ],
          "dependent" : [
            {
              "name" : "TransformReference",
              "parameter" : [
                {
                  "valueId" : "so"
                },
                {
                  "valueId" : "tm"
                }
              ]
            }
          ]
        },
        {
          "name" : "setting manager and controller",
          "source" : [
            {
              "context" : "src",
              "condition" : "organization.exists().not()"
            }
          ],
          "rule" : [
            {
              "name" : "meta",
              "source" : [
                {
                  "context" : "src",
                  "element" : "meta",
                  "variable" : "sm"
                }
              ],
              "rule" : [
                {
                  "name" : "tag",
                  "source" : [
                    {
                      "context" : "sm",
                      "element" : "tag",
                      "listMode" : "first",
                      "variable" : "st"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "element" : "manager",
                      "variable" : "tp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "TransformAssigner",
                      "parameter" : [
                        {
                          "valueId" : "st"
                        },
                        {
                          "valueId" : "tp"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "tag",
                  "source" : [
                    {
                      "context" : "sm",
                      "element" : "tag",
                      "listMode" : "first",
                      "variable" : "st"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "element" : "controller",
                      "variable" : "tp"
                    }
                  ],
                  "dependent" : [
                    {
                      "name" : "TransformAssigner",
                      "parameter" : [
                        {
                          "valueId" : "st"
                        },
                        {
                          "valueId" : "tp"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "handles cases where organization does not exists in legacy R4 data"
        },
        {
          "name" : "setting rule policy",
          "source" : [
            {
              "context" : "src",
              "element" : "policyRule",
              "variable" : "sr",
              "condition" : "text.exists()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "regulatoryBasis",
              "variable" : "tr",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "CodeableConcept"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "text",
              "source" : [
                {
                  "context" : "sr",
                  "element" : "text",
                  "variable" : "vvv"
                }
              ],
              "target" : [
                {
                  "context" : "tr",
                  "element" : "text",
                  "variable" : "vvv",
                  "transform" : "create"
                }
              ],
              "dependent" : [
                {
                  "name" : "DefaultMappingGroupAnonymousAlias",
                  "parameter" : [
                    {
                      "valueId" : "vvv"
                    },
                    {
                      "valueId" : "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "setting coding",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tr",
                  "element" : "coding",
                  "variable" : "tcc",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Coding"
                    }
                  ]
                },
                {
                  "context" : "tcc",
                  "element" : "system",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "https://hl7.org/fhir/R4/codesystem-consent-policy.html"
                    }
                  ]
                },
                {
                  "context" : "tcc",
                  "element" : "code",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "cric"
                    }
                  ]
                },
                {
                  "context" : "tcc",
                  "element" : "display",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Common Rule Informed Consent"
                    }
                  ]
                }
              ]
            }
          ],
          "documentation" : "Policyrule has been translated to regulatoryBasis in R4"
        },
        {
          "name" : "setting verification",
          "source" : [
            {
              "context" : "src",
              "condition" : "verification.exists().not()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "verification",
              "variable" : "tb",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "BackboneElement"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "setting verified status",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tb",
                  "element" : "verified",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "true"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "setting verification date",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tb",
                  "element" : "verificationDate",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "2025-06-16"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "setting verify by",
              "source" : [
                {
                  "context" : "src",
                  "element" : "meta",
                  "variable" : "sm"
                }
              ],
              "rule" : [
                {
                  "name" : "setting verified by",
                  "source" : [
                    {
                      "context" : "sm",
                      "element" : "tag",
                      "listMode" : "last",
                      "variable" : "st"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tb",
                      "element" : "verifiedBy",
                      "variable" : "tf",
                      "transform" : "create",
                      "parameter" : [
                        {
                          "valueString" : "Reference"
                        }
                      ]
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "st",
                          "element" : "code",
                          "variable" : "org"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "tf",
                          "element" : "reference",
                          "transform" : "append",
                          "parameter" : [
                            {
                              "valueString" : "Organization/"
                            },
                            {
                              "valueId" : "org"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "display",
                      "source" : [
                        {
                          "context" : "st",
                          "element" : "display",
                          "variable" : "vvv"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "tf",
                          "element" : "display",
                          "variable" : "vvv",
                          "transform" : "create"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "DefaultMappingGroupAnonymousAlias",
                          "parameter" : [
                            {
                              "valueId" : "vvv"
                            },
                            {
                              "valueId" : "vvv"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "display",
                      "source" : [
                        {
                          "context" : "st",
                          "element" : "display",
                          "condition" : "display.exists().not()"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "tf",
                          "element" : "display",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Unknown display"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "st",
                          "element" : "code",
                          "variable" : "vvv"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "tf",
                          "element" : "id",
                          "variable" : "vvv",
                          "transform" : "create"
                        }
                      ],
                      "dependent" : [
                        {
                          "name" : "DefaultMappingGroupAnonymousAlias",
                          "parameter" : [
                            {
                              "valueId" : "vvv"
                            },
                            {
                              "valueId" : "vvv"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "setting reference",
              "source" : [
                {
                  "context" : "src",
                  "element" : "patient",
                  "variable" : "sp"
                }
              ],
              "target" : [
                {
                  "context" : "tb",
                  "element" : "verifiedWith",
                  "variable" : "trf",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Reference"
                    }
                  ]
                }
              ],
              "dependent" : [
                {
                  "name" : "TransformReference",
                  "parameter" : [
                    {
                      "valueId" : "sp"
                    },
                    {
                      "valueId" : "trf"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "category",
          "source" : [
            {
              "context" : "src",
              "element" : "category",
              "variable" : "sc"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "category",
              "variable" : "tc"
            }
          ],
          "rule" : [
            {
              "name" : "text",
              "source" : [
                {
                  "context" : "sc",
                  "element" : "text",
                  "variable" : "vvv"
                }
              ],
              "target" : [
                {
                  "context" : "tc",
                  "element" : "text",
                  "variable" : "vvv",
                  "transform" : "create"
                }
              ],
              "dependent" : [
                {
                  "name" : "DefaultMappingGroupAnonymousAlias",
                  "parameter" : [
                    {
                      "valueId" : "vvv"
                    },
                    {
                      "valueId" : "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "coding",
              "source" : [
                {
                  "context" : "sc",
                  "element" : "coding",
                  "variable" : "scc"
                }
              ],
              "target" : [
                {
                  "context" : "tc",
                  "element" : "coding",
                  "variable" : "tcc"
                }
              ],
              "dependent" : [
                {
                  "name" : "TransformCoding",
                  "parameter" : [
                    {
                      "valueId" : "scc"
                    },
                    {
                      "valueId" : "tcc"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "provision",
          "source" : [
            {
              "context" : "src",
              "element" : "provision",
              "variable" : "sp"
            }
          ],
          "rule" : [
            {
              "name" : "type",
              "source" : [
                {
                  "context" : "sp",
                  "element" : "type",
                  "variable" : "vvv"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "element" : "decision",
                  "variable" : "vvv",
                  "transform" : "create"
                }
              ],
              "dependent" : [
                {
                  "name" : "DefaultMappingGroupAnonymousAlias",
                  "parameter" : [
                    {
                      "valueId" : "vvv"
                    },
                    {
                      "valueId" : "vvv"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "dateTime",
          "source" : [
            {
              "context" : "src",
              "element" : "dateTime",
              "variable" : "sdt",
              "condition" : "dateTime.exists()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "date",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "sdt"
                }
              ]
            }
          ]
        },
        {
          "name" : "setting consent date",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "date",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "2025-06-16"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "TransformAssigner",
      "typeMode" : "types",
      "input" : [
        {
          "name" : "src",
          "mode" : "source"
        },
        {
          "name" : "tgt",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "code",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "reference",
              "transform" : "append",
              "parameter" : [
                {
                  "valueString" : "Organization/"
                },
                {
                  "valueId" : "code"
                }
              ]
            }
          ]
        },
        {
          "name" : "setting default display",
          "source" : [
            {
              "context" : "src",
              "condition" : "display.exists().not()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "display",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "Unknown display"
                }
              ]
            }
          ]
        },
        {
          "name" : "display",
          "source" : [
            {
              "context" : "src",
              "element" : "display",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "display",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "code",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "id",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "TransformReference",
      "typeMode" : "types",
      "input" : [
        {
          "name" : "src",
          "mode" : "source"
        },
        {
          "name" : "tgt",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "id",
          "source" : [
            {
              "context" : "src",
              "element" : "id",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "id",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "reference",
          "source" : [
            {
              "context" : "src",
              "element" : "reference",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "reference",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "display",
          "source" : [
            {
              "context" : "src",
              "element" : "display",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "display",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "setting display",
          "source" : [
            {
              "context" : "src",
              "condition" : "display.exists().not()"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "display",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "Unknown display"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "TransformCoding",
      "typeMode" : "types",
      "input" : [
        {
          "name" : "src",
          "mode" : "source"
        },
        {
          "name" : "tgt",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "system",
          "source" : [
            {
              "context" : "src",
              "element" : "system",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "system",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "code",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "code",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        },
        {
          "name" : "display",
          "source" : [
            {
              "context" : "src",
              "element" : "display",
              "variable" : "vvv"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "element" : "display",
              "variable" : "vvv",
              "transform" : "create"
            }
          ],
          "dependent" : [
            {
              "name" : "DefaultMappingGroupAnonymousAlias",
              "parameter" : [
                {
                  "valueId" : "vvv"
                },
                {
                  "valueId" : "vvv"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}