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
andrange_low
fields. Ranges have the same unit as thevalue_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 | >= |