PreNUDGE FHIR® IG for Data Provider / Data from Apps (R4)
0.1.0 - ci-build

PreNUDGE FHIR® IG for Data Provider / Data from Apps (R4) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

StructureMap: Highest Completed Education Q to O

Official URL: https://fhir.hl7.at/prenudge/appdata/r4/StructureMap/EducationQuestionnaireResponseToObservation Version: 0.1.0
Active as of 2026-06-25 Responsible: The PreNUDGE Consortium Computable Name: EducationQuestionnaireResponseToObservation

Highest Completed Education Q to O

map "https://fhir.hl7.at/prenudge/appdata/r4/StructureMap/EducationQuestionnaireResponseToObservation" = "EducationQuestionnaireResponseToObservation"

// Highest Completed Education Q to O

uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QR as source
uses "http://hl7.org/fhir/StructureDefinition/Observation" alias Obs as target

group EducationQuestionnaireResponseToObservation(source src : QR, target tgt : Obs) {
  src -> tgt.status = 'final' "setFinalStatus";
  src.identifier as identifier -> tgt.identifier = identifier "copyIdentifier";
  src.subject as subject -> tgt.subject = subject "copySubject";
  src.authored as authored -> tgt.effective = authored "copyAuthoredToEffective";
  src.authored as authored -> tgt.issued = authored "copyAuthoredToIssued";
  src -> tgt.code = cc('http://loinc.org', '82589-3', 'Highest level of education') "setEducationCode";
  src -> tgt.method = cc('http://snomed.info/sct', '87982008', 'Manual') "setManualMethod";
  src.id as id -> tgt.derivedFrom = create('Reference') as reference then {
    id -> reference.reference = append('QuestionnaireResponse/', id) "setDerivedFromReference";
  } "setDerivedFrom";
  // optimized for IG Publisher
  // to work with MaLaC-HD, tgt.value -> tgt.valueCodeableConcept
  src.item as educationItem where educationItem.linkId = 'highest-completed-education' then {
    educationItem.answer as answer where answer.valueCoding.code = 'isced-0' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-0', 'ISCED 0 - Elementarbereich') "mapIsced0";
    educationItem.answer as answer where answer.valueCoding.code = 'isced-1' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-1', 'ISCED 1 - Primarbereich') "mapIsced1";
    educationItem.answer as answer where answer.valueCoding.code = 'isced-2' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-2', 'ISCED 2 - Sekundarbereich I') "mapIsced2";
    educationItem.answer as answer where answer.valueCoding.code = 'isced-3' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-3', 'ISCED 3 - Sekundarbereich II') "mapIsced3";
    educationItem.answer as answer where answer.valueCoding.code = 'isced-4' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-4', 'ISCED 4 - Postsekundärer, nicht-tertiärer Bereich') "mapIsced4";
    educationItem.answer as answer where answer.valueCoding.code = 'isced-5' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-5', 'ISCED 5 - Kurzes tertiäres Bildungsprogramm') "mapIsced5";
    educationItem.answer as answer where answer.valueCoding.code = 'isced-6' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-6', 'ISCED 6 - Bachelor- bzw. gleichwertiges Bildungsprogramm') "mapIsced6";
    educationItem.answer as answer where answer.valueCoding.code = 'isced-7' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-7', 'ISCED 7 - Master- bzw. gleichwertiges Bildungsprogramm') "mapIsced7";
    educationItem.answer as answer where answer.valueCoding.code = 'isced-8' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'isced-8', 'ISCED 8 - Doktorat oder gleichwertig') "mapIsced8";
    educationItem.answer as answer where answer.valueCoding.code = 'unknown' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'unknown', 'Weiß nicht') "mapUnknown";
    educationItem.answer as answer where answer.valueCoding.code = 'not-stated' -> tgt.value = cc('https://fhir.hl7.at/prenudge/appdata/r4/CodeSystem/prenudge-isced-2011-education-level', 'not-stated', 'Keine Angabe') "mapNotStated";
  } "mapEducationItem";
}