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-Need-Need | Version: 0.1.0 | |||
| Draft as of 2026-06-10 | Computable Name: ObservationNeedToNeed | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-Need-Need" = "ObservationNeedToNeed" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-NeedObservation" alias NeedObservation as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Need" alias Need as target group Need(source src : NeedObservation, target tgt : Need) { src -> tgt.id = evaluate(src, id) "71c79021-638a-4570-9e21-5ac4967ecde8"; src -> tgt.meta as meta, meta.dataClass as dataClass then { src -> dataClass.name = 'Need' "567dce77-3307-4fcf-aeda-c53703fcc1d2"; } "setDataClassName"; src.subject as subject then { src -> tgt.subjectOfCare as subjectOfCare then { src -> subjectOfCare.id = evaluate(subject, reference.replace('Patient/','')) "43944e09-ee0d-4c88-801b-a251802076f6"; src -> subjectOfCare.type = 'SubjectOfCare' "c40f9233-ab78-4ff2-b0bc-cde8257191c5"; src -> subjectOfCare.display = evaluate(subject, display) "e45b5088-8a9c-4e6a-9c38-d0b99655dc44"; } "abea586e-b10f-4a43-9f7e-79a636e8485c"; } "setNeedSubject"; 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/','')) "429538c5-8297-45de-9fc9-694a6d7046ce"; src -> careWorker.type = 'CareWorker' "9fc3b8b4-04b4-4aed-9784-129aa2c25a97"; src -> careWorker.display = evaluate(careWorkerParticipantRef, display) "a7cb545e-ae49-497c-a393-bc6d44f18a76"; }; }; }; } "setNeedCareWorker"; src -> tgt.datetime = evaluate(src, effectiveDateTime) "setNeedDateTime"; src.component as component where $this.valueCodeableConcept.coding.system='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-NeedCategory-1' then { src -> tgt.category as category then { component.valueCodeableConcept as vcc, vcc.coding as vc then { src -> category.code = evaluate(vc, code) "0519c284-df9f-401d-98a1-d576b9712645"; src -> category.display = evaluate(vc, display) "105e099b-c893-425c-9c55-c194009eb4f6"; } "valueCodeableConcept"; } "b7ff6ad8-3315-49c7-a9be-c776ddc9d07b"; } "setNeedCategory"; src.component as component where $this.code.coding.code='text' then { src -> tgt.text = evaluate(component, valueString) "8be0280a-68bc-4c3d-aa1a-9faaa0638ed6"; } "setNeedText"; src.component as component where $this.code.coding.code='significant' then { src -> tgt.significant = evaluate(component, valueBoolean) "14ea2461-08d4-49e9-8ceb-6e55b3542780"; } "setNeedSignificant"; src.component as component where $this.code.coding.code='urgent' then { src -> tgt.urgent = evaluate(component, valueBoolean) "313f93bd-28d1-474e-b918-8976038fd400"; } "setNeedUrgent"; }