OBSERVATION-from-Procedure

Source file: OBSERVATION-from-procedure.py

Root XPath

./hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:templateId[ @root="2.16.840.1.113883.10.20.22.2.7" or @root="2.16.840.1.113883.10.20.22.2.7.1" ]/../hl7:entry/hl7:procedure

Expected OMOP domain: Observation

Fields

Field

Type

Order

Details

observation_id

HASH

1

hash(person_id, provider_id, observation_concept_code, observation_concept_codeSystem, observation_date, observation_datetime, value_as_string, value_as_number, value_as_concept_id, observation_id_extension, observation_id_root, unit_source_value)

person_id

FK

2

FK → person_id

observation_concept_id

DERIVED

3

VT.codemap_xwalk_concept_id(concept_code=observation_concept_code, vocabulary_oid=observation_concept_codeSystem)

observation_date

PRIORITY

4

coalesce candidates by priority

observation_datetime

PRIORITY

5

coalesce candidates by priority

observation_type_concept_id

CONSTANT

6

32827

value_as_number

FIELD

7

hl7:value[@xsi:type="PQ"] @value [FLOAT]

value_as_string

FIELD

8

hl7:value @#text

value_as_concept_id

DERIVED

9

VT.codemap_xwalk_concept_id(concept_code=value_code, vocabulary_oid=value_codeSystem)

qualifier_concept_id

None

10

unit_concept_id

DERIVED

11

VT.codemap_xwalk_concept_id(concept_code=unit_source_value, vocabulary_oid=unit_codeSystem)

provider_id

None

12

visit_occurrence_id

FK

13

FK → visit_occurrence_id

visit_detail_id

None

14

observation_source_value

DERIVED2

15

{‘config_type’: ‘DERIVED2’, ‘FUNCTION’: VT.concat_field_list_values, ‘argument_list’: {‘key_list’: [‘observation_concept_code’, ‘observation_concept_codeSystem’, ‘value_codeSystem’, ‘value_code’, ‘value_as_string’, ‘value_as_number_string’]}, ‘order’: 15}

observation_source_concept_id

DERIVED

16

VT.codemap_xwalk_source_concept_id(concept_code=observation_concept_code, vocabulary_oid=observation_concept_codeSystem)

unit_source_value

FIELD

17

hl7:value @unit

qualifier_source_value

CONSTANT

18

data_partner_id

DERIVED

20

VT.get_data_partner_id(filename=filename)

filename

FILENAME

100

source XML filename

cfg_name

CONSTANT

101

OBSERVATION-from-Procedure

domain_id

DERIVED

VT.codemap_xwalk_domain_id(concept_code=observation_concept_code, vocabulary_oid=observation_concept_codeSystem)

observation_concept_code

FIELD

hl7:code @code

observation_concept_codeSystem

FIELD

hl7:code @codeSystem

observation_date_effectiveTime

FIELD

hl7:effectiveTime @value [DATE] → priority [‘observation_date’, 1]

observation_date_high

FIELD

hl7:effectiveTime/hl7:high @value [DATE] → priority [‘observation_date’, 3]

observation_date_low

FIELD

hl7:effectiveTime/hl7:low @value [DATE] → priority [‘observation_date’, 2]

observation_datetime_effectiveTime

FIELD

hl7:effectiveTime @value [DATETIME] → priority [‘observation_datetime’, 1]

observation_datetime_high

FIELD

hl7:effectiveTime/hl7:high @value [DATETIME] → priority [‘observation_datetime’, 3]

observation_datetime_low

FIELD

hl7:effectiveTime/hl7:low @value [DATETIME] → priority [‘observation_datetime’, 2]

observation_id_extension

FIELD

hl7:id[not(@nullFlavor="UNK")] @extension

observation_id_root

FIELD

hl7:id[not(@nullFlavor="UNK")] @root

unit_codeSystem

CONSTANT

2.16.840.1.113883.6.8

value_as_number_string

FIELD

hl7:value @value

value_code

FIELD

hl7:value @code

value_codeSystem

FIELD

hl7:value @codeSystem

Config type reference

config_type

Meaning

ROOT

Defines the XPath root element for this config

FIELD

Extracts an XML attribute value via XPath

DERIVED

Computed by a Python function from other fields

HASH

MD5/hash of a set of fields, used as a surrogate key

FK

Foreign key copied from a joined dataset

CONSTANT

Fixed literal value written to every row

PRIORITY

Coalesces the first non-null value from prioritized candidates

FILENAME

The source XML filename

None

Not populated (placeholder)