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 |