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

StructureMap: AboutMeToObservationAboutMe

Official URL: https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/AboutMe-Observation-AboutMe Version: 0.1.0
Draft as of 2026-06-10 Computable Name: AboutMeToObservationAboutMe

map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/AboutMe-Observation-AboutMe" = "AboutMeToObservationAboutMe"

uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-AboutMe" alias AboutMe as source
uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-AboutMeObservation" alias AboutMeObservation as target

group AboutMeObservation(source src : AboutMe, target tgt : AboutMeObservation) {
  src -> tgt.id = evaluate(src, id) "setObservationId";
  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' "7b9efaf4-f903-4f5a-92e5-7da123999d88";
    src -> tag.code = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-AboutMe-AboutMe' "cadd247c-5d1c-4970-a6e4-91a72d6423ff";
  } "setMetaTag";
  src -> tgt.status = 'final' "setObservationStatus";
  src.subjectOfCare as subjectOfCare then {
    src -> tgt.subject as subject then {
      src -> subject.reference = evaluate(subjectOfCare, 'Patient/'+id) "905b2576-2a0b-41ec-a35a-b886492a1637";
      src -> subject.display = evaluate(subjectOfCare, display) "953a5b70-bc18-4b29-bce9-5779e8a11e18";
    } "97d270a8-5ab5-49ef-a754-a9846f56cdf3";
  } "setObservationSubject";
  src.careWorker as careWorker then {
    src -> tgt.performer as performer then {
      src -> performer.reference = evaluate(careWorker, 'Practitioner/'+id) "ff5e70c7-80dc-46d9-9315-9377ea2fbc9a";
      src -> performer.display = evaluate(careWorker, display) "70487f0a-6bbc-49b8-87c8-859723dd73b5";
    } "fec9692e-8209-42c6-88d0-6b4ba450f341";
  } "setObservationPerformer";
  src -> tgt.category = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCategory-1', '1', 'Assessment and Planning') "setObservationCategory";
  src -> tgt.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCode-1', '4', 'About me') "setObservationCode";
  src -> tgt.effectiveDateTime = evaluate(src, date) "setObservationEffectDateTime";
  src.sections as section where $this.title.code='people-who-are-important-to-me' then {
    src -> tgt.component as peopleWhoAreImportantToMe then {
      src -> peopleWhoAreImportantToMe.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-AboutMeSectionCode-1', 'people-who-are-important-to-me', 'People who are important to me') "b7575df1-e555-4347-bc49-2d529594049d";
      src -> peopleWhoAreImportantToMe.valueString = evaluate(section, content) "3703150c-4a01-45fb-b6ea-a974d99bd9e2";
    } "a12e9a76-7dba-4969-84d4-f42efbdc2563";
  } "setPeopleWhoAreImportantToMe";
  src.sections as section where $this.title.code='my-wellness' then {
    src -> tgt.component as myWellness then {
      src -> myWellness.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-AboutMeSectionCode-1', 'my-wellness', 'My wellness') "969e311e-ed45-49c8-8c99-182ce3cb6118";
      src -> myWellness.valueString = evaluate(section, content) "d82b6938-aa9b-4e13-81b2-86df937db597";
    } "d1d78a66-df10-43b0-884a-4e3452729d94";
  } "setMyWellness";
  src.sections as section where $this.title.code='supported-to-write-this-by' then {
    src -> tgt.component as supportedToWriteThisBy then {
      src -> supportedToWriteThisBy.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-AboutMeSectionCode-1', 'supported-to-write-this-by', 'Supported to write this by') "de37f7c3-7cce-4df9-a421-e99a2d39573b";
      src -> supportedToWriteThisBy.valueString = evaluate(section, content) "7c37b79f-39f9-4a90-88a2-5b82b36aec27";
    } "3d39705b-64e1-412c-8b0c-25db6b4a67d2";
  } "setSupportedToWriteThisBy";
  src.sections as section where $this.title.code='please-do-and-please-dont' then {
    src -> tgt.component as pleaseDoAndPleaseDont then {
      src -> pleaseDoAndPleaseDont.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-AboutMeSectionCode-1', 'please-do-and-please-dont', 'Please do and please dont') "1b57fb71-9d07-4b11-b991-1d3004580847";
      src -> pleaseDoAndPleaseDont.valueString = evaluate(section, content) "2a70c1ac-ccd9-4965-83a9-86b2b0fa491a";
    } "69eec8c3-543d-4aa3-8109-8e1cf7b6b955";
  } "setPleaseDoAndPleaseDont";
  src.sections as section where $this.title.code='how-i-communicate' then {
    src -> tgt.component as howICommunicate then {
      src -> howICommunicate.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-AboutMeSectionCode-1', 'how-i-communicate', 'How I communicate and how to communicate with me') "95c05c80-86bf-4c07-a6a6-e1df3398b57f";
      src -> howICommunicate.valueString = evaluate(section, content) "d6a75f7c-93e4-479f-8771-a13e166f048d";
    } "a22678c3-9633-4a59-ad35-d6380efef4a6";
  } "setHowICommunicate";
  src.sections as section where $this.title.code='also-worth-knowing-about-me' then {
    src -> tgt.component as alsoWorthKnowingAboutMe then {
      src -> alsoWorthKnowingAboutMe.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-AboutMeSectionCode-1', 'also-worth-knowing-about-me', 'Also worth knowing about me') "adb3aa41-bae3-4a55-acf4-d9e1d9c7035d";
      src -> alsoWorthKnowingAboutMe.valueString = evaluate(section, content) "325efc3c-0ff9-4952-9791-0785988a3716";
    } "eac1a01f-f641-411e-96a7-08721cb17578";
  } "setAlsoWorthKnowingAboutMe";
  src.sections as section where $this.title.code='what-is-most-important-to-me' then {
    src -> tgt.component as mostImportantToMe then {
      src -> mostImportantToMe.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-AboutMeSectionCode-1', 'what-is-most-important-to-me', 'What is most important to me') "4654acd9-c365-4b90-a456-d5757ab8506e";
      src -> mostImportantToMe.valueString = evaluate(section, content) "0233e7d0-4aaf-43c9-958d-8585007a479d";
    } "938630a5-a810-45ea-afdd-aa7b73c08292";
  } "setMostImportantToMe";
  src.sections as section where $this.title.code='how-and-when-to-support-me' then {
    src -> tgt.component as whenToSupportMe then {
      src -> whenToSupportMe.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-AboutMeSectionCode-1', 'how-and-when-to-support-me', 'How and when to support me') "abc3485e-da92-4eaa-93ff-fbcec5f41669";
      src -> whenToSupportMe.valueString = evaluate(section, content) "eee00f2c-b361-405f-afc6-d685b9ff3192";
    } "36046a86-9e4a-403e-889e-8aa2525f12c7";
  } "setWhenToSupportMe";
}