Social Care Interoperability Platform FHIR Implementation Guide
Version: 0.1.0, Status: draft
Social Care Interoperability Platform FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Draft as of 2026-06-10 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="EducationHistory-Observation-EducationHistory"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap EducationHistory-Observation-EducationHistory</b></p><a name="EducationHistory-Observation-EducationHistory"> </a><a name="hcEducationHistory-Observation-EducationHistory"> </a><pre class="fml">
<b>map</b><span style="color: navy"> "</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/EducationHistory-Observation-EducationHistory<span style="color: navy">" = "</span>EducationHistoryToObservationEducationHistory<span style="color: navy">"
</span><b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-MODS-EducationHistory.html" title="MODS Education History">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-EducationHistory</a><span style="color: navy">" </span><b>alias </b>EducationHistory <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-MODS-EducationHistoryObservation.html" title="MODS Education History Observation">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-EducationHistoryObservation</a><span style="color: navy">" </span><b>alias </b>EducationHistoryObservation <b>as </b><b>target</b>
<b>group </b>EducationHistoryObservation<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>EducationHistory, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>EducationHistoryObservation<span style="color: navy">)</span><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>tgt.id = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>id<span style="color: navy">)</span> <i>"fa9d08ad-ed52-4584-892c-cde2061fb2dd"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span> tgt.meta<b> as </b><span style="color: maroon">meta</span><span style="color: navy">, </span> meta.tag<b> as </b><span style="color: maroon">tag</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>tag.system = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FhirStructureMapCatalog-1'</span> <i>"250f5fd9-1911-4d1f-a513-fcfcd1e95317"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tag.code = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-EducationHistory-EducationHistory'</span> <i>"4fc25808-4265-44f9-ac82-d126d2186220"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setMetaTag"</i><span style="color: navy">;</span>
src.careWorker<b> as </b><span style="color: maroon">careWorker</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span> src.extension<b> as </b><span style="color: maroon">participantExt</span><span style="color: navy">, </span> participantExt.url = <span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor'</span><b> then</b><span style="color: navy"> {
</span> careWorker<span style="color: navy"><b> -> </b></span>participantExt.extension<b> as </b><span style="color: maroon">participantRoleExt</span><b> then</b><span style="color: navy"> {
</span> careWorker<span style="color: navy"><b> -> </b></span>participantRoleExt.url = <span style="color: blue">'participantRole'</span> <i>"ea5f6693-ea61-4c3e-adab-22b8fed8a397"</i><span style="color: navy">;</span>
careWorker<span style="color: navy"><b> -> </b></span>participantRoleExt.valueCode = <span style="color: blue">'performer'</span> <i>"17219382-3de1-46ef-ae6a-6aa1f3a7e0c9"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"3d4bac06-dde0-4138-a77b-f3fbe6f04bc1"</i><span style="color: navy">;</span>
careWorker<span style="color: navy"><b> -> </b></span>participantExt.extension<b> as </b><span style="color: maroon">participantRefExt</span><b> then</b><span style="color: navy"> {
</span> careWorker<span style="color: navy"><b> -> </b></span>participantRefExt.url = <span style="color: blue">'participantReference'</span> <i>"cbd035c0-e1b5-4bea-8db0-bfec151c261f"</i><span style="color: navy">;</span>
careWorker<span style="color: navy"><b> -> </b></span>participantRefExt.valueReference<b> as </b><span style="color: maroon">participantReference</span><b> then</b><span style="color: navy"> {
</span> careWorker<span style="color: navy"><b> -> </b></span>participantReference.reference = evaluate<span style="color: navy">(</span>careWorker<span style="color: navy">, </span>'Practitioner/'+id<span style="color: navy">)</span> <i>"1d29081f-46ed-4d0e-8390-7ef8af6f30a5"</i><span style="color: navy">;</span>
careWorker<span style="color: navy"><b> -> </b></span>participantReference.display = evaluate<span style="color: navy">(</span>careWorker<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>"02081227-2f20-4a34-9384-fc47f95e6f6e"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"7a4c826d-6f8c-457b-876e-4b7fff825c53"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"3a257a23-60e0-4871-ad4a-cbe91a795d7f"</i><span style="color: navy">;</span>
participantExt<span style="color: navy"><b> -> </b></span>tgt.extension <i>"3b9273ea-b684-4a14-b2f6-b1a42fa3529d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"c6ceb905-32c3-4ce8-9026-088297f692bd"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setObservationPerformer"</i><span style="color: navy">;</span>
src.subjectOfCare<b> as </b><span style="color: maroon">subjectOfCare</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>tgt.subject<b> as </b><span style="color: maroon">subject</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>subject.reference = evaluate<span style="color: navy">(</span>subjectOfCare<span style="color: navy">, </span>'Patient/'+id<span style="color: navy">)</span> <i>"c793b06d-619f-43b0-af39-5745e5dfa03d"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>subject.display = evaluate<span style="color: navy">(</span>subjectOfCare<span style="color: navy">, </span>display<span style="color: navy">)</span> <i>"6696e6aa-24e0-4c76-ad03-e2440243b2c0"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"d3e2b30f-ce8e-4b77-a6a7-b389979a43cc"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setObservationSubject"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tgt.status = <span style="color: blue">'final'</span> <i>"setObservationStatus"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tgt.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCategory-1'</span><span style="color: navy">, </span><span style="color: blue">'3'</span><span style="color: navy">, </span><span style="color: blue">'Observations'</span><span style="color: navy">)</span> <i>"setObservationCategory"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tgt.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCode-1'</span><span style="color: navy">, </span><span style="color: blue">'13'</span><span style="color: navy">, </span><span style="color: blue">'Education History'</span><span style="color: navy">)</span> <i>"setObservationCode"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tgt.effectiveDateTime = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>datetime<span style="color: navy">)</span> <i>"setObservationEffectDateTime"</i><span style="color: navy">;</span>
src.text<b> as </b><span style="color: maroon">text</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>tgt.component<b> as </b><span style="color: maroon">freeText</span><b> then</b><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </b></span>freeText.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationComponentCode-1'</span><span style="color: navy">, </span><span style="color: blue">'text'</span><span style="color: navy">, </span><span style="color: blue">'Free-text'</span><span style="color: navy">)</span> <i>"75a56237-bc2e-4fae-92b4-2cb34c40ccb8"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>freeText.valueString = evaluate<span style="color: navy">(</span>src<span style="color: navy">, </span>text<span style="color: navy">)</span> <i>"2f692b8f-b18b-47da-925a-a6ec3b716e77"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"setObservationTextComponent"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<url
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/EducationHistory-Observation-EducationHistory"/>
<version value="0.1.0"/>
<name value="EducationHistoryToObservationEducationHistory"/>
<status value="draft"/>
<date value="2026-06-10T19:05:58+00:00"/>
<publisher
value="Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform"/>
<contact>
<name
value="Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform"/>
<telecom>
<system value="url"/>
<value value="https://synanetics.com"/>
</telecom>
<telecom>
<system value="email"/>
<value value="info@synanetics.com"/>
</telecom>
</contact>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="GB"/>
<display value="United Kingdom of Great Britain and Northern Ireland"/>
</coding>
</jurisdiction>
<structure>
<url
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-EducationHistory"/>
<mode value="source"/>
<alias value="EducationHistory"/>
</structure>
<structure>
<url
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-EducationHistoryObservation"/>
<mode value="target"/>
<alias value="EducationHistoryObservation"/>
</structure>
<group>
<name value="EducationHistoryObservation"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="EducationHistory"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="EducationHistoryObservation"/>
<mode value="target"/>
</input>
<rule>
<name value="fa9d08ad-ed52-4584-892c-cde2061fb2dd"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="evaluate"/>
<parameter>
<valueId value="src"/>
</parameter>
<parameter>
<valueString value="id"/>
</parameter>
</target>
</rule>
<rule>
<name value="setMetaTag"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="meta"/>
<variable value="meta"/>
</target>
<target>
<context value="meta"/>
<contextType value="variable"/>
<element value="tag"/>
<variable value="tag"/>
</target>
<rule>
<name value="250f5fd9-1911-4d1f-a513-fcfcd1e95317"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tag"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FhirStructureMapCatalog-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="4fc25808-4265-44f9-ac82-d126d2186220"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tag"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-EducationHistory-EducationHistory"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="setObservationPerformer"/>
<source>
<context value="src"/>
<element value="careWorker"/>
<variable value="careWorker"/>
</source>
<rule>
<name value="c6ceb905-32c3-4ce8-9026-088297f692bd"/>
<source>
<context value="src"/>
</source>
<target>
<context value="src"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="participantExt"/>
</target>
<target>
<context value="participantExt"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor"/>
</parameter>
</target>
<rule>
<name value="3d4bac06-dde0-4138-a77b-f3fbe6f04bc1"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantExt"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="participantRoleExt"/>
</target>
<rule>
<name value="ea5f6693-ea61-4c3e-adab-22b8fed8a397"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantRoleExt"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="participantRole"/>
</parameter>
</target>
</rule>
<rule>
<name value="17219382-3de1-46ef-ae6a-6aa1f3a7e0c9"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantRoleExt"/>
<contextType value="variable"/>
<element value="valueCode"/>
<transform value="copy"/>
<parameter>
<valueString value="performer"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="3a257a23-60e0-4871-ad4a-cbe91a795d7f"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantExt"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="participantRefExt"/>
</target>
<rule>
<name value="cbd035c0-e1b5-4bea-8db0-bfec151c261f"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantRefExt"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="participantReference"/>
</parameter>
</target>
</rule>
<rule>
<name value="7a4c826d-6f8c-457b-876e-4b7fff825c53"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantRefExt"/>
<contextType value="variable"/>
<element value="valueReference"/>
<variable value="participantReference"/>
</target>
<rule>
<name value="1d29081f-46ed-4d0e-8390-7ef8af6f30a5"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantReference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueId value="careWorker"/>
</parameter>
<parameter>
<valueString value="'Practitioner/'+id"/>
</parameter>
</target>
</rule>
<rule>
<name value="02081227-2f20-4a34-9384-fc47f95e6f6e"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantReference"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="careWorker"/>
</parameter>
<parameter>
<valueString value="display"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="3b9273ea-b684-4a14-b2f6-b1a42fa3529d"/>
<source>
<context value="participantExt"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="extension"/>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="setObservationSubject"/>
<source>
<context value="src"/>
<element value="subjectOfCare"/>
<variable value="subjectOfCare"/>
</source>
<rule>
<name value="d3e2b30f-ce8e-4b77-a6a7-b389979a43cc"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="subject"/>
</target>
<rule>
<name value="c793b06d-619f-43b0-af39-5745e5dfa03d"/>
<source>
<context value="src"/>
</source>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueId value="subjectOfCare"/>
</parameter>
<parameter>
<valueString value="'Patient/'+id"/>
</parameter>
</target>
</rule>
<rule>
<name value="6696e6aa-24e0-4c76-ad03-e2440243b2c0"/>
<source>
<context value="src"/>
</source>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="subjectOfCare"/>
</parameter>
<parameter>
<valueString value="display"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="setObservationStatus"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="setObservationCategory"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="category"/>
<transform value="cc"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCategory-1"/>
</parameter>
<parameter>
<valueString value="3"/>
</parameter>
<parameter>
<valueString value="Observations"/>
</parameter>
</target>
</rule>
<rule>
<name value="setObservationCode"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cc"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCode-1"/>
</parameter>
<parameter>
<valueString value="13"/>
</parameter>
<parameter>
<valueString value="Education History"/>
</parameter>
</target>
</rule>
<rule>
<name value="setObservationEffectDateTime"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="effectiveDateTime"/>
<transform value="evaluate"/>
<parameter>
<valueId value="src"/>
</parameter>
<parameter>
<valueString value="datetime"/>
</parameter>
</target>
</rule>
<rule>
<name value="text"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="text"/>
</source>
<rule>
<name value="setObservationTextComponent"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="component"/>
<variable value="freeText"/>
</target>
<rule>
<name value="75a56237-bc2e-4fae-92b4-2cb34c40ccb8"/>
<source>
<context value="src"/>
</source>
<target>
<context value="freeText"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cc"/>
<parameter>
<valueString
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationComponentCode-1"/>
</parameter>
<parameter>
<valueString value="text"/>
</parameter>
<parameter>
<valueString value="Free-text"/>
</parameter>
</target>
</rule>
<rule>
<name value="2f692b8f-b18b-47da-925a-a6ec3b716e77"/>
<source>
<context value="src"/>
</source>
<target>
<context value="freeText"/>
<contextType value="variable"/>
<element value="valueString"/>
<transform value="evaluate"/>
<parameter>
<valueId value="src"/>
</parameter>
<parameter>
<valueString value="text"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
</StructureMap>