MIMIC IV Data dictionary - onetomapanalytics/Meta_Data GitHub Wiki
MIMIC-IV Data dictionary
Hosp module
The Hosp module provides all data acquired from the hospital wide electronic health record.
Hosp module | ||
---|---|---|
omr table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual. |
chartdate | DATE NOT NULL | The date on which the observation was recorded |
seq_num | INTEGER NOT NULL | An monotonically increasing integer which uniquely distinguishes results of the same type recorded on the same day. For example, if two blood pressure measurements occur on the same day, seq_num orders them chronologically |
result_name | VARCHAR(100) NOT NULL | Each row provides detail regarding a single observation in the EHR. result_name provides a human interpretable description of the observation. As of MIMIC-IV v2.2, the following table lists the number of observations and the most common value |
result_value | TEXT NOT NULL | result_value is the value associated with the given OMR observation. For example, for the result_name of ‘Blood Pressure’, the field_value column contains the recorded blood pressure (120/80, 130/70, and so on) |
provider table | ||
Name | Postgres data type | Detailed description |
provider_id | VARCHAR(10) NOT NULL | provider_id lists all possible identifiers for providers used throughout the database. Provider identifiers follow a consistent pattern: the letter “P”, followed by either three numbers, followed by two letters or two numbers. For example, “P003AB”, “P00102”, “P1248B”, etc. Provider identifiers are randomly generated and do not have any inherent meaning aside from uniquely identifying the same provider across the database |
admissions table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | It is possible for this table to have duplicate subject_id, indicating that a single patient had multiple admissions to the hospital. The ADMISSIONS table can be linked to the PATIENTS table using subject_id. |
hadm_id | INTEGER NOT NULL | Each row of this table contains a unique hadm_id, which represents a single patient’s admission to the hospital. hadm_id ranges from 2000000 - 2999999. |
admittime | TIMESTAMP NOT NULL | admittime provides the date and time the patient was admitted to the hospital |
dischtime | TIMESTAMP | provides the date and time the patient was discharged from the hospital |
deathtime | TIMESTAMP | provides the time of in-hospital death for the patient. Note that deathtime is only present if the patient died in-hospital, and is almost always the same as the patient’s dischtime. However, there can be some discrepancies due to typographical errors |
admission_type | VARCHAR(40) NOT NULL | admission_type is useful for classifying the urgency of the admission. There are 9 possibilities: ‘AMBULATORY OBSERVATION’, ‘DIRECT EMER.’, ‘DIRECT OBSERVATION’, ‘ELECTIVE’, ‘EU OBSERVATION’, ‘EW EMER.’, ‘OBSERVATION ADMIT’, ‘SURGICAL SAME DAY ADMISSION’, ‘URGENT |
admit_provider_id | VARCHAR(10) | admit_provider_id provides an anonymous identifier for the provider who admitted the patient. Provider identifiers follow a consistent pattern: the letter “P”, followed by either three numbers, followed by two letters or two numbers. For example, “P003AB”, “P00102”, “P1248B”, etc. Provider identifiers are randomly generated and do not have any inherent meaning aside from uniquely identifying the same provider across the database |
admission_location | VARCHAR(60) | provides information about the location of the patient prior to arriving at the hospital. Note that as the emergency room is technically a clinic, patients who are admitted via the emergency room usually have it as their admission location. |
discharge_location | VARCHAR(60) | is the disposition of the patient after they are discharged from the hospital |
insurance | VARCHAR(255) | provide information about patient demographics for the given hospitalization. Note that as this data is documented for each hospital admission, they may change from stay to stay |
language | VARCHAR(10) | provide information about patient demographics for the given hospitalization. Note that as this data is documented for each hospital admission, they may change from stay to stay |
marital_status | VARCHAR(30) | provide information about patient demographics for the given hospitalization. Note that as this data is documented for each hospital admission, they may change from stay to stay |
race | VARCHAR(80) | provide information about patient demographics for the given hospitalization. Note that as this data is documented for each hospital admission, they may change from stay to stay |
edregtime | TIMESTAMP | The date and time at which the patient was registered from the emergency department |
edouttime | TIMESTAMP | The date and time at which the patient was discharged from the emergency department |
hospital_expire_flag | SMALLINT | This is a binary flag which indicates whether the patient died within the given hospitalization. 1 indicates death in the hospital, and 0 indicates survival to hospital discharge. |
d_hcpcs | ||
Name | Postgres data type | Detailed description |
code | CHAR(5) NOT NULL | A five character code which uniquely represents the event |
category | SMALLINT | Broad classification of the code |
long_description | TEXT | Textual descriptions of the code listed for the given row |
short_description | VARCHAR(180) | Textual descriptions of the code listed for the given row |
d_icd_diagnoses | ||
Name | Postgres data type | Detailed description |
icd_code | CHAR(7) NOT NULL | icd_code is the International Coding Definitions (ICD) code. There are two versions for this coding system: version 9 (ICD-9) and version 10 (ICD-10). |
icd_version | INTEGER NOT NULL | ICD code version can be differentiated using the icd_version column. In general, ICD-10 codes are more detailed, though code mappings (or “cross-walks”) exist which convert ICD-9 codes to ICD-10 codes. |
long_title | VARCHAR(255) | The long_title provides the meaning of the ICD code. For example, the ICD-9 code 0010 has long_title “Cholera due to vibrio cholerae” |
d_icd_procedures | ||
Name | Postgres data type | Detailed description |
icd_code | CHAR(7) NOT NULL | icd_code is the International Coding Definitions (ICD) code. There are two versions for this coding system: version 9 (ICD-9) and version 10 (ICD-10). |
icd_version | INTEGER NOT NULL | ICD code version can be differentiated using the icd_version column. In general, ICD-10 codes are more detailed, though code mappings (or “cross-walks”) exist which convert ICD-9 codes to ICD-10 codes. |
long_title | VARCHAR(255) | The long_title provides the meaning of the ICD code. For example, the ICD-9 code 0010 has long_title “Cholera due to vibrio cholerae” |
d_labitems | ||
Name | Postgres data type | Detailed description |
itemid | INTEGER | A unique identifier for a laboratory concept. itemid is unique to each row, and can be used to identify data in labevents associated with a specific concept |
label | VARCHAR(50) | The label column describes the concept which is represented by the itemid |
fluid | VARCHAR(50) | fluid describes the substance on which the measurement was made. For example, chemistry measurements are frequently performed on blood, which is listed in this column as ‘BLOOD’. Many of these measurements are also acquirable on other fluids, such as urine, and this column differentiates these distinct concepts |
category | VARCHAR(50) | category provides higher level information as to the type of measurement. For example, a category of ‘ABG’ indicates that the measurement is an arterial blood gas |
diagnoses_icd | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER NOT NULL | hadm_id is an integer identifier which is unique for each patient hospitalization |
seq_num | INTEGER NOT NULL | The priority assigned to the diagnoses. The priority can be interpreted as a ranking of which diagnoses are “important”, but many caveats to this broad statement exist. For example, patients who are diagnosed with sepsis must have sepsis as their 2nd billed condition. The 1st billed condition must be the infectious agent. There’s also less importance placed on ranking low priority diagnoses “correctly” (as there may be no correct ordering of the priority of the 5th - 10th diagnosis codes, for example) |
icd_code | VARCHAR(7) | icd_code is the International Coding Definitions (ICD) code |
icd_version | INTEGER | ICD code version can be differentiated using the icd_version column. In general, ICD-10 codes are more detailed, though code mappings (or “cross-walks”) exist which convert ICD-9 codes to ICD-10 codes. |
drgcodes | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER | hadm_id is an integer identifier which is unique for each patient hospitalization |
drg_type | VARCHAR(4) | The specific DRG ontology used for the code |
drg_code | VARCHAR(10) | The specific DRG ontology used for the code |
description | VARCHAR(195) | The specific DRG ontology used for the code |
drg_severity | SMALLINT | Some DRG ontologies further qualify the patient severity of illness, which are recorded here. |
drg_mortality | SMALLINT | Some DRG ontologies further qualify the patient likelihood of mortality, which are recorded here. |
emar | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER | hadm_id is an integer identifier which is unique for each patient hospitalization |
emar_id | VARCHAR(25) NOT NULL | emar_id is a unique identifier for each order made in eMAR. emar_id is composed of subject_id and emar_seq in the following pattern: ‘subject_id-emar_seq’ |
emar_seq | INTEGER NOT NULL | emar_seq is a consecutive integer which numbers eMAR orders chronologically |
poe_id | VARCHAR(25) NOT NULL | An identifier which links administrations in emar to orders in poe and prescriptions |
pharmacy_id | INTEGER | An identifier which links administrations in emar to pharmacy information in the pharmacy table |
enter_provider_id | VARCHAR(10) | enter_provider_id provides an anonymous identifier for the provider who entered the information into the eMAR system. Provider identifiers follow a consistent pattern: the letter “P”, followed by either three numbers, followed by two letters or two numbers. For example, “P003AB”, “P00102”, “P1248B”, etc. Provider identifiers are randomly generated and do not have any inherent meaning aside from uniquely identifying the same provider across the database |
charttime | TIMESTAMP NOT NULL | The time at which the medication was administered |
medication | TEXT | The name of the medication which was administered |
event_txt | VARCHAR(100) | Information about the administration. Most frequently event_txt is ‘Administered’, but other possible values are ‘Applied’, ‘Confirmed’, ‘Delayed’, ‘Not Given’, and so on |
scheduletime | TIMESTAMP | If present, the time at which the administration was scheduled |
storetime | TIMESTAMP NOT NULL | The time at which the administration was documented in the eMAR table |
emar_detail | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
emar_id | VARCHAR(25) NOT NULL | emar_id is a unique identifier for each order made in eMAR. emar_id is composed of subject_id and emar_seq in the following pattern: ‘subject_id-emar_seq’ |
emar_seq | INTEGER NOT NULL | emar_seq is a consecutive integer which numbers eMAR orders chronologically |
parent_field_ordinal | VARCHAR(10) | parent_field_ordinal delineates multiple administrations for the same eMar event, e.g. multiple formulary doses for the full dose |
administration_type | VARCHAR(50) | The type of administration, including ‘IV Bolus’, ‘IV Infusion’, ‘Medication Infusion’, ‘Transdermal Patch’, and so on |
pharmacy_id | INTEGER | An identifier which allows linking the eMAR order to pharmacy information provided in the pharmacy table. Note: rarely the same emar_id may have multiple distinct pharmacy_id across rows in the emar_detail table |
barcode_type | VARCHAR(4) | provide information about the delivery of the formulary dose of the administered medication |
reason_for_no_barcode | TEXT | provide information about the delivery of the formulary dose of the administered medication |
complete_dose_not_given | VARCHAR(5) | provide information about the delivery of the formulary dose of the administered medication |
dose_due | VARCHAR(100) | provide information about the delivery of the formulary dose of the administered medication |
dose_due_unit | VARCHAR(50) | provide information about the delivery of the formulary dose of the administered medication |
dose_given | VARCHAR(255) | provide information about the delivery of the formulary dose of the administered medication |
dose_given_unit | VARCHAR(50) | provide information about the delivery of the formulary dose of the administered medication |
will_remainder_of_dose_be_given | VARCHAR(5) | provide information about the delivery of the formulary dose of the administered medication |
product_amount_given | VARCHAR(30) | provide information about the delivery of the formulary dose of the administered medication |
product_unit | VARCHAR(30) | provide information about the delivery of the formulary dose of the administered medication |
product_code | VARCHAR(30) | provide information about the delivery of the formulary dose of the administered medication |
product_description | VARCHAR(255) | provide information about the delivery of the formulary dose of the administered medication |
product_description_other | VARCHAR(255) | provide information about the delivery of the formulary dose of the administered medication |
prior_infusion_rate | VARCHAR(40) | provide information about the delivery of the formulary dose of the administered medication |
infusion_rate | VARCHAR(40) | provide information about the delivery of the formulary dose of the administered medication |
infusion_rate_adjustment | VARCHAR(50) | provide information about the delivery of the formulary dose of the administered medication |
infusion_rate_adjustment_amount | VARCHAR(30) | provide information about the delivery of the formulary dose of the administered medication |
infusion_rate_unit | VARCHAR(30) | provide information about the delivery of the formulary dose of the administered medication |
route | VARCHAR(10) | provide information about the delivery of the formulary dose of the administered medication |
infusion_complete | VARCHAR(1) | provide information about the delivery of the formulary dose of the administered medication |
completion_interval | VARCHAR(50) | provide information about the delivery of the formulary dose of the administered medication |
new_iv_bag_hung | VARCHAR(1) | provide information about the delivery of the formulary dose of the administered medication |
continued_infusion_in_other_location | VARCHAR(1) | provide information about the delivery of the formulary dose of the administered medication |
restart_interval | TEXT | provide information about the delivery of the formulary dose of the administered medication |
side | VARCHAR(10) | provide information about the delivery of the formulary dose of the administered medication |
site | VARCHAR(255) | provide information about the delivery of the formulary dose of the administered medication |
non_formulary_visual_verification | VARCHAR(1) | provide information about the delivery of the formulary dose of the administered medication |
hpcsevents | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER NOT NULL | hadm_id is an integer identifier which is unique for each patient hospitalization |
chartdate | DATE | The date associated with the coded event |
hcpcs_cd | CHAR(5) NOT NULL | A five character code which uniquely represents the event. Link this to code in d_hcpcs for a longer description of the code |
seq_num | INTEGER NOT NULL | An assigned order to HCPCS codes for an individual hospitalization. This order sometimes conveys meaning, e.g. sometimes higher priority, but this is not guaranteed across all codes |
short_description | VARCHAR(180) | A short textual descriptions of the hcpcs_cd listed for the given row |
labevents | ||
Name | Postgres data type | Detailed description |
labevent_id | INTEGER NOT NULL | An integer which is unique for every row in the table |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER | hadm_id is an integer identifier which is unique for each patient hospitalization |
specimen_id | INTEGER NOT NULL | Uniquely denoted the specimen from which the lab measurement was made. Most lab measurements are made on patient derived samples (specimens) such as blood, urine, and so on. Often multiple measurements are made on the same sample. The specimen_id will group measurements made on the same sample, e.g. blood gas measurements made on the same sample of blood |
itemid | INTEGER NOT NULL | An identifier which uniquely denotes laboratory concepts |
order_provider_id | VARCHAR(10) | order_provider_id provides an anonymous identifier for the provider who ordered the laboratory measurement. Provider identifiers follow a consistent pattern: the letter “P”, followed by either three numbers, followed by two letters or two numbers. For example, “P003AB”, “P00102”, “P1248B”, etc. Provider identifiers are randomly generated and do not have any inherent meaning aside from uniquely identifying the same provider across the database |
charttime | TIMESTAMP(0) | The time at which the laboratory measurement was charted. This is usually the time at which the specimen was acquired, and is usually significantly earlier than the time at which the measurement is available |
storetime | TIMESTAMP(0) | The time at which the measurement was made available in the laboratory system. This is when the information would have been available to care providers |
value | VARCHAR(200) | The result of the laboratory measurement |
valuenum | DOUBLE PRECISION | the value cast as a numeric data type |
valueuom | VARCHAR(20) | The unit of measurement for the laboratory concept |
ref_range_lower | DOUBLE PRECISION | lower reference ranges indicating the normal range for the laboratory measurements. Values outside the reference ranges are considered abnormal. |
ref_range_upper | DOUBLE PRECISION | Upper reference ranges indicating the normal range for the laboratory measurements. Values outside the reference ranges are considered abnormal. |
flag | VARCHAR(10) | A brief string mainly used to indicate if the laboratory measurement is abnormal |
priority | VARCHAR(7) | The priority of the laboratory measurement: either routine or stat (urgent) |
comments | TEXT | Deidentified free-text comments associated with the laboratory measurement. Usually these provide information about the sample, whether any notifications were made to care providers regarding the results, considerations for interpretation, or in some cases the comments contain the result of the laboratory itself. Comments which have been fully deidentified (i.e. no information content retained) are present as three underscores: ___. A NULL comment indicates no comment was made for the row |
microbiologyevents | ||
Name | Postgres data type | Detailed description |
microevent_id | INTEGER NOT NULL | A unique integer denoting the row |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER | hadm_id is an integer identifier which is unique for each patient hospitalization |
micro_specimen_id | INTEGER NOT NULL | Uniquely denoted the specimen from which the microbiology measurement was made. Most microbiology measurements are made on patient derived samples (specimens) such as blood, urine, and so on. Often multiple measurements are made on the same sample. The micro_specimen_id will group measurements made on the same sample, e.g. organisms which grew from the same blood sample |
order_provider_id | VARCHAR(10) | order_provider_id provides an anonymous identifier for the provider who ordered the microbiology test. Provider identifiers follow a consistent pattern: the letter “P”, followed by either three numbers, followed by two letters or two numbers. For example, “P003AB”, “P00102”, “P1248B”, etc. Provider identifiers are randomly generated and do not have any inherent meaning aside from uniquely identifying the same provider across the database |
chartdate | TIMESTAMP(0) NOT NULL | chartdate is the same as charttime, except there is no time available. chartdate was included as time information is not always available for microbiology measurements: in order to be clear about when this occurs, charttime is null, and chartdate contains the date of the measurement. In the cases where both charttime and chartdate exists, chartdate is equal to a truncated version of charttime (i.e. charttime without the timing information). Not all observations have a charttime, but all observations have a chartdate |
charttime | TIMESTAMP(0) | charttime records the time at which an observation was charted, and is usually the closest proxy to the time the data was actually measured. In the cases where both charttime and chartdate exists, chartdate is equal to a truncated version of charttime (i.e. charttime without the timing information). Not all observations have a charttime, but all observations have a chartdate |
spec_itemid | INTEGER NOT NULL | The specimen which is tested for bacterial growth. The specimen is a sample derived from a patient; e.g. blood, urine, sputum, etc |
spec_type_desc | VARCHAR(100) NOT NULL | The specimen which is tested for bacterial growth. The specimen is a sample derived from a patient; e.g. blood, urine, sputum, etc |
test_seq | INTEGER NOT NULL | If multiple samples are drawn, the test_seq will delineate them. For example, if an aerobic and anerobic culture bottle are used for the same specimen, they will have distinct test_seq values (likely 1 and 2) |
storedate | TIMESTAMP(0) | The date (storedate) of when the microbiology result was available. While many interim results are made available during the process of assessing a microbiology culture, the times here are the time of the last known update |
storetime | TIMESTAMP(0) | The date and time (storetime) of when the microbiology result was available. While many interim results are made available during the process of assessing a microbiology culture, the times here are the time of the last known update |
test_itemid | INTEGER | The test performed on the given specimen |
test_name | VARCHAR(100) | The test performed on the given specimen |
org_itemid | INTEGER | The organism, if any, which grew when tested. If NULL, no organism grew (i.e. a negative culture) |
org_name | VARCHAR(100) | The organism, if any, which grew when tested. If NULL, no organism grew (i.e. a negative culture) |
isolate_num | SMALLINT | For testing antibiotics, the isolated colony (integer; starts at 1) |
quantity | VARCHAR(50) | |
ab_itemid | INTEGER | If an antibiotic was tested against the given organism for sensitivity, the antibiotic is listed here |
ab_name | VARCHAR(30) | If an antibiotic was tested against the given organism for sensitivity, the antibiotic is listed here |
dilution_text | VARCHAR(10) | Dilution values when testing antibiotic sensitivity. |
dilution_comparison | VARCHAR(20) | Dilution values when testing antibiotic sensitivity. |
dilution_value | DOUBLE PRECISION | Dilution values when testing antibiotic sensitivity. |
interpretation | VARCHAR(5) | interpretation of the antibiotic sensitivity, and indicates the results of the test. “S” is sensitive, “R” is resistant, “I” is intermediate, and “P” is pending |
comments | TEXT | Deidentified free-text comments associated with the microbiology measurement. Usually these provide information about the sample, whether any notifications were made to care providers regarding the results, considerations for interpretation, or in some cases the comments contain the result of the measurement itself. Comments which have been fully deidentified (i.e. no information content retained) are present as three underscores: ___. A NULL comment indicates no comment was made for the row |
patients table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual. As subject_id is the primary key for the table, it is unique for each row |
gender | VARCHAR(1) NOT NULL | gender is the genotypical sex of the patient |
anchor_age | INTEGER NOT NULL | a shifted year for the patient |
anchor_year | INTEGER NOT NULL | a range of years - the patient’s anchor_year occurred during this range |
anchor_year_group | VARCHAR(255) NOT NULL | is the patient’s age in the anchor_year. If a patient’s anchor_age is over 89 in the anchor_year then their anchor_age is set to 91, regardless of how old they actually were |
dod | TIMESTAMP(0) | The de-identified date of death for the patient. Date of death is extracted from two sources: the hospital information system and the Massachusetts State Registry of Vital Records and Statistics. Individual patient records from MIMIC were matched to the vital records using a custom algorithm based on identifiers including name, social security number, and date of birth. As a result of the linkage, out of hospital mortality is available for MIMIC-IV patients up to one year post-hospital discharge. All patient deaths occurring more than one year after hospital discharge are censored. Survival studies should incorporate this into their design. |
pharmacy | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER NOT NULL | hadm_id is an integer identifier which is unique for each patient hospitalization |
pharmacy_id | INTEGER NOT NULL | A unique identifier for the given pharmacy entry. Each row of the pharmacy table has a unique pharmacy_id. This identifier can be used to link the pharmacy information to the provider order (in poe or prescriptions) or to the administration of the medication (in emar). |
poe_id | VARCHAR(25) | A unique identifier for the given pharmacy entry. Each row of the pharmacy table has a unique pharmacy_id. This identifier can be used to link the pharmacy information to the provider order (in poe or prescriptions) or to the administration of the medication (in emar). |
starttime | TIMESTAMP(3) | The start times for the given prescribed medication |
stoptime | TIMESTAMP(3) | The stop times for the given prescribed medication |
medication | TEXT | The name of the medication provided |
proc_type | VARCHAR(50) NOT NULL | The type of order: “IV Piggyback”, “Non-formulary”, “Unit Dose”, and so on |
status | VARCHAR(50) | Whether the prescription is active, inactive, or discontinued |
entertime | TIMESTAMP(3) NOT NULL | The date and time at which the prescription was entered into the pharmacy system |
verifiedtime | TIMESTAMP(3) | The date and time at which the prescription was verified by a physician |
route | VARCHAR(50) | The intended route of administration for the prescription |
frequency | VARCHAR(50) | The frequency at which the medication should be administered to the patient. Many commonly used short hands are used in the frequency column. Q# indicates every # hours; e.g. “Q6” or “Q6H” is every 6 hours |
disp_sched | VARCHAR(255) | The hours of the day at which the medication should be administered, e.g. “08, 20” would indicate the medication should be administered at 8:00 AM and 8:00 PM, respectively |
infusion_type | VARCHAR(15) | A coded letter describing the type of infusion: ‘B’, ‘C’, ‘N’, ‘N1’, ‘O’, or ‘R’ |
sliding_scale | VARCHAR(1) | Indicates whether the medication should be given on a sliding scale: either ‘Y’ or ‘N’. |
lockout_interval | VARCHAR(50) | The time the patient must wait until providing themselves with another dose; often used with patient controlled analgesia |
basal_rate | REAL | The rate at which the medication is given over 24 hours |
one_hr_max | VARCHAR(10) | The maximum dose that may be given in a single hour |
doses_per_24_hrs | REAL | The number of expected doses per 24 hours. Note that this column can be misleading for continuously infused medications as they are usually only “dosed” once per day, despite continuous administration |
duration | REAL | duration is the numeric duration of the given dose |
duration_interval | VARCHAR(50) | duration_interval can be considered as the unit of measurement for the given duration |
expiration_value | INTEGER | If the drug has a relevant expiry date, these columns detail when this occurs. expiration_value providea a length of time until the drug expires, e.g. 30 days, 72 hours, and so on |
expiration_unit | VARCHAR(50) | If the drug has a relevant expiry date, these columns detail when this occurs. expiration_unit provide a length of time until the drug expires, e.g. 30 days, 72 hours, and so on |
expirationdate | TIMESTAMP(3) | If the drug has a relevant expiry date, these columns detail when this occurs. expirationdate provides the deidentified date of expiry |
dispensation | VARCHAR(50) | The source of dispensation for the medication |
fill_quantity | VARCHAR(50 | What proportion of the formulary to fill |
poe | ||
Name | Postgres data type | Detailed description |
poe_id | VARCHAR(25) NOT NULL | A unique identifier for the given order. poe_id is composed of subject_id and a monotonically increasing integer, poe_seq, in the following format: subject_id-poe_seq |
poe_seq | INTEGER NOT NULL | A monotonically increasing integer which chronologically sorts the POE orders. That is, POE orders can be ordered sequentially by poe_seq |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER | hadm_id is an integer identifier which is unique for each patient hospitalization |
ordertime | TIMESTAMP(0) NOT NULL | The date and time at which the provider order was made |
order_type | VARCHAR(25) NOT NULL | The type of provider order. One of the following: ADT orders, Blood Bank, Cardiology, Consults, Critical Care, General Care, Hemodialysis, IV therapy, Lab, Medications, Neurology, Nutrition, OB, Radiology, Respiratory, TPN |
order_subtype | VARCHAR(50) | Further detail on the type of order made by the provider. The order_subtype is best interpreted alongside the order_type, e.g. order_type: 'Cardiology' with order_subtype: 'Holter Monitor' |
transaction_type | VARCHAR(15) | The action which the provider performed when performing this order. One of the following: Change, Co, D/C, H, New, T |
discontinue_of_poe_id | VARCHAR(25) | If this order discontinues a previous order, then discontinue_of_poe_id will link to the previous order which was discontinued |
discontinued_by_poe_id | VARCHAR(25) | if this order was later discontinued by a distinct order, then discontinued_by_poe_id will link to that future order |
order_provider_id | VARCHAR(10) | order_provider_id provides an anonymous identifier for the provider who made the order. Provider identifiers follow a consistent pattern: the letter “P”, followed by either three numbers, followed by two letters or two numbers. For example, “P003AB”, “P00102”, “P1248B”, etc. Provider identifiers are randomly generated and do not have any inherent meaning aside from uniquely identifying the same provider across the database |
order_status | VARCHAR(15) | Whether the order is still active (‘Active’) or whether it has been inactivated (‘Inactive’) |
poe_detail | ||
Name | Postgres data type | Detailed description |
poe_id | VARCHAR(25) NOT NULL | A unique identifier for the given order. poe_id is composed of subject_id and a monotonically increasing integer, poe_seq, in the following format: subject_id-poe_seq |
poe_seq | INTEGER NOT NULL | A monotonically increasing integer which chronologically sorts the POE orders. That is, POE orders can be ordered sequentially by poe_seq |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
field_name | VARCHAR(255) NOT NULL | Each row provides detail regarding a particular aspect of a POE order. field_name is the name given to that aspect. |
field_value | TEXT | field_value is the value associated with the given POE order and field_name. For example, for the field_name of ‘Admit to’, the field_value column contains the type of unit the patient was admitted to (Psychiatry, GYN, and so on) |
prescriptions | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER NOT NULL | hadm_id is an integer identifier which is unique for each patient hospitalization |
pharmacy_id | INTEGER NOT NULL | An identifier which links administrations in emar to pharmacy information in the pharmacy table |
poe_id | VARCHAR(25) | These columns allow linking prescriptions to associated orders in the poe table |
poe_seq | INTEGER | These columns allow linking prescriptions to associated orders in the poe table |
order_provider_id | VARCHAR(10) | order_provider_id provides an anonymous identifier for the provider who initiated the order. Provider identifiers follow a consistent pattern: the letter “P”, followed by either three numbers, followed by two letters or two numbers. For example, “P003AB”, “P00102”, “P1248B”, etc. Provider identifiers are randomly generated and do not have any inherent meaning aside from uniquely identifying the same provider across the database |
starttime | TIMESTAMP(3) | The prescribed starttime for the medication |
stoptime | TIMESTAMP(3) | The stop time for the medication |
drug_type | VARCHAR(20) NOT NULL | The component of the prescription which the drug occupies. Can be one of ‘MAIN’, ‘BASE’, or ‘ADDITIVE’ |
drug | VARCHAR(255) NOT NULL | A free-text description of the medication administered |
formulary_drug_cd | VARCHAR(50) | A hospital specific ontology used to order drugs from the formulary |
gsn | VARCHAR(255) | The Generic Sequence Number (GSN), a coded identifier used for medications |
ndc | VARCHAR(25) | The National Drug Code (NDC), a coded identifier which uniquely identifiers medications |
prod_strength | VARCHAR(255) | A free-text description of the composition of the prescribed medication (e.g. ‘12 mg / 0.8 mL Oral Syringe’, ‘12.5mg Tablet’, etc) |
form_rx | VARCHAR(25) | The container in which the formulary dose is delivered (e.g. ‘TABLET’, ‘VIAL’, etc) |
dose_val_rx | VARCHAR(100) | The prescribed dose for the patient intended to be administered over the given time period |
dose_unit_rx | VARCHAR(50) | The unit of measurement for the dose |
form_val_disp | VARCHAR(50) | The amount of the medication which is contained in a single formulary dose |
form_unit_disp | VARCHAR(50) | The unit of measurement used for the formulary dosage |
doses_per_24_hrs | REAL | The number of doses per 24 hours for which the medication is to be given. A daily dose would result in doses_per_24_hrs: 1, bidaily (BID) would be 2, and so on |
route | VARCHAR(50) | The route of administration for the medication |
procedures_icd | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER NOT NULL | hadm_id is an integer identifier which is unique for each patient hospitalization |
seq_num | INTEGER NOT NULL | An assigned priority for procedures which occurred within the hospital stay |
chartdate | DATE NOT NULL | The date of the associated procedures. Date does not strictly correlate with seq_num |
icd_code | VARCHAR(7) | icd_code is the International Coding Definitions (ICD) code |
icd_version | INTEGER | |
services | ||
Name | Postgres data type | Detailed description |
subject_id | INT | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INT | hadm_id is an integer identifier which is unique for each patient hospitalization |
transfertime | TIMESTAMP(0) | transfertime is the time at which the patient moved from the prev_service (if present) to the curr_service |
prev_service | VARCHAR(20) | the previous service that the patient resides under |
curr_service | VARCHAR(20) | the current service that the patient resides under |
transfers table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER | hadm_id is an integer identifier which is unique for each patient hospitalization |
transfer_id | INTEGER NOT NULL | transfer_id is unique to a patient physical location |
eventtype | VARCHAR(10) | eventtype describes what transfer event occurred: ‘ed’ for an emergency department stay, ‘admit’ for an admission to the hospital, ‘transfer’ for an intra-hospital transfer and ‘discharge’ for a discharge from the hospital |
careunit | VARCHAR(255) | The type of unit or ward in which the patient is physically located. Examples of care units include medical ICUs, surgical ICUs, medical wards, new baby nurseries, and so on |
intime | TIMESTAMP(0) | intime provides the date and time the patient was transferred into the current care unit (careunit) from the previous care unit. |
outtime | TIMESTAMP(0) | outtime provides the date and time the patient was transferred out of the current physical location. |
service is listed in the table as an abbreviation - this is exactly how the data is stored in the hospital database. Here is the description of each service type
Service | Description |
---|---|
CMED | Cardiac Medical - for non-surgical cardiac related admissions |
CSURG | Cardiac Surgery - for surgical cardiac admissions |
DENT | Dental - for dental/jaw related admissions |
ENT | Ear, nose, and throat - conditions primarily affecting these areas |
EYE | Eye diseases - including subspecialty services in glaucoma, cataract surgery, cornea and external diseases, and neuro-ophthalmology. |
GU | Genitourinary - reproductive organs/urinary system |
GYN | Gynecological - female reproductive systems and breasts |
MED | Medical - general service for internal medicine |
NB | Newborn - infants born at the hospital |
NBB | Newborn baby - infants born at the hospital |
NMED | Neurologic Medical - non-surgical, relating to the brain |
NSURG | Neurologic Surgical - surgical, relating to the brain |
OBS | Obstetrics - conerned with childbirth and the care of women giving birth |
ORTHO | Orthopaedic - surgical, relating to the musculoskeletal system |
OMED | Orthopaedic medicine - non-surgical, relating to musculoskeletal system |
PSURG | Plastic - restortation/reconstruction of the human body (including cosmetic or aesthetic) |
PSYCH | Psychiatric - mental disorders relating to mood, behaviour, cognition, or perceptions |
SURG | Surgical - general surgical service not classified elsewhere |
TRAUM | Trauma - injury or damage caused by physical harm from an external source |
TSURG | Thoracic Surgical - surgery on the thorax, located between the neck and the abdomen |
VSURG | Vascular Surgical - surgery relating to the circulatory system |
ICU module
The ICU module contains information collected from the clinical information system used within the ICU.
ICU module | ||
---|---|---|
caregiver table | ||
Name | Postgres data type | Detailed description |
caregiver_id | VARCHAR(10) NOT NULL | caregiver_id lists all possible identifiers for caregivers used in the ICU module. caregiver_id uniquely identifies a single caregiver who documented data in the ICU information system |
d_items | ||
Name | Postgres data type | Detailed description |
itemid | INTEGER | As an alternate primary key to the table, itemid is unique to each row. |
label | VARCHAR(200) | The label column describes the concept which is represented by the itemid. |
abbreviation | VARCHAR(100) | The abbreviation column, only available in Metavision, lists a common abbreviation for the label |
linksto | VARCHAR(50) | linksto provides the table name which the data links to. For example, a value of ‘chartevents’ indicates that the itemid of the given row is contained in CHARTEVENTS. A single itemid is only used in one event table, that is, if an itemid is contained in CHARTEVENTS it will not be contained in any other event table (e.g. IOEVENTS, CHARTEVENTS, etc) |
category | VARCHAR(100) | category provides some information of the type of data the itemid corresponds to. Examples include ‘ABG’, which indicates the measurement is sourced from an arterial blood gas, ‘IV Medication’, which indicates that the medication is administered through an intravenous line, and so on. |
unitname | VARCHAR(100) | unitname specifies the unit of measurement used for the itemid. This column is not always available, and this may be because the unit of measurement varies, a unit of measurement does not make sense for the given data type, or the unit of measurement is simply missing. Note that there is sometimes additional information on the unit of measurement in the associated event table, e.g. the valueuom column in CHARTEVENTS |
param_type | VARCHAR(30) | param_type describes the type of data which is recorded: a date, a number or a text field |
lownormalvalue | FLOAT | These columns store reference ranges for the measurement. Note that a reference range encompasses the expected value of a measurement: values outside of this may still be physiologically plausible, but are considered unusual. |
highnormalvalue | FLOAT | These columns store reference ranges for the measurement. Note that a reference range encompasses the expected value of a measurement: values outside of this may still be physiologically plausible, but are considered unusual. |
chartevents | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER | Identifiers unique to a patient |
hadm_id | INTEGER | Identifiers unique to a patient hospital stay |
stay_id | INTEGER | Identifiers unique to a patient ward stay |
caregiver_id | INTEGER | caregiver_id uniquely identifies a single caregiver who documented data in the ICU information system |
charttime | TIMESTAMP(0) | charttime records the time at which an observation was made, and is usually the closest proxy to the time the data was actually measured |
storetime | TIMESTAMP(0) | storetime records the time at which an observation was manually input or manually validated by a member of the clinical staff |
itemid | INTEGER | Identifier for a single measurement type in the database. Each row associated with one itemid (e.g. 220045) corresponds to an instantiation of the same measurement (e.g. heart rate) |
value | VARCHAR(200) | value contains the value measured for the concept identified by the itemid |
valuenum | DOUBLE PRECISION | If value is numeric, then valuenum contains the same data in a numeric format. If this data is not numeric, valuenum is null. In some cases (e.g. scores like Glasgow Coma Scale, Richmond Sedation Agitation Scale and Code Status), valuenum contains the score and value contains the score and text describing the meaning of the score. |
valueuom | VARCHAR(20) | valueuom is the unit of measurement for the value, if appropriate |
warning | SMALLINT | warning specifies if a warning for this observation was manually documented by the care provider |
datetimeevents | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER | Identifiers unique to a patient |
hadm_id | INTEGER | Identifiers unique to a patient hospital stay |
stay_id | INTEGER | Identifiers unique to a patient ward stay |
caregiver_id | INTEGER | caregiver_id uniquely identifies a single caregiver who documented data in the ICU information system |
charttime | TIMESTAMP(3) | charttime records the time at which an observation was made, and is usually the closest proxy to the time the data was actually measured |
storetime | TIMESTAMP(3) | storetime records the time at which an observation was manually input or manually validated by a member of the clinical staff |
itemid | INTEGER | Identifier for a single measurement type in the database. Each row associated with one itemid (e.g. 220045) corresponds to an instantiation of the same measurement (e.g. heart rate) |
value | TIMESTAMP(3) | value contains the value measured for the concept identified by the itemid |
valueuom | VARCHAR(20) | valueuom is the unit of measurement for the value, if appropriate |
warning | SMALLINT | warning specifies if a warning for this observation was manually documented by the care provider |
icustays | ||
Name | Postgres data type | Detailed description |
subject_id | INT | Identifiers unique to a patient |
hadm_id | INT | Identifiers unique to a patient hospital stay |
stay_id | INT | Identifiers unique to a patient ward stay |
first_careunit | VARCHAR(20) | the first ICU type in which the patient was cared for. As an stay_id groups all ICU admissions within 24 hours of each other, it is possible for a patient to be transferred from one type of ICU to another and have the same stay_id. |
last_careunit | VARCHAR(20) | last ICU type in which the patient was cared for. As an stay_id groups all ICU admissions within 24 hours of each other, it is possible for a patient to be transferred from one type of ICU to another and have the same stay_id. |
intime | TIMESTAMP(0) | INTIME provides the date and time the patient was transferred into the ICU. |
outtime | TIMESTAMP(0) | OUTTIME provides the date and time the patient was transferred out of the ICU |
los | DOUBLE PRECISION | LOS is the length of stay for the patient for the given ICU stay, which may include one or more ICU units. The length of stay is measured in fractional days |
Ingredientevents | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER | Identifiers unique to a patient |
hadm_id | INTEGER | Identifiers unique to a patient hospital stay |
stay_id | INTEGER | Identifiers unique to a patient ward stay |
caregiver_id | INTEGER | caregiver_id uniquely identifies a single caregiver who documented data in the ICU information system |
starttime | TIMESTAMP(0) | record the start time of the event |
endtime | TIMESTAMP(0) | record the end time of the event |
storetime | TIMESTAMP(0) | records the time at which an observation was manually input or manually validated by a member of the clinical staff |
itemid | INTEGER | Identifier for a single measurement type in the database. Each row associated with one itemid which corresponds to an instantiation of the same measurement (e.g. norepinephrine) |
amount | DOUBLE PRECISION | amount and amountuom list the amount of a drug or substance administered to the patient either between the starttime and endtime |
amountuom | VARCHAR(20) | amount and amountuom list the amount of a drug or substance administered to the patient either between the starttime and endtime |
rate | DOUBLE PRECISION | rate and rateuom list the rate at which the drug or substance was administered to the patient either between the starttime and endtime |
rateuom | VARCHAR(20) | rate and rateuom list the rate at which the drug or substance was administered to the patient either between the starttime and endtime |
orderid | INTEGER | orderid links multiple items contained in the same solution together. For example, when a solution of noradrenaline and normal saline is administered both noradrenaline and normal saline occur on distinct rows but will have the same orderid. |
linkorderid | INTEGER | linkorderid links the same order across multiple instantiations: for example, if the rate of delivery for the solution with noradrenaline and normal saline is changed, two new rows which share the same new orderid will be generated, but the linkorderid will be the same |
statusdescription | VARCHAR(20) | statusdescription states the ultimate status of the item, or more specifically, row. It is used to indicate why the delivery of the compound has ended. There are only six possible statuses: Changed - The current delivery has ended as some aspect of it has changed (most frequently, the rate has been changed); Paused - The current delivery has been paused; FinishedRunning - The delivery of the item has finished (most frequently, the bag containing the compound is empty); Stopped - The delivery of the item been terminated by the caregiver; Rewritten - Incorrect information was input, and so the information in this row was rewritten (these rows are primarily useful for auditing purposes - the rates/amounts described were not delivered and so should not be used if determining what compounds a patient has received); Flushed - A line was flushed |
originalamount | DOUBLE PRECISION | Drugs are usually mixed within a solution and delivered continuously from the same bag. This column represents the amount of the compound contained in the bag at starttime |
originalrate | DOUBLE PRECISION | This is the rate that was input by the care provider. Note that this may differ from rate because of various reasons: originalrate was the original planned rate, while the rate column will be the true rate delivered |
Inputevents | ||
Name | Postgres data type | Detailed description |
subject_id | INT | Identifiers unique to a patient |
hadm_id | INT | Identifiers unique to a patient hospital stay |
stay_id | INT | Identifiers unique to a patient ward stay |
caregiver_id | INTEGER | caregiver_id uniquely identifies a single caregiver who documented data in the ICU information system |
starttime | TIMESTAMP(0) | record the start time of the event |
endtime | TIMESTAMP(0) | record the end time of the event |
storetime | TIMESTAMP(0) | records the time at which an observation was manually input or manually validated by a member of the clinical staff |
itemid | INT | Identifier for a single measurement type in the database. Each row associated with one itemid which corresponds to an instantiation of the same measurement (e.g. norepinephrine) |
amount | DOUBLE PRECISION | amount and amountuom list the amount of a drug or substance administered to the patient either between the starttime and endtime |
amountuom | VARCHAR(30) | amount and amountuom list the amount of a drug or substance administered to the patient either between the starttime and endtime |
rate | DOUBLE PRECISION | rate and rateuom list the rate at which the drug or substance was administered to the patient either between the starttime and endtime |
rateuom | VARCHAR(30) | rate and rateuom list the rate at which the drug or substance was administered to the patient either between the starttime and endtime |
orderid | BIGINT | orderid links multiple items contained in the same solution together. For example, when a solution of noradrenaline and normal saline is administered both noradrenaline and normal saline occur on distinct rows but will have the same orderid. |
linkorderid | BIGINT | linkorderid links the same order across multiple instantiations: for example, if the rate of delivery for the solution with noradrenaline and normal saline is changed, two new rows which share the same new orderid will be generated, but the linkorderid will be the same |
ordercategoryname | VARCHAR(100) | These columns provide higher level information about the order the medication/solution is a part of. Categories represent the type of administration, while the ordercomponenttypedescription describes the role of the substance in the solution (i.e. main order parameter, additive, or mixed solution) |
secondaryordercategoryname | VARCHAR(100) | These columns provide higher level information about the order the medication/solution is a part of. Categories represent the type of administration, while the ordercomponenttypedescription describes the role of the substance in the solution (i.e. main order parameter, additive, or mixed solution) |
ordercomponenttypedescription | VARCHAR(200) | These columns provide higher level information about the order the medication/solution is a part of. Categories represent the type of administration, while the ordercomponenttypedescription describes the role of the substance in the solution (i.e. main order parameter, additive, or mixed solution) |
ordercategorydescription | VARCHAR(50) | These columns provide higher level information about the order the medication/solution is a part of. Categories represent the type of administration, while the ordercomponenttypedescription describes the role of the substance in the solution (i.e. main order parameter, additive, or mixed solution) |
patientweight | DOUBLE PRECISION | The patient weight in kilograms |
totalamount | DOUBLE PRECISION | Intravenous administrations are usually given by hanging a bag of fluid at the bedside for continuous infusion over a certain period of time. These columns list the total amount of the fluid in the bag containing the solution. |
totalamountuom | VARCHAR(50) | Intravenous administrations are usually given by hanging a bag of fluid at the bedside for continuous infusion over a certain period of time. These columns list the total amount of the fluid in the bag containing the solution. |
isopenbag | SMALLINT | Whether the order was from an open bag |
statusdescription | VARCHAR(30) | statusdescription states the ultimate status of the item, or more specifically, row. It is used to indicate why the delivery of the compound has ended. There are only six possible statuses: Changed - The current delivery has ended as some aspect of it has changed (most frequently, the rate has been changed); Paused - The current delivery has been paused; FinishedRunning - The delivery of the item has finished (most frequently, the bag containing the compound is empty); Stopped - The delivery of the item been terminated by the caregiver; Rewritten - Incorrect information was input, and so the information in this row was rewritten (these rows are primarily useful for auditing purposes - the rates/amounts described were not delivered and so should not be used if determining what compounds a patient has received); Flushed - A line was flushed |
originalamount | DOUBLE PRECISION | Drugs are usually mixed within a solution and delivered continuously from the same bag. This column represents the amount of the compound contained in the bag at starttime |
originalrate | DOUBLE PRECISION | This is the rate that was input by the care provider. Note that this may differ from rate because of various reasons: originalrate was the original planned rate, while the rate column will be the true rate delivered |
outputevents | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER | Identifiers unique to a patient |
hadm_id | INTEGER | Identifiers unique to a patient hospital stay |
stay_id | INTEGER | Identifiers unique to a patient ward stay |
caregiver_id | INTEGER | caregiver_id uniquely identifies a single caregiver who documented data in the ICU information system |
charttime | TIMESTAMP(3) | charttime is the time of an output event |
storetime | TIMESTAMP(3) | records the time at which an observation was manually input or manually validated by a member of the clinical staff |
itemid | INTEGER | Identifier for a single measurement type in the database. Each row associated with one itemid which corresponds to an instantiation of the same measurement (e.g. norepinephrine) |
value | DOUBLE PRECISION | value and valueuom list the amount of a substance at the charttime (when the exact start time is unknown, but usually up to an hour before) |
valueuom | VARCHAR(20) | value and valueuom list the amount of a substance at the charttime (when the exact start time is unknown, but usually up to an hour before) |
procedureevents | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER | Identifiers unique to a patient |
hadm_id | INTEGER | Identifiers unique to a patient hospital stay |
stay_id | INTEGER | Identifiers unique to a patient ward stay |
caregiver_id | INTEGER | caregiver_id uniquely identifies a single caregiver who documented data in the ICU information system |
starttime | TIMESTAMP | record the start time of the event |
endtime | TIMESTAMP | record the end time of the event |
storetime | TIMESTAMP | records the time at which an observation was manually input or manually validated by a member of the clinical staff |
itemid | INTEGER | Identifier for a single measurement type in the database. Each row associated with one itemid which corresponds to an instantiation of the same measurement (e.g. norepinephrine) |
value | DOUBLE PRECISION | In the procedureevents table, this identifies the duration of the procedure (if applicable). For example, if querying for itemid 225794 (“Non-invasive Ventilation”), then the value column indicates the duration of ventilation therapy |
valueuom | VARCHAR(20) | The unit of measurement for the value. Most frequently “None” (no value recorded); otherwise one of “day”, “hour”, or “min”. A query for itemiid 225794 (“Non-invasive Ventilation”) returning a value of 461 and valueuom of ‘min’ would correspond to non-invasive ventilation provided for 461 minutes; this value is expected to match the difference between the starttime and endtime fields for the record. A procedure with valueuom equal to “None” corresponds to a procedure which is instantaneous (e.g. intubation, patient transfer) or whose duration is not relevant (e.g. imaging procedures). For these records, there will be a difference of one second between starttime and endtime values. |
location | VARCHAR(100) | location and locationcategory provide information about where on the patient’s body the procedure is taking place. For example, the location might be ‘Left Upper Arm’ and the locationcategory might be ‘Invasive Venous’ |
locationcategory | VARCHAR(50) | location and locationcategory provide information about where on the patient’s body the procedure is taking place. For example, the location might be ‘Left Upper Arm’ and the locationcategory might be ‘Invasive Venous’ |
orderid | INTEGER | These columns link procedures to specific physician orders. Unlike in the mimic_icu.inputevents table, most procedures in procedureevents are ordered independently. There are a limited number of records for which the same procedure was performed again at a later date under the same original order. When a procedure was repeated under the same original order, the linkorderid field of the record for the later procedure will be set to the orderid field of the earlier record. In all other cases, orderid = linkorderid |
linkorderid | INTEGER | These columns link procedures to specific physician orders. Unlike in the mimic_icu.inputevents table, most procedures in procedureevents are ordered independently. There are a limited number of records for which the same procedure was performed again at a later date under the same original order. When a procedure was repeated under the same original order, the linkorderid field of the record for the later procedure will be set to the orderid field of the earlier record. In all other cases, orderid = linkorderid |
ordercategoryname | VARCHAR(50) | These columns provide higher level information about the medication/solution order. Categories represent the type of administration |
ordercategorydescription | VARCHAR(30) | These columns provide higher level information about the medication/solution order. Categories represent the type of administration |
patientweight | DOUBLE PRECISION | The patient weight in kilograms |
isopenbag | SMALLINT | Whether the order was from an open bag |
continueinnextdept | SMALLINT | If the order ended on patient transfer, this field indicates if it continued into the next department (e.g. a floor) |
statusdescription | VARCHAR(20) | statusdescription states the ultimate status of the procedure referred to in the row. The statuses appearing on the procedureevents table are: Paused - The current delivery has been paused.; FinishedRunning - The delivery of the item has finished (most frequently, the bag containing the compound is empty).; Stopped - The delivery of the item been terminated by the caregiver.; Nearly all procedures recorded in procedureevents have a status of FinishedRunning |
originalamount | DOUBLE PRECISION | These fields are present in the table and never null, but have no clear meaning. In particular, “originalrate” is either 0 or 1 for all records. |
originalrate | DOUBLE PRECISION | These fields are present in the table and never null, but have no clear meaning. In particular, “originalrate” is either 0 or 1 for all records. |
ED module
The ED module contains data for emergency department patients collected while they are in the ED.
ED module | ||
---|---|---|
diagnosis table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
stay_id | INTEGER NOT NULL | An identifier which uniquely identifies a single emergency department stay for a single patient |
seq_num | INTEGER NOT NULL | A pseudo-priority for the diagnosis. A seq_num of 1 usually indicates a “primary” diagnosis, but accurately assessing the priority for patients with multiple diagnoses is challenging |
icd_code | VARCHAR(10) NOT NULL | A coded diagnosis using the International Classification of Diseases (ICD) ontology |
icd_version | INTEGER NOT NULL | The version of the ICD system used; either 9 indicating ICD-9 or 10 indicating ICD-10. The ontologies for these two systems differ, and therefore the meaning of the icd_code will depend on the icd_version |
icd_title | TEXT NOT NULL | The textual description of the diagnosis |
edstays table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
hadm_id | INTEGER NOT NULL | If the patient was admitted to the hospital after their ED stay, hadm_id will contain the hospital identifier (ranges from 2000000 - 2999999). The hadm_id may be used to link the ED stay with the hospitalization in MIMIC-IV. If hadm_id is NULL, the patient was not admitted to the hospital after their ED stay |
stay_id | INTEGER NOT NULL | An identifier which uniquely identifies a single emergency department stay for a single patient |
intime | TIMESTAMP(0) NOT NULL | The admission datetime (intime) of the given emergency department stay |
outtime | TIMESTAMP(0) NOT NULL | The discharge datetime (outtime) of the given emergency department stay |
gender | VARCHAR(1) NOT NULL | The patient’s administrative gender as documented in the hospital system |
race | VARCHAR(60) | The patient’s self-reported race. Race is aggregated into higher level categories for very small groups. As of MIMIC-IV-ED v2.1, there were 33 unique categories for race |
arrival_transport | VARCHAR(50) NOT NULL | The method through which the individual arrived at the ED. A count of the possible entries is provided below |
disposition | VARCHAR(255) | The method through which the individual left the ED. |
medrecon table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
stay_id | INTEGER NOT NULL | An identifier which uniquely identifies a single emergency department stay for a single patient |
charttime | TIMESTAMP(0) | The time at which the medicine reconciliation was charted |
name | VARCHAR(255) | The name of the medication |
gsn | VARCHAR(10) | The Generic Sequence Number (GSN), an ontology for the medication |
ndc | VARCHAR(12) | The National Drug Code (ndc) for the medication |
etc_rn | SMALLINT NOT NULL | Medications are grouped using a hierarchical ontology known as the Enhanced Therapeutic Class (ETC). As more than one group may be associated with the medication, a sequential integer (etc_rn) was generated to differentiate the groups. There is no meaning to the order of etc_rn. etccode provides the code and etcdescription provides the description of the group |
etccode | VARCHAR(8) | Medications are grouped using a hierarchical ontology known as the Enhanced Therapeutic Class (ETC). As more than one group may be associated with the medication, a sequential integer (etc_rn) was generated to differentiate the groups. There is no meaning to the order of etc_rn. etccode provides the code and etcdescription provides the description of the group |
etcdescription | VARCHAR(255) | Medications are grouped using a hierarchical ontology known as the Enhanced Therapeutic Class (ETC). As more than one group may be associated with the medication, a sequential integer (etc_rn) was generated to differentiate the groups. There is no meaning to the order of etc_rn. etccode provides the code and etcdescription provides the description of the group |
pyxis table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
stay_id | INTEGER NOT NULL | An identifier which uniquely identifies a single emergency department stay for a single patient |
charttime | TIMESTAMP(0) | The time at which the medicine reconciliation was charted |
med_rn | SMALLINT NOT NULL | A row number for the medicine used to group single dispensations |
name | VARCHAR(255) | The name of the medication |
gsn_rn | SMALLINT NOT NULL | As a medicine may be a member of multiple groups in the GSN ontology, this row number differentiates them. The order of gsn_rn has no meaning |
gsn | VARCHAR(10) | The Generic Sequence Number (GSN), an ontology for the medication |
triage table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
stay_id | INTEGER NOT NULL | An identifier which uniquely identifies a single emergency department stay for a single patient |
temperature | NUMERIC(10, 4) | The patient’s temperature in degrees Farenheit. Some temperatures may be incorrectly documented as Celsius |
heartrate | NUMERIC(10, 4) | The patient’s heart rate in beats per minute |
resprate | NUMERIC(10, 4) | The patient’s respiratory rate in breaths per minute |
o2sat | NUMERIC(10, 4) | The patient’s peripheral oxygen saturation as a percentage |
sbp | NUMERIC(10, 4) | The patient’s systolic blood pressure measured in millimitres of mercury (mmHg) |
dbp | NUMERIC(10, 4) | The patient’s diastolic blood pressure measured in millimitres of mercury (mmHg) |
pain | TEXT | The level of pain self-reported by the patient, on a scale of 0-10 |
acuity | NUMERIC(10, 4) | An order of priority based upon acuity utilizing the Emergency Severity Index (ESI) Five Level triage system. This priority is assigned by a registered nurse |
chiefcomplaint | VARCHAR(255) | A deidentified free-text description of the patient’s chief complaint |
vitalsign table | ||
Name | Postgres data type | Detailed description |
subject_id | INTEGER NOT NULL | subject_id is a unique identifier which specifies an individual patient. Any rows associated with a single subject_id pertain to the same individual |
stay_id | INTEGER NOT NULL | An identifier which uniquely identifies a single emergency department stay for a single patient |
charttime | TIMESTAMP(0) | The time at which the vital signs were charted |
temperature | NUMERIC(10, 4) | The patient’s temperature in degrees Farenheit. Some temperatures may be incorrectly documented as Celsius |
heartrate | NUMERIC(10, 4) | The patient’s heart rate in beats per minute |
resprate | NUMERIC(10, 4) | The patient’s respiratory rate in breaths per minute |
o2sat | NUMERIC(10, 4) | The patient’s oxygen saturation measured as a percentage |
sbp | INTEGER | The patient’s systolic blood pressure measured in millimitres of mercury (mmHg) |
dbp | INTEGER | The patient’s diastolic blood pressure measured in millimitres of mercury (mmHg) |
rhythm | TEXT | The patient’s heart rhythm |
pain | TEXT | The patient’s self-reported level of pain on a scale from 0-10. The pain is documented as free-text and may contain non-numeric entries |
CXR
The CXR module provides lookup tables linking patient identifiers with MIMIC-CXR study_id and dicom_id, allowing analysis of patient chest x-rays to be linked with the clinical data from other MIMIC-IV modules.
| CXR module | | | |-------------------|-------|-------| | | | Name | Postgres data type | Detailed description | | subject_id | INTEGER NOT NULL | | study_id | INTEGER NOT NULL | | dicom_id | TEXT NOT NULL |