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/Risk-Observation-Risk | Version: 0.1.0 | |||
| Draft as of 2026-03-24 | Computable Name: RiskToObservationRisk | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Risk-Observation-Risk" = "RiskToObservationRisk" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Risk" alias Risk as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-RiskObservation" alias RiskObservation as target group RiskObservation(source src : Risk, target tgt : RiskObservation) { src -> tgt.id = evaluate(src, id) "b891e350-e793-415a-b394-92dd5f931bc1"; src.involved as involved then { src -> src.extension as participantExt, participantExt.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor' then { involved -> participantExt.extension as participantRoleExt then { involved -> participantRoleExt.url = 'participantRole' "df3837f5-36a6-495d-b6e6-f5cea44cf462"; involved -> participantRoleExt.valueCode = 'involved' "a254e0dd-f6e0-4bd9-a0e8-799e8350e213"; } "5ea97ad6-5e3a-46f7-acb5-b96574a361f1"; involved -> participantExt.extension as participantRefExt then { involved -> participantRefExt.url = 'participantReference' "957cff84-3765-4100-9066-3e2dd9fb9be4"; involved -> participantRefExt.valueReference as participantReference then { involved -> participantReference.reference = evaluate(involved, 'Practitioner/'+id) "6a3a5fe0-2eb4-4405-bb27-42da74948907"; involved -> participantReference.display = evaluate(involved, display) "97c0abbe-3d8d-4542-a97c-7198c11d30f4"; } "fda074b7-333a-44ac-b264-8fb76f6b56d7"; } "e34f86a7-81b6-4776-9909-e3e7bff18688"; participantExt -> tgt.extension "8d67b7f2-2b15-4074-8726-c08917042464"; } "fca9057b-4ff0-494e-bd81-0f2f084a8683"; } "setObservationInvolved"; src.informed as informed then { src -> src.extension as participantExt, participantExt.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor' then { informed -> participantExt.extension as participantRoleExt then { informed -> participantRoleExt.url = 'participantRole' "793037f8-307e-4288-824e-cd3364379ab5"; informed -> participantRoleExt.valueCode = 'informed' "c2a354ec-269c-4622-be99-7f5dc0beffca"; } "e00ed6ed-1ce7-405e-954e-d97425b72957"; informed -> participantExt.extension as participantRefExt then { informed -> participantRefExt.url = 'participantReference' "bb46a7cf-f4f1-4978-b73a-50369b397cb8"; informed -> participantRefExt.valueReference as participantReference then { informed -> participantReference.reference = evaluate(informed, 'Practitioner/'+id) "2417ca6a-f35e-4311-9b2b-d6acfb690c16"; informed -> participantReference.display = evaluate(informed, display) "1d9e190b-5997-49bb-9586-c13456c0455a"; } "6bb6c41c-8f40-463b-9ea4-45ae1358e856"; } "0bfda73d-e32f-40f3-9a8a-a514a522bdf8"; participantExt -> tgt.extension "8a1986c3-e2a0-4a9f-9a11-227244b74ede"; } "31e6f634-a684-4f9a-95aa-7d1a6822835d"; } "setObservationInformed"; src -> tgt.meta as meta, meta.tag as tag then { src -> tag.system = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FhirStructureMapCatalog-1' "6119592e-0cb2-4739-a767-7c225781729b"; src -> tag.code = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-Risk-Risk' "4b6a4eca-26be-4e24-bba6-ceaddf50223c"; } "setMetaTag"; src -> tgt.status = 'final' "setObservationStatus"; src.subjectOfCare as subjectOfCare then { src -> tgt.subject as subject then { src -> subject.reference = evaluate(subjectOfCare, 'Patient/'+id) "8b8f9697-cc0c-46aa-8606-d18e66fbb0ba"; src -> subject.display = evaluate(subjectOfCare, display) "d37c0817-fb77-46fe-ac14-2778cb39e2f3"; } "25832731-26cf-4f52-8214-2003cf4d11e6"; } "setObservationSubject"; src.careWorker as careWorker then { src -> tgt.performer as performer then { src -> performer.reference = evaluate(careWorker, 'Practitioner/'+id) "21fd2c65-c89e-4241-9507-53c065b1bbdf"; src -> performer.display = evaluate(careWorker, display) "bd91531a-89ce-42a2-8cff-1ce9b7868c28"; } "4952503d-4b2e-4db9-a0f7-cf00ccfca484"; } "setObservationPerformer"; src -> tgt.category = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCategory-1', '3', 'Observations') "setObservationCategory"; src -> tgt.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCode-1', '6', 'Risk') "setObservationCode"; src -> src.period as period then { src.startDate as start then { src -> period.start = evaluate(src, startDate) "9ca12f72-7bba-499b-9ff8-602f711f2f1c"; }; src.endDate as end then { src -> period.end = evaluate(src, end) "83ca23a1-c7b3-44ed-bcf9-d2c45f4866cd"; }; period where $this.start.empty().not()or$this.end.empty().not() -> tgt.effectivePeriod "fb2fa00d-2ea0-458d-ab66-d97bec8bd780"; } "setObservationPeriod"; src.category as category then { src -> tgt.component as coded then { src -> coded.code = cc('https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationComponentCode-1', 'coded', 'Coded') "ebe806bc-98c9-49aa-a463-2da94e2c978a"; src -> coded.valueCodeableConcept = cc('https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-RiskCategory-1', '', '') as vcc then { vcc.coding as coding then { vcc -> coding.code = evaluate(category, code) "b6e77271-9b67-4b95-8b7b-9803a6d74440"; vcc -> coding.display = evaluate(category, display) "0f1af9f1-b230-47b9-a471-6777c53a7bf9"; }; } "cd5d1090-7b34-46bf-aca7-7b80704c9b21"; } "57594bcc-f211-470c-a61b-fdcd1d7d3a27"; } "setObservationRiskCategoryComponent"; src.text as text then { src -> tgt.component as freeText then { src -> freeText.code = cc('https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationComponentCode-1', 'text', 'Free-text') "909ded4d-264f-492b-b97a-94eb6c07dc50"; src -> freeText.valueString = evaluate(src, text) "261f975e-651b-48e1-a3ff-c0f3d9d2d41c"; } "setObservationTextComponent"; src.trigger as trigger then { src -> tgt.component as freeText then { src -> freeText.code = cc('https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-RiskComponentCode-1', 'triggers', 'Triggers') "7c161b12-60d1-49b7-848e-cd13d57f9870"; src -> freeText.valueString = evaluate(src, trigger) "60687d93-1c7b-47cd-ba1a-93a77ea6817c"; } "setObservationTriggerComponent"; src.relapseIndicators as relapseIndicators then { src -> tgt.component as freeText then { src -> freeText.code = cc('https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-RiskComponentCode-1', 'relapse-indicators', 'Relapse Indicators') "74488a5c-854b-44c3-9d9a-aa0424066135"; src -> freeText.valueString = evaluate(src, relapseIndicators) "c919b6e6-f1fb-496f-a5a9-9ae6bc294b2f"; } "setObservationRelapseIndicatorsComponent"; src.comment as comment then { src -> tgt.component as freeText then { src -> freeText.code = cc('https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-RiskComponentCode-1', 'comment', 'Comment') "1e6e8726-7a17-42b1-b4f4-a9d8abe06d5c"; src -> freeText.valueString = evaluate(src, comment) "6ee3b79e-3861-4a61-9b79-30999b30ca86"; } "setObservationCommentComponent"; }; }; }; }; }