Sepsis vs Septic Shock A Practical OMOP Mapping Guide

Dr. Emily WatsonDr. Emily Watson
January 29, 2026
21 min read
Sepsis vs Septic Shock A Practical OMOP Mapping Guide

At its core, the distinction between sepsis and septic shock comes down to severity and the body's physiological state. Sepsis is defined as life-threatening organ dysfunction brought on by a dysregulated host response to an infection. On the other hand, septic shock is a more severe subset of sepsis. It's marked by profound circulatory, cellular, and metabolic abnormalities that dramatically increase the risk of death.

From Infection Response to Systemic Collapse

Getting the difference between sepsis and septic shock right isn't just an academic exercise. For anyone working with clinical data, it's essential for patient stratification, resource planning, and building reliable analytical cohorts.

These conditions aren't entirely separate diseases; instead, they represent points along a continuum of severity. Sepsis is what happens when the body's immune response to an infection goes into overdrive and starts damaging its own organs. If that process continues to spiral, it can progress to septic shock. This is the stage where the circulatory system fundamentally begins to fail, leading to dangerously low blood pressure and cellular collapse.

This progression from a localized infection to systemic failure has massive implications for patient outcomes. The mortality rates are starkly different, which is precisely why precise classification is so critical. A 2020 analysis estimated 48.9 million sepsis cases and 11 million related deaths worldwide, accounting for a staggering 20% of all global deaths. While sepsis mortality can range from 15% to over 40%, the rate for septic shock often climbs above 50%, especially in low- and middle-income countries. This difference underscores why data professionals must be able to accurately map the transition from sepsis to septic shock using standardized clinical vocabularies. You can learn more about the global burden of sepsis and its severe outcomes.

Core Differences at a Glance

For data engineers and analysts, the job is to translate these clinical definitions into concrete data points. The Sepsis-3 guidelines provide a clear framework for this, and the table below breaks down the key distinctions you'll need to identify each state within a dataset.

FeatureSepsisSeptic Shock
Primary DefinitionLife-threatening organ dysfunction from a dysregulated response to infection.A subset of sepsis with profound circulatory, cellular, and metabolic abnormalities.
Key IndicatorAn acute change in total SOFA score of ≥2 points.Sepsis with persistent hypotension requiring vasopressors AND elevated lactate levels.
Blood PressureMay be low, but typically responds to initial fluid resuscitation.Persistently low, requiring vasopressors to maintain a Mean Arterial Pressure (MAP) ≥65 mmHg.
Metabolic StateEvidence of organ dysfunction (e.g., kidney, liver, respiratory).Severe cellular dysfunction, indicated by a serum lactate >2 mmol/L.

Tip for OMOP ETL Development When building your ETL pipeline, you need to treat sepsis and septic shock as distinct clinical events. Your logic should be able to identify each state separately. A patient record might show a sepsis diagnosis first, followed by a septic shock diagnosis hours or days later. Capturing this progression with accurate timestamps is absolutely vital for constructing a high-fidelity patient journey. For more detailed guidance, you can explore the OMOPHub documentation.

Translating Clinical Criteria into Actionable Data Points

To get a real handle on sepsis versus septic shock in a dataset, we need to go beyond the textbook definitions. The goal is to turn clinical guidelines into specific, queryable data elements that our systems can actually understand and act upon. The Sepsis-3 guidelines give us the perfect blueprint, centering the diagnosis on clear evidence of organ dysfunction.

The key metric here is the Sequential Organ Failure Assessment (SOFA) score. For data purposes, sepsis is flagged when you have a suspected infection and see an acute jump in the SOFA score of ≥2 points. This isn't a single lab value you can just pull; it’s a composite score built from multiple streams of data scattered across the Electronic Health Record (EHR). Stitching this together demands a really solid ETL process that can integrate data from several different clinical domains.

This progression from a localized infection to systemic organ failure (sepsis) and, in the most critical cases, to circulatory collapse (septic shock) is where the data tells the story.

Diagram illustrating the sepsis progression pathway from infection to sepsis and then to septic shock.

Each stage of this pathway has critical decision points where specific data—like organ function markers or vasopressor use—becomes absolutely essential for classifying the patient correctly.

