refs/refs/fhir-omop-ig/input/maps/EncounterVisit.fml

lines 20–24 45 lines · fml
1/// url = 'http://hl7.org/fhir/uv/omop/StructureMap/EncounterVisitMap'
2/// name = 'EncounterVisitMap'
3/// title = 'Mapping Encounter resource to VisitOccurrence OMOP Domain'
4/// status = 'draft'
5/// description = "This mapping maps FHIR Encounter instances to OMOP Visit Occurence Table objects."
7uses "http://hl7.org/fhir/StructureDefinition/Encounter" alias Encounter as source
8uses "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitOccurrence" alias VisitTable as target
10group VisitOccurrence(source src: Encounter, target tgt : VisitTable) {
12 //src.id as id -> tgt.visit_occurrence_id = cast(id, "integer");
14 //src.subject as s -> tgt then {
15 // s.identifier as sid -> tgt then {
16 // sid.value as a -> tgt.person_id = a;
17 // };
18 //};
20 src.class as s -> tgt then {
21 s.coding as sc -> tgt then {
22 sc.code as a-> tgt.visit_concept_id = a, tgt.visit_source_value = a, tgt.visit_source_concept_id = a;
23 };
24 };
26 src.actualPeriod as s -> tgt then {
27 s.start as std -> tgt.visit_start_date = cast(std, "date"), tgt.visit_start_datetime = std;
28 s.end as ed -> tgt.visit_end_date = cast(ed, "date"), tgt.visit_end_datetime = ed;
29 };
31 src.admission as s -> tgt then {
32 s.admitSource as sa -> tgt then {
33 sa.coding as sc -> tgt then {
34 sc.code as code -> tgt.admitted_from_concept_id = code, tgt.admitted_from_source_value = code;
35 };
36 };
38 s.dischargeDisposition as sd -> tgt then {
39 sd.coding as sc -> tgt then {
40 sc.code as code -> tgt.discharged_to_concept_id = code, tgt.discharged_to_source_value = code;
41 };
42 };
43 };