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-Risk-Risk | Version: 0.1.0 | |||
| Draft as of 2026-03-24 | Computable Name: ObservationRiskToRisk | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-Risk-Risk" = "ObservationRiskToRisk" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-RiskObservation" alias RiskObservation as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Risk" alias Risk as target group Risk(source src : RiskObservation, target tgt : Risk) { src -> tgt.id = evaluate(src, id) "26a17569-a535-45cb-9c75-e07ab9570879"; src -> tgt.meta as meta, meta.dataClass as dataClass then { src -> dataClass.name = 'Risk' "1222ac71-a250-4072-b442-60205616192c"; } "setDataClassName"; src.subject as subject then { src -> tgt.subjectOfCare as subjectOfCare then { src -> subjectOfCare.id = evaluate(subject, reference.replace('Patient/','')) "46846670-8849-4fac-b4c4-c10f8833a908"; src -> subjectOfCare.type = 'SubjectOfCare' "f8400755-5621-4700-94cb-32bba11ee055"; src -> subjectOfCare.display = evaluate(subject, display) "49c023f0-eb80-4df4-a976-6a92e8a7d75c"; } "684b82a8-c022-4675-9cee-e3c06603db8f"; } "setRiskSubject"; src.performer as performer then { src -> tgt.careWorker as careWorker then { src -> careWorker.id = evaluate(performer, reference.replace('Practitioner/','')) "fb79dbd9-9bf2-445c-ae21-a79b39154cd8"; src -> careWorker.type = 'CareWorker' "defd5137-b515-4fc3-8e58-4a8d59c95e44"; src -> careWorker.display = evaluate(performer, display) "7e8d8298-9a8a-41da-8465-3c12944ebebe"; } "d616823d-ac7d-4b64-b89f-f676d53b2027"; } "setRiskCareWorker"; src.extension as participantsExt where $this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor' -> tgt.informed as informed then { participantsExt.extension as informedParticipants where $this.url='participantRole'and$this.valueCode='informed' then { participantsExt.extension as informedParticipantReferences where $this.url='participantReference' then { informedParticipantReferences.valueReference as informedParticipantRef then { src -> informed.id = evaluate(informedParticipantRef, reference.replace('Practitioner/','')) "4cc3c3da-bbdf-44bd-966a-bc37a7f65d64"; src -> informed.type = 'CareWorker' "b00c00cb-03bf-46b9-ac86-102ac264acf7"; src -> informed.display = evaluate(informedParticipantRef, display) "7860b874-d2c6-429c-9003-93746e445014"; }; }; }; } "setRiskInformed"; src.extension as participantsExt where $this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor' -> tgt.involved as involved then { participantsExt.extension as involvedParticipants where $this.url='participantRole'and$this.valueCode='involved' then { participantsExt.extension as involvedParticipantReferences where $this.url='participantReference' then { involvedParticipantReferences.valueReference as involvedParticipantRef then { src -> involved.id = evaluate(involvedParticipantRef, reference.replace('Practitioner/','')) "52652886-f625-42a9-82dc-35bb9b28d706"; src -> involved.type = 'CareWorker' "023c73f6-804b-493c-8bbe-cde120d6f7b1"; src -> involved.display = evaluate(involvedParticipantRef, display) "b36dcc42-7ed6-49bc-9e70-b173c763157b"; }; }; }; } "setRiskInvolved"; src.component as component where $this.valueCodeableConcept.coding.system='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-RiskCategory-1' then { src -> tgt.category as category then { component.valueCodeableConcept as vcc, vcc.coding as vc then { src -> category.code = evaluate(vc, code) "5716916c-c7c5-40fc-9187-8e305903019c"; src -> category.display = evaluate(vc, display) "98b3aabe-3d68-48da-8404-415faf2b3576"; } "valueCodeableConcept"; } "37b6298e-0c4b-4932-a650-1829c7458b83"; } "setRiskCategory"; src.effectivePeriod as period then { period.start as start then { src -> tgt.startDate = evaluate(period, start) "47d6287a-116b-44ce-8454-3a9340affb77"; }; period.end as end then { src -> tgt.endDate = evaluate(period, end) "3b84faa9-5ea8-4d3a-8c23-1c6ec96fe11e"; }; } "setRiskStartEndDates"; src.component as component where $this.code.coding.code='text' then { src -> tgt.text = evaluate(component, valueString) "3a6938d4-2c6f-49e7-ae72-a3eb54ba84a6"; } "setRiskText"; src.component as component where $this.code.coding.code='triggers' then { src -> tgt.trigger = evaluate(component, valueString) "6a33eb72-8d8b-4085-8d30-2cecf1842c10"; } "setRiskTrigger"; src.component as component where $this.code.coding.code='relapse-indicators' then { src -> tgt.relapseIndicators = evaluate(component, valueString) "5577fd44-eed3-4f4a-ada6-d9f403fd75c2"; } "setRiskRelapseIndicators"; src.component as component where $this.code.coding.code='comment' then { src -> tgt.comment = evaluate(component, valueString) "0783ee75-bd73-4cb6-8a00-0008c7742b24"; } "setRiskComment"; }