Pinpointing Organ Dysfunction with SOFA Score Data

The SOFA score is a composite assessment of six major organ systems. To calculate it accurately, you'll need to extract and standardize a specific set of data points from the EHR:

  • Respiratory: PaO2/FiO2 ratio, which requires pulling from both arterial blood gas results and ventilator settings.
  • Coagulation: Platelet counts, found in standard complete blood count (CBC) lab panels.
  • Liver: Bilirubin levels, typically part of a comprehensive metabolic panel.
  • Cardiovascular: Mean Arterial Pressure (MAP) or evidence of vasopressor administration.
  • Central Nervous System: Glasgow Coma Scale (GCS), which is often documented in nursing flowsheets or unstructured clinical notes.
  • Renal: Creatinine levels or precise urine output measurements.

Every one of these elements needs to be carefully mapped to a standard vocabulary—think LOINC for lab tests and RxNorm for medications. This is the only way to ensure your calculations are accurate and reproducible across different datasets. Getting these complex relationships right is a core challenge, and you can get a deeper look at the methodology in our guide on semantic mapping.

The Two Pillars of Septic Shock Data

While organ dysfunction defines sepsis, septic shock is a far more severe state of circulatory and metabolic collapse that doesn't respond to initial fluid resuscitation. Clinically, this boils down to two hard criteria that are perfect, actionable flags for your data analysis.

Septic shock is confirmed when a patient with sepsis requires vasopressor therapy to maintain a mean arterial pressure (MAP) of ≥65 mmHg AND has a serum lactate level >2 mmol/L, despite adequate fluid resuscitation.

These two criteria are the bedrock of any septic shock phenotype. Your data pipeline has to be built to reliably detect their co-occurrence.

To really nail down the differences, it helps to see the criteria side-by-side. The following table breaks down the specific data points that distinguish a sepsis diagnosis from septic shock under the Sepsis-3 framework.

Sepsis vs Septic Shock Key Diagnostic Differentiators

CriterionSepsisSeptic ShockKey Data Elements to Capture
Primary IndicatorAcute organ dysfunctionProfound circulatory, cellular, and metabolic abnormalitiesSOFA score, vitals, lab results
Organ DysfunctionSOFA score increase of ≥2 points from baselineMeets sepsis criteria plus additional shock criteriaSOFA components (PaO2/FiO2, Platelets, Bilirubin, GCS, Creatinine)
Hemodynamic StatusMAP may be low but is often responsive to fluidsPersistent hypotension requiring vasopressors to maintain MAP ≥65 mmHgContinuous BP monitoring (MAP), medication administration records (vasopressors)
Metabolic StatusLactate may be elevated but often below the shock thresholdSerum lactate level >2 mmol/L (18 mg/dL) despite fluid resuscitationSerum lactate lab results (LOINC: 2524-7)

This table shows how septic shock is not just a "worse" version of sepsis; it’s a distinct clinical entity with very specific data markers related to refractory hypotension and metabolic failure.

Capturing Vasopressor Use and Hemodynamic Response

The first septic shock criterion—persistent hypotension that needs vasopressor support—is really two separate data extraction tasks. First, you have to identify any vasopressor administrations from medication orders or, ideally, medication administration records (MAR).

Common Vasopressors to Monitor:

  • Norepinephrine (Levophed)
  • Epinephrine
  • Vasopressin
  • Dopamine
  • Phenylephrine

Second, and this is the tricky part, you must correlate that drug administration with the patient's vitals. You need to confirm that their MAP is being held at or above the 65 mmHg threshold because of the medication. This requires careful timestamp alignment between your drug administration data and the tables containing continuous blood pressure readings.

Tracking Metabolic Failure with Lactate Levels

The other key criterion is a serum lactate level hitting >2 mmol/L (18 mg/dL). This lab value is a direct signal of cellular hypoperfusion and metabolic stress, marking a critical turning point in the patient's condition. You'll typically find this data point in the lab results tables within the EHR.

It's not just about a single high reading, though. Tracking the lactate trend over time is even more powerful. A persistently elevated or rising lactate level, especially after fluid administration, is a strong confirmation of the metabolic breakdown that defines septic shock.

