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";
    }