Alchemist / Critical Care

Documentation on the data exchange format for HIC Critical Care and the Alchemist ingestion pipeline.

Measurement

The MEASUREMENT table contains records of Measurement, i.e. structured values (numerical or categorical) obtained about a Person or Person’s sample. It contains results of Measurements such as laboratory tests, vital signs, quantitative findings from pathology reports, etc.

Note that the samples and the time they were taken should feature in the SPECIMEN table. The MEASUREMENT table should only contain information about when something became visible to a clinician.

Field Required Type FK Table Description
measurement_id Yes bigint   A unique identifier for each Measurement.
person_id Yes bigint PERSON A foreign key identifier to the Person about whom the measurement was recorded. The demographic details of that Person are stored in the PERSON table.
measurement_concept_id Yes bigint CONCEPT A foreign key to the standard measurement concept identifier in the Standardized Vocabularies.
measurement_date Yes date   The UTC date of the Measurement.
measurement_datetime No datetime   The result / EPR entry UTC datetime of the Measurement.
measurement_time No varchar(10)   Not used.
measurement_type_concept_id Yes bigint CONCEPT Choose the type that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. Accepted Concepts.
operator_concept_id Yes if value_as_number is used bigint CONCEPT A foreign key identifier to the predefined Concept in the Standardized Vocabularies reflecting the mathematical operator that is applied to the value_as_number . See Operator below.
value_as_number No numeric/float   A Measurement result where the result is expressed as a numeric value.
value_as_concept_id No bigint CONCEPT A foreign key to a Measurement result represented as a Concept from the Standardized Vocabularies (e.g., positive/negative, present/absent, low/high, etc.).
unit_concept_id No bigint CONCEPT A foreign key to a Standard Concept ID of Measurement Units in the Standardized Vocabularies.
range_low No numeric/float   The lower limit of the normal range of the Measurement. Assumed to be of the same unit of measure as the Measurement value.
range_high No numeric/float   The upper limit of the normal range of the Measurement. Assumed to be of the same unit of measure as the Measurement value.
provider_id No bigint PROVIDER Not used.
visit_occurrence_id No bigint VISIT_OCCURRENCE A foreign key to the Visit Occurrence during which the Measurement was recorded.
visit_detail_id No bigint VISIT_DETAIL A foreign key to the Visit Detail during which the Measurement was recorded.
measurement_source_value No varchar(50)   Value from the source data representing the Measurement that occurred. For example, this could be an ICD10 or Read code.
measurement_source_concept_id No bigint CONCEPT If the measurement_source_concept_id is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here.
unit_source_value No varchar(50)   Value from the source data representing the unit of the Measurement that occurred.
value_source_value No varchar(50)   Value of the Measurement from the source data. If both a continuous and categorical result are given in the source data such that both VALUE_AS_NUMBER and VALUE_AS_CONCEPT_ID are both included, store the verbatim value that was mapped to VALUE_AS_CONCEPT_ID here.

Conventions

  • Measurements differ from Observations in that their results are either categorical coded values or numbers. Observations are anything else.
  • Measurements are stored as attribute-value pairs, with the attribute as the Measurement Concept and the value representing the result. The value can be a Concept (stored in value_as_concept ), or a numerical value (value_as_number ) with a Unit (unit_concept_id ).
  • Valid Concepts for the value_as_concept field belong to the “Meas Value” domain.
  • If reference ranges for upper and lower limits of normal are provided (typically by a laboratory) these are stored in the range_high and range_low fields. Ranges have the same unit as the value_as_number .
  • The Visit during which the Measurement was made is recorded through a reference to the VISIT_OCCURRENCE table. This information is optional.
  • Other datetimes about a value - e.g. ordering datetime, should be preferentially indicated via the SPECIMEN table.

Handling missing values

A value could be missing because it has not yet been resulted, or that a component of the data is missing (value, date or time). Data that has not yet been resulted, does not need to be in the database.

  • Missing datetime & value: Test ordered but not resulted. No record should be available in the measurement table. An accompanying record in the specimen table may be present.
  • Missing datetime, value present: Recording time not known. Can be recorded if the date is available, otherwise not enough information is present for the result to be meaningful.
  • Datetime present, value missing: Value recorded, but result unknown. Can be recorded as it indicates explicit missingness.

Standard Mappings

Operator

Note that most values will be “=” as they will be exact recorded values.

Code Name
4171756 <
4171754 <=
4172703 =
4172704 >
4171755 >=