Comparing Pathophysiology and Treatment Pathways

To truly grasp the difference between sepsis and septic shock, you have to look past the diagnostic criteria and into the underlying biological chaos. The pathophysiology—what’s actually going on inside the patient's body—is what drives the clinical response. This creates distinct data signatures that are absolutely critical for any meaningful analysis.

Illustration comparing sepsis with systemic inflammation and infection to septic shock with low blood pressure and medical intervention.

While both conditions spring from an infection, their internal mechanisms and the interventions they demand are worlds apart. It's this escalation in physiology that directly dictates the escalation in care.

The Dysregulated Immune Response in Sepsis

At its core, sepsis is an immune response gone haywire. In an attempt to fight an infection, the body unleashes a flood of inflammatory mediators into the bloodstream. But instead of just attacking the pathogen, this response goes systemic, causing collateral damage to the body’s own tissues and organs.

This widespread inflammation makes blood vessels leaky, a state known as increased vascular permeability. Fluid starts seeping out of the bloodstream and into surrounding tissues, which is a major contributor to organ dysfunction. This is why a patient with sepsis can show signs of acute kidney injury (rising creatinine) or liver dysfunction (high bilirubin) even when the infection isn't located in those organs.

Key Takeaway for Data Analysis The data signature for sepsis is the combination of an infection plus evidence of new or worsening organ dysfunction. When building queries, you're looking for the co-occurrence of a positive culture or new antibiotic orders alongside rising SOFA score components like creatinine, bilirubin, or a falling platelet count.

Circulatory Collapse in Septic Shock

Septic shock is what happens when this process spirals into a catastrophic failure. The inflammation becomes so profound that it triggers massive vasodilation—blood vessels relax and expand so dramatically that blood pressure plummets. This severe hypotension is the defining feature of shock.

This circulatory collapse means blood can no longer deliver enough oxygen to the tissues. Cells starve, switch to anaerobic metabolism, and start producing lactic acid as a waste product. That’s why you see serum lactate levels spike, a key diagnostic flag. At this point, the body's own coping mechanisms have failed, and the patient is in a state of profound circulatory and metabolic collapse.

It's this fundamental difference in pathophysiology that forces a sharp divergence in treatment, leaving a very different data trail in the EHR.

Contrasting Management Protocols

While the foundation of care is the same—antibiotics and source control—the management of hemodynamics and organ support is where the paths diverge completely.

Initial Sepsis Management:

  • Prompt Antibiotics: Broad-spectrum antibiotics are given immediately to get the infection under control. You’ll see these as medication orders in your dataset.
  • Fluid Resuscitation: Intravenous (IV) fluids are pushed to compensate for the leaky vessels and restore circulating volume. Fluid balance records are a critical data source here.
  • Source Control: Clinicians work to find and eliminate the infection's source, like draining an abscess or removing an infected line.

Escalated Septic Shock Management:

  • Aggressive Vasopressor Therapy: This is the big one. When fluids aren't enough to bring the blood pressure up, vasopressors like norepinephrine are started. These drugs constrict blood vessels to maintain a mean arterial pressure (MAP) of ≥65 mmHg. These medication administrations are the definitive data marker for septic shock.
  • Intensive Monitoring: Patients almost always need more invasive monitoring, like an arterial line for real-time, continuous blood pressure tracking.
  • Supportive Care: Mechanical ventilation for respiratory failure or dialysis for kidney failure often become necessary, generating even more data points.

The need for vasopressors is the single most important treatment differentiator. It's a clear signal that the patient's circulatory system has failed and now requires external chemical support just to sustain life. For any data engineer or analyst, the appearance of a vasopressor in a patient’s record is a powerful, unambiguous flag marking the transition from sepsis to septic shock.

OMOPHub Data Mapping Tip

To accurately capture this critical transition in your data, you have to map vasopressor medications to their standard concepts. You can use the OMOPHub Python SDK to quickly find the correct RxNorm concept IDs.

from omophub import OMOPHub

# Initialize with your API key
hub = OMOPHub(api_key="YOUR_API_KEY")

