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-06-10 | 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) "d0e20776-22e2-411b-ab0f-ba0ae5420cd1"; src -> tgt.meta as meta, meta.dataClass as dataClass then { src -> dataClass.name = 'Risk' "6ed098e3-a806-4586-b059-6b212708fb25"; } "setDataClassName"; src.subject as subject then { src -> tgt.subjectOfCare as subjectOfCare then { src -> subjectOfCare.id = evaluate(subject, reference.replace('Patient/','')) "7a289f08-b9e4-48b5-acd1-bdf7a43af2d7"; src -> subjectOfCare.type = 'SubjectOfCare' "3903cf49-17d0-4904-a964-f8e84f0473b2"; src -> subjectOfCare.display = evaluate(subject, display) "d82ef971-9441-4e59-80e3-f627547cf630"; } "f261cd58-55e7-4dd8-a3de-68f29c2572d6"; } "setRiskSubject"; src.performer as performer then { src -> tgt.careWorker as careWorker then { src -> careWorker.id = evaluate(performer, reference.replace('Practitioner/','')) "b162e766-dcf8-4dee-bda9-7cdb761955b8"; src -> careWorker.type = 'CareWorker' "af285b09-e2e6-4f1a-9f18-ac047d19d2a6"; src -> careWorker.display = evaluate(performer, display) "c886bf26-6835-4acf-ae18-36bce9521285"; } "3c2e075c-e0fc-4b26-a214-92da6ac22679"; } "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/','')) "b7b1dc7b-80ff-4de8-9b24-5448c1458f2e"; src -> informed.type = 'CareWorker' "6a1c54f4-03b6-47a5-a1e7-03030abfcf48"; src -> informed.display = evaluate(informedParticipantRef, display) "5d131e91-2838-44b5-a295-e32bc00e1203"; }; }; }; } "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/','')) "d37e1582-fde7-422c-9b7c-70d4fea02837"; src -> involved.type = 'CareWorker' "e861ffa9-80ce-48d9-95cc-011419c202d1"; src -> involved.display = evaluate(involvedParticipantRef, display) "d0a2674f-963b-400b-b138-67a73b17c4ce"; }; }; }; } "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) "9b2335a6-3be4-4563-b8e1-bfa092177bb8"; src -> category.display = evaluate(vc, display) "73d40e25-5a93-421d-89bb-34aed5b1d920"; } "valueCodeableConcept"; } "6f98a68b-6aa7-4d48-b2fa-10ea6413b454"; } "setRiskCategory"; src.effectivePeriod as period then { period.start as start then { src -> tgt.startDate = evaluate(period, start) "40ae4160-451d-4744-923a-d0863153ea74"; }; period.end as end then { src -> tgt.endDate = evaluate(period, end) "a2022f14-4ca7-403e-823a-cb988e6167bf"; }; } "setRiskStartEndDates"; src.component as component where $this.code.coding.code='text' then { src -> tgt.text = evaluate(component, valueString) "b343d3b9-faf8-47cf-b4e5-8e6a90cf553f"; } "setRiskText"; src.component as component where $this.code.coding.code='triggers' then { src -> tgt.trigger = evaluate(component, valueString) "8f0bed5b-4cf3-4274-8507-792e8265f42e"; } "setRiskTrigger"; src.component as component where $this.code.coding.code='relapse-indicators' then { src -> tgt.relapseIndicators = evaluate(component, valueString) "4b5d6e72-673c-42ee-8f4f-81f7ddf04a6e"; } "setRiskRelapseIndicators"; src.component as component where $this.code.coding.code='comment' then { src -> tgt.comment = evaluate(component, valueString) "869c06cb-21fa-4754-a9b4-e71de82961da"; } "setRiskComment"; }