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
| Official URL: https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-OccupationalHistory-OccupationalHistory | Version: 0.1.0 | |||
| Draft as of 2026-06-10 | Computable Name: ObservationOccupationalHistoryToOccupationalHistory | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-OccupationalHistory-OccupationalHistory" = "ObservationOccupationalHistoryToOccupationalHistory" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-OccupationalHistoryObservation" alias OccupationalHistoryObservation as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-OccupationalHistory" alias OccupationalHistory as target group OccupationalHistory(source src : OccupationalHistoryObservation, target tgt : OccupationalHistory) { src -> tgt.id = evaluate(src, id) "ad7c2a66-1293-4843-bc3e-4d61786dfa94"; src -> tgt.meta as meta, meta.dataClass as dataClass then { src -> dataClass.name = 'Occupational History' "a4a0b792-5545-48dd-8c08-efd870e56d3a"; } "setDataClassName"; src.subject as subject then { src -> tgt.subjectOfCare as subjectOfCare then { src -> subjectOfCare.id = evaluate(subject, reference.replace('Patient/','')) "c24e423a-0da0-434b-a931-3aa03719e6b7"; src -> subjectOfCare.type = 'SubjectOfCare' "1e6998ed-9b32-4007-a696-ab933011c2e4"; src -> subjectOfCare.display = evaluate(subject, display) "bd528fd4-6aeb-4215-b1d3-18c6be73de93"; } "ace85f65-4eba-47a0-b676-077736b266a9"; } "setOccupationalHistorySubject"; src.extension as participantsExt where $this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor' -> tgt.careWorker as careWorker then { participantsExt.extension as careWorkers where $this.url='participantRole'and$this.valueCode='performer' then { participantsExt.extension as careWorkerParticipantReferences where $this.url='participantReference' then { careWorkerParticipantReferences.valueReference as careWorkerParticipantRef then { src -> careWorker.id = evaluate(careWorkerParticipantRef, reference.replace('Practitioner/','')) "09416006-9166-4305-8498-f2d84067e53c"; src -> careWorker.type = 'CareWorker' "c45bfc17-e79c-438d-bfdb-f25fe4cbd611"; src -> careWorker.display = evaluate(careWorkerParticipantRef, display) "dd1a81a9-c13b-4296-979a-a4da3c7671c5"; }; }; }; } "setOccupationalHistoryCareWorker"; src -> tgt.datetime = evaluate(src, effectiveDateTime) "setOccupationalHistoryDateTime"; src.component as component where $this.code.coding.code='text' then { src -> tgt.text = evaluate(component, valueString) "a0029252-09cf-4599-8eb3-c55a92f4efeb"; } "setOccupationalHistoryText"; }