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

29 lines · fml
1/// url = 'http://hl7.org/fhir/uv/omop/StructureMap/ProcedureMap'
2/// name = 'ProcedureMap'
3/// title = 'Mapping Procedure resource to Procedure Occurrence OMOP Domain'
4/// status = 'draft'
5/// description = "This mapping maps FHIR Procedure instances to OMOP Procedure Occurrence Table objects."
7uses "http://hl7.org/fhir/StructureDefinition/Procedure" alias Procedure as source
8uses "http://hl7.org/fhir/uv/omop/StructureDefinition/ProcedureOccurrence" alias ProcedureTable as target
10group ProcedureOccurrence(source src : Procedure, target tgt : ProcedureTable) {
11 //src.id as id -> tgt.procedure_occurrence_id = cast(id, "integer");
12 //src.subject as s -> tgt then {
13 //s.identifier as sid -> tgt then {
14 // sid.value as a -> tgt.person_id = a;
15 // };
16 //};
17 src.code as s -> tgt then {
18 s.coding as sc -> tgt then {
19 sc.code as a -> tgt.procedure_concept_id, tgt.procedure_source_value, tgt.procedure_source_concept_id = a;
20 };
21 };
23 src.occurrence : dateTime as edt -> tgt.procedure_datetime = cast(edt, "dateTime"), tgt.procedure_date = edt;
24 src.occurrence : Period as s -> tgt then {
25 s.start as start -> tgt.procedure_datetime = cast(start, "dateTime"), tgt.procedure_date = start;
26 s.end as end -> tgt.procedure_end_datetime, tgt.procedure_end_date = end;
27 };