# Search for norepinephrine
concepts = hub.concepts.search(
    query="norepinephrine",
    vocabulary_id=["RxNorm"],
    standard_concept="Standard"
)

# Print the top result
if concepts:
    print(concepts[0])

For more hands-on guidance, check out the documentation for the OMOPHub Python SDK and review the detailed examples in the official documentation.

Getting Sepsis Vocabulary Mapping Right in OMOP

Moving from clinical definitions to a working dataset means getting your vocabulary mapping right, especially within the OMOP Common Data Model (CDM). If you want to run a reliable analysis, a query for "sepsis" has to return a consistent and clinically valid patient group. This isn't about finding a single code; it's about mapping a whole constellation of data points—diagnoses, lab results, medications—to build an accurate clinical picture.

The first step is always to anchor your mapping to the primary standard concepts. Within the OMOP ecosystem, SNOMED CT is the definitive vocabulary for clinical findings. Your job is to take all the source codes that point to sepsis or septic shock (whether they're ICD-9, ICD-10, or proprietary EHR codes) and map them to their correct SNOMED CT counterparts.

Pinpointing the Core Condition Concepts

For the two conditions at the center of the sepsis vs. septic shock debate, the primary targets are thankfully quite clear:

  • Sepsis: The standard concept is SNOMED CT 91302008.
  • Septic shock: The standard concept is SNOMED CT 49586002.

You can and should verify these programmatically. Using a tool like the OMOPHub Python SDK automates this lookup, which cuts down on manual errors and makes your ETL scripts far more robust and easier to maintain down the line.

Here’s a quick example of how you could use the OMOPHub SDK to find the standard concept for "Septic shock":

from omophub import OMOPHub

# Initialize the client with your API key
hub = OMOPHub(api_key="YOUR_API_KEY")

# Search for the standard SNOMED CT concept for Septic shock
septic_shock_concepts = hub.concepts.search(
    query="Septic shock",
    vocabulary_id=["SNOMED"],
    standard_concept="Standard",
    concept_class_id=["Clinical Finding"]
)

# Display the primary concept ID and name
if septic_shock_concepts:
    primary_concept = septic_shock_concepts[0]
    print(f"Concept ID: {primary_concept.concept_id}")
    print(f"Concept Name: {primary_concept.concept_name}")
    print(f"Vocabulary: {primary_concept.vocabulary_id}")

This simple script confirms you’re mapping to the correct, current standard concept. That concept ID goes into the condition_concept_id field of your CONDITION_OCCURRENCE table. It's a foundational step, and you can find more examples like this in the OMOPHub Python SDK documentation.

Mapping the Key Differentiating Data

A truly robust patient phenotype can't be built on diagnosis codes alone. To reliably separate septic shock from sepsis, you have to map the critical clinical markers we've discussed: lactate levels and vasopressor use. This means digging into different standard vocabularies and populating the right OMOP tables.

When mapping complex clinical concepts like sepsis, it’s helpful to use a structured approach, almost like a systematic literature review methodology, to ensure you’ve identified every necessary data element and validated your mapping decisions.

1. Mapping Lactate Measurements

Serum lactate is the key lab value that signals the metabolic dysfunction of septic shock. This data almost always comes from a hospital's lab information system.

  • Target OMOP Table: MEASUREMENT
  • Standard Vocabulary: LOINC (Logical Observation Identifiers Names and Codes)
  • Target Field: measurement_concept_id

The standard LOINC code for a venous blood lactate level is 32693-4. You'll map your source lab codes to this concept ID and put the actual result in the value_as_number field.

2. Mapping Vasopressor Administrations

Vasopressor administration is the clearest signal of the circulatory failure that defines septic shock. This information is typically found in medication administration records (MAR).

  • Target OMOP Table: DRUG_EXPOSURE
  • Standard Vocabulary: RxNorm
  • Target Field: drug_concept_id

Here, you need to map each specific vasopressor from your source system to its standard RxNorm concept. For instance, the core ingredient concept for Norepinephrine is RxNorm 7572.

Pro Tip for Robust Mapping To create a truly comprehensive vasopressor concept set, don't just map one-to-one. Start with the ingredient concept (like Norepinephrine) and then use OMOP's vocabulary relationships to find all its descendants. This is how you catch all the branded and generic forms, different dose forms, and varying strengths, ensuring no relevant drug exposures are missed. You can explore these relationships using the tools available at docs.omophub.com.

By carefully mapping these three distinct data domains—conditions, measurements, and drug exposures—you start to build a multi-dimensional, clinically sound picture of a patient's progression along the sepsis spectrum. This foundation is what makes your data not just correct, but truly ready for meaningful, advanced analytics.

Building High-Fidelity Sepsis Phenotypes for Analytics

Once your data is mapped cleanly to standard vocabularies, the real work—and the real value—begins. The true strength of the OMOP CDM is how it enables the creation of high-fidelity clinical phenotypes. These are essentially detailed, computable definitions that let you pinpoint a specific patient cohort with incredible accuracy by combining data from multiple tables to get a full picture.

Think of building a phenotype like assembling a puzzle. A single diagnosis code is just one piece. To truly distinguish sepsis vs septic shock, you need to pull in lab results, medication orders, and vital signs. This multi-faceted approach is absolutely essential for any serious analytical work, whether you're conducting observational research or building out predictive models.

Man analyzing medical data on a laptop with overlaid conceptual boxes for condition, drug exposure, and risk-score.

Let’s walk through two powerful use cases: constructing a precise cohort for septic shock and then engineering features for a predictive risk model.

Use Case 1: Constructing a Septic Shock Cohort

Defining a solid cohort for septic shock is about much more than just searching for a single diagnosis code. A truly robust phenotype translates the Sepsis-3 clinical criteria directly into a multi-step query against your OMOP database.

The logic hinges on combining three key elements that must all happen within a clinically relevant timeframe:

  1. A Sepsis Diagnosis: The starting point is a recorded condition for sepsis (SNOMED CT: 91302008).
  2. Vasopressor Administration: You then need to see a record in the DRUG_EXPOSURE table for a vasopressor like norepinephrine (RxNorm: 7572).
  3. Elevated Lactate Level: Finally, the patient needs a corresponding lab result in the MEASUREMENT table showing a serum lactate > 2 mmol/L (LOINC: 32693-4).

By insisting that all three of these conditions are met, you effectively filter out patients who might have a septic shock code for billing reasons but never actually met the strict clinical definition. This approach results in a much cleaner, more reliable cohort for any research you conduct.

OMOPHub Pro Tip Remember, the timing of these events is everything. Your query logic absolutely must specify that the vasopressor and the high lactate measurement occur on or after the date of the initial sepsis diagnosis. This small detail is what ensures you're accurately capturing the clinical progression from sepsis into septic shock.

The power of combining Electronic Health Records and Artificial Intelligence is becoming a cornerstone for this kind of advanced analytics, especially when digging into complex conditions like sepsis.

Use Case 2: Engineering Features for Predictive Models

Beyond just identifying existing cases, a well-structured OMOP database is a goldmine for building predictive models. A common goal here is to predict which patients with sepsis are most likely to progress to septic shock. This all comes down to smart feature engineering—the art of creating predictive variables from raw clinical data.

Having your data standardized in OMOP makes this infinitely easier. Instead of writing custom parsers for hundreds of different local lab or medication codes, you can build features directly from standard concepts.

Here are a few examples of potential predictive features to engineer:

  • Vital Sign Instability: Calculate the variance or rate of change in Mean Arterial Pressure (MAP) in the hours right after a sepsis diagnosis.
  • Rising Organ Dysfunction Markers: Track the slope of lab values like creatinine or bilirubin over a 24-hour period to see how quickly they're worsening.
  • Fluid Resuscitation Volume: Sum the total volume of intravenous fluids administered from the DRUG_EXPOSURE table within the first six hours.
  • Comorbidity Indices: Use diagnosis codes from the CONDITION_OCCURRENCE table to calculate scores like the Charlson Comorbidity Index. We discuss the nuances of working with older codes in our guide to the ICD-9-CM DX code lookup at https://omophub.com/blog/icd-9-dx-code-lookup.

The table below gives you a practical look at how these different clinical data points are mapped into OMOP tables, providing the fundamental building blocks for both phenotyping and feature engineering.

OMOP CDM Table Mapping for Sepsis Phenotyping

This table outlines which OMOP CDM tables are populated with key data elements needed to distinguish sepsis from septic shock during an ETL process.

Clinical Data PointSource Data Example (EHR)Target OMOP TableVocabulary UsedExample Concept ID (via OMOPHub)
Sepsis DiagnosisICD-10: A41.9CONDITION_OCCURRENCESNOMED CT91302008
Septic Shock DiagnosisICD-10: R65.21CONDITION_OCCURRENCESNOMED CT49586002
Vasopressor AdminNorepinephrine DripDRUG_EXPOSURERxNorm197981
Lactate LevelBlood Gas ResultMEASUREMENTLOINC32693-4
Mean Arterial PressureVital Sign FlowsheetMEASUREMENTSNOMED CT75916005
Serum CreatinineChemistry PanelMEASUREMENTLOINC2160-0

By taking full advantage of the structured and standardized nature of the OMOP CDM, you graduate from simple code lookups to generating genuinely meaningful clinical insights. This solid foundation is what makes reproducible research and the development of powerful analytical tools possible.

Frequently Asked Questions

Working with sepsis data in the OMOP Common Data Model can be tricky, and a few common questions always seem to pop up. Let's walk through some of the practical challenges data teams face, especially when trying to accurately distinguish between sepsis vs septic shock in their datasets.

How Should I Handle Legacy Severe Sepsis Codes?

If you're dealing with historical data, you're going to run into the term "severe sepsis." This classification was officially retired with the Sepsis-3 guidelines, and what was once called severe sepsis is now just considered sepsis.

So, what do you do with those old codes? During your ETL process, the cleanest approach is to map legacy codes for severe sepsis (like ICD-9 995.92 or ICD-10 R65.2x) directly to the current standard OMOP concept for sepsis. That concept is SNOMED CT 91302008. This keeps your longitudinal data consistent and aligned with today's clinical definitions.

ETL Best Practice Make sure you document this mapping logic clearly in your ETL scripts and any related documentation. Transparency is everything. It allows other researchers and analysts to understand precisely how you harmonized historical codes with modern standards.

What Is the Best Way to Define Septic Shock Onset in OMOP?

Pinpointing the exact moment a patient slips into septic shock is more complex than pulling a single timestamp. Simply using the condition_start_date from the CONDITION_OCCURRENCE table is a common mistake; that date often reflects a billing event, not the real clinical turning point.

A far more reliable method requires querying a few tables together to build a clinical picture:

  1. First, find the initial sepsis diagnosis in the CONDITION_OCCURRENCE table.
  2. Next, look for the first administration of a vasopressor in the DRUG_EXPOSURE table that happens after that sepsis diagnosis.
  3. Finally, check the MEASUREMENT table for evidence of persistent hypotension (like a low MAP) around that same time.

The timestamp of that first qualifying vasopressor dose is your most accurate marker for the onset of septic shock. For code examples and help with concept lookups, you can check out the documentation for the OMOPHub Python SDK and the OMOPHub R SDK.

Can I Use NLP on Clinical Notes to Improve Sepsis Detection?

Absolutely. Natural Language Processing (NLP) can be a game-changer for finding sepsis and septic shock cases earlier and with greater accuracy. Clinicians document crucial observations in unstructured notes well before that information makes its way into structured data fields.

Think about the phrases you might find in notes:

  • Signs of poor perfusion like "mottled skin" or "cool extremities."
  • Notes on altered mental status, such as "confused" or "lethargic."
  • General concerns about a patient's condition, with phrases like "looks sick" or "impending shock."

By running NLP models over these notes, you can pull out these incredibly valuable clinical features. The next step is to map these extracted terms to their proper SNOMED CT concepts and integrate them into your dataset. Doing this enriches your structured data, helping you build more sensitive and timely phenotypes for both sepsis and its progression to shock.


OMOPHub provides developer-first tools to eliminate the infrastructure burden of managing healthcare vocabularies. Ship your ETL pipelines and analytics workflows faster with instant, compliant API access to the complete OHDSI ATHENA vocabulary suite. Learn more and get started at https://omophub.com.

Share: