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="OccupationalHistory-Observation-OccupationalHistory"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap OccupationalHistory-Observation-OccupationalHistory</b></p><a name="OccupationalHistory-Observation-OccupationalHistory"> </a><a name="hcOccupationalHistory-Observation-OccupationalHistory"> </a><pre class="fml">
<b>map</b><span style="color: navy"> "</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/OccupationalHistory-Observation-OccupationalHistory<span style="color: navy">" = "</span>OccupationalHistoryToObservationOccupationalHistory<span style="color: navy">"
</span><b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-MODS-OccupationalHistory.html" title="MODS Occupational History">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-OccupationalHistory</a><span style="color: navy">" </span><b>alias </b>OccupationalHistory <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span><a href="StructureDefinition-MODS-OccupationalHistoryObservation.html" title="MODS Occupational History Observation">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-OccupationalHistoryObservation</a><span style="color: navy">" </span><b>alias </b>OccupationalHistoryObservation <b>as </b><b>target</b>
<b>group </b>OccupationalHistoryObservation<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>OccupationalHistory, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>OccupationalHistoryObservation<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>"64705ee4-3423-43f2-aa4e-7d42fe3d8662"</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>"b56e769d-0b9a-4cfe-a252-3d14867ced7c"</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-OccupationalHistory-OccupationalHistory'</span> <i>"811aa069-5557-47fc-a67f-a649f46d858b"</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>"2d16af11-8bae-4289-88e1-0b4e88dd21cd"</i><span style="color: navy">;</span>
careWorker<span style="color: navy"><b> -> </b></span>participantRoleExt.valueCode = <span style="color: blue">'performer'</span> <i>"f93d92d3-97bd-48e0-9f1d-d07fa531f426"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"aad655a5-929f-4d29-a6fa-c68fe7f21a4a"</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>"58defa4b-09d5-4251-b9ad-72c364f19712"</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>"f8d0f2fd-dcc5-4765-93e3-bafb090a31cd"</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>"ca6f6819-cb97-4dae-ba3d-35139284fe18"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"67679b02-6429-405a-9984-aa970ae8574d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"890fb1e0-1e68-4444-b8c3-c68a84084378"</i><span style="color: navy">;</span>
participantExt<span style="color: navy"><b> -> </b></span>tgt.extension <i>"81b1db57-9ab7-4c2b-9f7c-91ad31ef09cd"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"94ef095c-dff0-4d20-ab7c-cacbc946513e"</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>"20f7591b-0665-4a07-9304-ab72f79a0a60"</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>"14860ee8-ca1f-4f17-b908-75df97bb1f75"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"8808f301-0f39-4234-9c7c-ace2475c9852"</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">'12'</span><span style="color: navy">, </span><span style="color: blue">'Occupational 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>"763586ec-1bb4-427f-b685-64219a10fe7c"</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>"51a85b65-e40c-41bb-87c0-2db749434ca2"</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/OccupationalHistory-Observation-OccupationalHistory"/>
<version value="0.1.0"/>
<name value="OccupationalHistoryToObservationOccupationalHistory"/>
<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-OccupationalHistory"/>
<mode value="source"/>
<alias value="OccupationalHistory"/>
</structure>
<structure>
<url
value="https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-OccupationalHistoryObservation"/>
<mode value="target"/>
<alias value="OccupationalHistoryObservation"/>
</structure>
<group>
<name value="OccupationalHistoryObservation"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="OccupationalHistory"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="OccupationalHistoryObservation"/>
<mode value="target"/>
</input>
<rule>
<name value="64705ee4-3423-43f2-aa4e-7d42fe3d8662"/>
<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="b56e769d-0b9a-4cfe-a252-3d14867ced7c"/>
<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="811aa069-5557-47fc-a67f-a649f46d858b"/>
<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-OccupationalHistory-OccupationalHistory"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="setObservationPerformer"/>
<source>
<context value="src"/>
<element value="careWorker"/>
<variable value="careWorker"/>
</source>
<rule>
<name value="94ef095c-dff0-4d20-ab7c-cacbc946513e"/>
<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="aad655a5-929f-4d29-a6fa-c68fe7f21a4a"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantExt"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="participantRoleExt"/>
</target>
<rule>
<name value="2d16af11-8bae-4289-88e1-0b4e88dd21cd"/>
<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="f93d92d3-97bd-48e0-9f1d-d07fa531f426"/>
<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="890fb1e0-1e68-4444-b8c3-c68a84084378"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantExt"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="participantRefExt"/>
</target>
<rule>
<name value="58defa4b-09d5-4251-b9ad-72c364f19712"/>
<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="67679b02-6429-405a-9984-aa970ae8574d"/>
<source>
<context value="careWorker"/>
</source>
<target>
<context value="participantRefExt"/>
<contextType value="variable"/>
<element value="valueReference"/>
<variable value="participantReference"/>
</target>
<rule>
<name value="f8d0f2fd-dcc5-4765-93e3-bafb090a31cd"/>
<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="ca6f6819-cb97-4dae-ba3d-35139284fe18"/>
<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="81b1db57-9ab7-4c2b-9f7c-91ad31ef09cd"/>
<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="8808f301-0f39-4234-9c7c-ace2475c9852"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="subject"/>
</target>
<rule>
<name value="20f7591b-0665-4a07-9304-ab72f79a0a60"/>
<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="14860ee8-ca1f-4f17-b908-75df97bb1f75"/>
<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="12"/>
</parameter>
<parameter>
<valueString value="Occupational 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="763586ec-1bb4-427f-b685-64219a10fe7c"/>
<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="51a85b65-e40c-41bb-87c0-2db749434ca2"/>
<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>