refs/refs/fhir-to-omop-demo/data/convert/mapping/009-DiagnosticReport-measurement.sh
142 lines · sh
3# Converts FHIR DiagnosticReport resources to OMOPCDM measurement records. 7REPO="https://github.com/barabo/fhir-to-omop-demo" 8FILE="data/convert/mapping/009-DiagnosticReport-measurement.sh" 11#--------------------------#-------------------------------#-----------------# 12# FHIR DiagnosticReport # OMOP measurement # Notes # 13#--------------------------#-------------------------------#-----------------# 14 null, # measurement_id # REQUIRED # 15 null, # person_id # REQUIRED # 16 null, # measurement_concept_id # REQUIRED # 17 null, # measurement_date # REQUIRED # 18 null, # measurement_datetime # 19 null, # measurement_time # 20 null, # measurement_type_concept_id # REQUIRED # 21 null, # operator_concept_id # 22 null, # value_as_number # 23 null, # value_as_concept_id # 24 null, # unit_concept_id # 28 null, # visit_occurrence_id # 29 null, # visit_detail_id # 30 null, # measurement_source_value # 31 null, # measurement_source_concept_id # 32 null, # unit_source_value # 33 null, # unit_source_concept_id # 34 null, # value_source_value # 35 null, # measurement_event_id # 36 null, # meas_event_field_concept_id # 37#--------------------------#-------------------------------#-----------------# 42cat <<NOTES # Everything below is notes. 45https://athena.ohdsi.org/search-terms/terms 47# OMOP CDM 5.4 measurement TABLE 48https://ohdsi.github.io/CommonDataModel/cdm54.html#measurement 49CREATE TABLE measurement ( 50 measurement_id integer NOT NULL PRIMARY KEY, 51 person_id integer NOT NULL REFERENCES PERSON (PERSON_ID), 52 measurement_concept_id integer NOT NULL REFERENCES CONCEPT (CONCEPT_ID), 53 measurement_date date NOT NULL, 54 measurement_datetime datetime NULL, 55 measurement_time TEXT NULL, 56 measurement_type_concept_id integer NOT NULL REFERENCES CONCEPT (CONCEPT_ID), 57 operator_concept_id integer NULL REFERENCES CONCEPT (CONCEPT_ID), 58 value_as_number REAL NULL, 59 value_as_concept_id integer NULL REFERENCES CONCEPT (CONCEPT_ID), 60 unit_concept_id integer NULL REFERENCES CONCEPT (CONCEPT_ID), 63 provider_id integer NULL REFERENCES PROVIDER (PROVIDER_ID), 64 visit_occurrence_id integer NULL REFERENCES VISIT_OCCURRENCE (VISIT_OCCURRENCE_ID), 65 visit_detail_id integer NULL REFERENCES VISIT_DETAIL (VISIT_DETAIL_ID), 66 measurement_source_value TEXT NULL, 67 measurement_source_concept_id integer NULL REFERENCES CONCEPT (CONCEPT_ID), 68 unit_source_value TEXT NULL, 69 unit_source_concept_id integer NULL REFERENCES CONCEPT (CONCEPT_ID), 70 value_source_value TEXT NULL, 71 measurement_event_id integer NULL, 72 meas_event_field_concept_id integer NULL REFERENCES CONCEPT (CONCEPT_ID) 75# FHIR R4 Example DiagnosticReport Resource 76https://www.hl7.org/fhir/R4B/DiagnosticReport.html 78 "resourceType": "DiagnosticReport", 82 "lastUpdated": "2024-06-01T20:19:17.304+00:00", 83 "source": "#8IRCgpLiSxJLv3VD", 85 "http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-note" 93 "system": "http://loinc.org", 95 "display": "History and physical note" 98 "system": "http://loinc.org", 100 "display": "Evaluation+Plan note" 108 "system": "http://loinc.org", 110 "display": "History and physical note" 113 "system": "http://loinc.org", 115 "display": "Evaluation+Plan note" 120 "reference": "Patient/4217" 123 "reference": "Encounter/4218" 125 "effectiveDateTime": "1959-02-22T06:37:53-05:00", 126 "issued": "1959-02-22T06:37:53.630-05:00", 129 "reference": "Practitioner/2187", 130 "display": "Dr. Douglass930 Windler79" 135 "contentType": "text/plain", 136 "data": "CjE5NTktMDItMjIKCiMgQ2hpZWYgQ29tcGxhaW50Ck5vIGNvbXBsYWludHMuCgojIEhpc3Rvcnkgb2YgUHJlc2VudCBJbGxuZXNzCkh1bWJlcnRvNDgyCiBpcyBhIDM1IHllYXItb2xkIG5vbi1oaXNwYW5pYyB3aGl0ZSBtYWxlLgoKIyBTb2NpYWwgSGlzdG9yeQpQYXRpZW50IGlzIG1hcnJpZWQuIFBhdGllbnQgaXMgYW4gYWN0aXZlIHNtb2tlciBhbmQgaXMgYW4gYWxjb2hvbGljLgogUGF0aWVudCBpZGVudGlmaWVzIGFzIGhldGVyb3NleHVhbC4KClBhdGllbnQgY29tZXMgZnJvbSBhIGhpZ2ggc29jaW9lY29ub21pYyBiYWNrZ3JvdW5kLgogUGF0aWVudCBoYXMgY29tcGxldGVkIHNvbWUgY29sbGVnZSBjb3Vyc2VzLgpQYXRpZW50IGN1cnJlbnRseSBoYXMgSHVtYW5hLgoKIyBBbGxlcmdpZXMKTm8gS25vd24gQWxsZXJnaWVzLgoKIyBNZWRpY2F0aW9ucwpObyBBY3RpdmUgTWVkaWNhdGlvbnMuCgojIEFzc2Vzc21lbnQgYW5kIFBsYW4KUGF0aWVudCBpcyBwcmVzZW50aW5nIHdpdGggYm9keSBtYXNzIGluZGV4IDMwKyAtIG9iZXNpdHkgKGZpbmRpbmcpLiAKCiMjIFBsYW4KCg=="