Epic EHR Upgrade Management: Regression Testing

Epic EHR Upgrade Management: What Analysts Must Do, How to Regression Test, and How to Avoid Post-Upgrade Failures

Annual Upgrade
Epic’s yearly major release – includes new features, modified workflows, and changes to existing build objects
Upgrade Companion
Epic’s documentation of changes in the new release – the analyst’s primary reference for regression scope
Regression Test
Confirming that existing workflows still function correctly after the upgrade changes the underlying system
Post-Upgrade Regression
A workflow that worked before the upgrade but fails after – the most common and most preventable upgrade failure

Epic EHR upgrade management fails in predictable ways – not because analysts don’t know the system, but because upgrade regression testing is treated as a compressed version of go-live testing rather than as a targeted exercise focused specifically on what changed. The result is that post-upgrade regressions surface in production within days of the upgrade cutover, causing clinical workflow disruption that takes longer to resolve than the upgrade itself. This article covers exactly how Epic annual upgrades work, what analysts must do to prepare, how to scope regression testing to match the actual risk rather than the available time, and the practices that separate organizations that upgrade smoothly from those that spend two weeks post-upgrade in firefighting mode.

How Epic Annual Upgrades Are Structured

Epic releases one major annual upgrade per year, typically in the fall or early winter. The upgrade replaces the underlying Chronicles software version on the production servers and pushes updated build objects, new features, and modified workflows across all Epic modules simultaneously. This is not a rolling release where one module updates at a time – the annual upgrade affects the entire Epic environment in a single deployment event.

Between annual upgrades, Epic releases monthly updates – smaller patches that deliver bug fixes and minor feature enhancements. Monthly updates require less analyst preparation than annual upgrades but should not be deployed without a brief regression check of the specific workflows they touch. The distinction between annual and monthly releases matters for planning: annual upgrade regression testing requires dedicated resources and a formal project plan. Monthly updates can typically be handled by a smaller team with targeted testing.

Epic’s upgrade timeline gives organizations a defined preparation window – typically 4 to 6 months between Epic’s release of the upgrade to customer environments and the organization’s upgrade cutover date. This window is for reading the Upgrade Companion, configuring new features, testing impacted workflows, training staff on changed workflows, and planning the cutover. Organizations that compress this window – often because project managers treat the upgrade as lower priority than new implementations – consistently experience more post-upgrade regressions. The broader Epic implementation lifecycle that upgrade management sits within is covered in the Epic EHR Learning Hub.

What Actually Changes in an Epic Upgrade

Epic upgrades deliver change in four categories. New features are capabilities that did not exist before the upgrade – a new CDS alert type, a new report template, a new patient engagement function. These require deliberate activation by the organization and do not affect existing workflows if not activated. Modified workflows are existing capabilities that work differently after the upgrade – a changed order entry flow, a reorganized flowsheet layout, a renamed menu item. These affect existing users immediately after the upgrade without any activation action. Modified build objects are existing configuration records that Epic has changed the structure or behavior of – a report that now calculates differently, an interface that changed message format, a template that Epic rebuilt. These require analyst review and potentially rebuild before the upgrade. Bug fixes resolve defects in the prior version that organizations may have been working around.

The regression risk is concentrated in modified workflows and modified build objects. New features that are not activated cannot cause regressions. Bug fixes that resolve prior defects are usually benign – though organizations that built workarounds for a bug must revisit those workarounds after the bug is fixed, since the workaround may now conflict with the corrected behavior.

The Upgrade Companion: Your Primary Reference for Regression Scope

The Upgrade Companion is Epic’s documentation for each annual release. It describes every change in the upgrade – what changed, why it changed, which workflows are affected, and what analyst action (if any) is required. The Upgrade Companion is the single most important document for planning regression testing scope. Every analyst responsible for an Epic module must read the Upgrade Companion sections for their modules thoroughly before defining what to test.

The Upgrade Companion is organized by module and sub-module. An analyst who covers CPOE and clinical documentation reads the Order Entry, CDS, ClinDoc, and related sections. A pharmacy analyst reads Willow and BCMA sections. A reporting analyst reads Cogito and Clarity sections. Each change entry in the Upgrade Companion specifies whether the change is automatic (applies without any analyst action), manual (requires analyst configuration to activate), or requires review (the existing configuration needs to be examined to determine impact).

The Upgrade Companion entries marked “requires review” are the highest-priority items for the regression testing plan. These are changes where Epic is explicitly telling the organization that existing build may be affected. A “requires review” entry for an interface format change means an analyst must open the affected interfaces, check the current configuration, determine whether the change impacts the format they are using, and test the interface after the upgrade to confirm correct behavior.

Real Scenario – Regional Health System, Upgrade Companion Skipped for CPOE Module

A regional health system upgraded to a new Epic version. The CPOE analyst team skipped detailed reading of the Upgrade Companion CPOE section because the team lead described the upgrade as “mainly ClinDoc and pharmacy changes this year.” Three days after the upgrade went live, the ED medical director reported that sepsis order sets were no longer defaulting to the correct antibiotic for the patient’s weight. Investigation revealed that the upgrade had changed how weight-based dosing defaults calculate in order sets – a change documented in the Upgrade Companion CPOE section under “requires review” with specific instructions for reviewing order set dosing configurations. The Upgrade Companion entry had been in the document for 4 months before cutover. The weight-based dosing configuration for 23 sepsis and pneumonia order sets had to be rebuilt and retested over a 5-day period while ED providers used manual dosing calculations. No patient harm occurred, but the incident required a root cause analysis and a policy change mandating module-specific Upgrade Companion review before any future upgrade regression planning begins.

What Analysts Must Do Before, During, and After an Upgrade

PhaseTimelineAnalyst ResponsibilitiesOutput / Deliverable
DiscoveryMonths 1-2Read Upgrade Companion sections for owned modules. Identify all “requires review” and “automatic” change items. Assess impact on existing build.Module impact assessment; list of build objects requiring review
Build ReviewMonths 2-3Review existing build objects identified in discovery. Reconfigure as needed for compatibility with new version. Document all changes made during upgrade prep.Build review log; list of pre-upgrade build changes made
Regression PlanningMonth 3Define regression test scope for module. Identify highest-risk workflows. Assign super-user testers. Write or update test scripts for changed scenarios.Regression test plan; updated test scripts
TestingMonths 3-4Execute regression tests in upgrade environment. Log defects. Triage severity. Resolve critical defects before cutover. Retest resolved defects.Defect log; regression test results; sign-off
Training PrepMonth 4Identify workflow changes affecting end users. Develop tip sheets for changed workflows. Brief super-users and department trainers. Update training materials.Tip sheets; updated training materials; super-user briefing
CutoverUpgrade weekendExecute cutover runbook steps for module. Validate module functionality after upgrade completes. Monitor command center for module-specific issues.Cutover validation sign-off; issue log
Post-Upgrade StabilizationWeeks 1-4Monitor production for regressions. Triage post-upgrade issues. Resolve high-priority issues within 48 hours. Conduct post-upgrade review at 30 days.Issue resolution log; 30-day post-upgrade review report

Regression Testing Scope: How to Prioritize What to Test

Regression testing for an Epic upgrade cannot be exhaustive. Testing every workflow, every report, and every interface that exists in the production system is not achievable in the available time window. The skill is scoping: determining which workflows carry the highest regression risk and concentrating testing resources there.

Risk-Based Regression Scoping

Risk-based test scoping – a core ISTQB concept – prioritizes testing based on the probability and consequence of failure. For Epic upgrades, the probability of regression is highest for workflows that directly involve changed features or build objects identified in the Upgrade Companion. The consequence of failure is highest for patient safety workflows, high-volume operational workflows, and regulatory compliance functions.

Apply a simple 2×2 matrix: high probability of regression combined with high consequence of failure = must test. High probability with low consequence = test if time permits. Low probability with high consequence = test for assurance even if the upgrade Companion doesn’t flag it. Low probability with low consequence = do not test for this upgrade cycle. This matrix should be populated by the module analyst in collaboration with clinical super-users who can assess operational consequence.

The Mandatory Regression Test List

Beyond the risk-based scoping exercise, every Epic upgrade regression plan must include a mandatory baseline set of workflows that are tested regardless of what the Upgrade Companion says. These are the workflows where a post-upgrade failure would have immediate patient safety or operational consequence:

BCMA barcode scanning for medication administration. Any post-upgrade failure here is a patient safety event. ADT admit, transfer, and discharge workflows – a broken ADT interface stops downstream systems from receiving patient information. Lab order placement and result return – a broken lab interface stops results from reaching providers. Medication order and verification in Willow – a broken pharmacy verification workflow stops medication administration. Charge capture for the top 20 revenue-generating order types – silent charge failures post-upgrade are not discovered until the billing cycle runs. CDS alerts for the organization’s highest-priority patient safety advisories – a CDS alert that stops firing post-upgrade removes a safety net that clinical staff may be relying on.

Regression CategoryTest PriorityOwnerTest Trigger (when to test even if Companion is silent)
BCMA medication scanningMANDATORY – every upgradePharmacy + NursingAlways – patient safety, any BCMA or Willow change automatically triggers full retest
ADT interface (admit/transfer/discharge)MANDATORY – every upgradeIntegration AnalystAlways – downstream cascade risk; Bridges or HL7 changes automatically trigger retest
Lab order / ORM result / ORU returnMANDATORY – every upgradeBeaker + IntegrationAlways; any Beaker or interface change triggers full lab workflow retest
Medication order and pharmacy verificationMANDATORY – every upgradeWillow AnalystAlways; formulary or order set changes automatically trigger retest
Top 20 charge capture order typesHIGH – every upgradeRevenue Cycle + ResoluteAny CDM or charge trigger change; any Resolute section in Upgrade Companion
Priority CDS alertsHIGH – every upgradeCPOE Analyst + P&TAny CDS or order entry Upgrade Companion item; new Epic CDS content deployed
Cogito reports / Clarity ETLHIGH – every upgradeCogito / Clarity AnalystAlways; table structure changes in upgrades commonly break existing SQL queries
Custom interfaces (non-Epic systems)HIGH if Bridges changes listedIntegration AnalystAny Bridges Upgrade Companion item; vendor notification of version compatibility issues

Regression Testing Approaches: Manual, Automated, and Hybrid

Epic upgrade regression testing is predominantly manual in most health system environments – clinical analysts and super-users execute test scripts in the upgrade test environment and record results. This reflects both the clinical complexity of Epic workflows and the historical difficulty of automating EHR application testing. Manual testing has a significant advantage for upgrades: clinical super-users bring contextual judgment that automated tests cannot replicate. A super-user who is an experienced ED nurse will recognize that a medication administration workflow has changed in a clinically problematic way even if the automated test records it as a “pass” because the system completed the transaction.

Automated Regression Testing for Epic

Automation for Epic regression testing is more viable for API-level and Clarity SQL validation than for UI-level clinical workflow testing. Epic’s APIs (including FHIR endpoints and Interconnect web services) can be regression-tested with API test suites that validate that specific requests return expected responses before and after the upgrade. Clarity SQL queries that are used for operational reporting can be regression-tested by running the same query before and after the upgrade and comparing the result set structure and row counts. These automated checks catch interface and reporting regressions faster than manual testing.

Some organizations use robotic process automation (RPA) tools to automate repetitive UI-level Epic test scenarios – the tool simulates user input for defined workflow steps and validates expected screen states. This approach requires significant maintenance effort as UI changes in each upgrade may break the automated scripts. The investment in RPA for Epic testing is generally justified only for very high-volume, highly stable workflows that are executed identically in every test cycle. BCMA scanning and registration workflows are candidates; complex clinical documentation workflows are not. The Clarity SQL patterns that require regression validation after upgrades are described in the Epic Clarity SQL for Analysts guide.

The Hybrid Approach That Works in Practice

The most practical regression testing approach for Epic upgrades combines automated validation of API and database outputs with manual clinical workflow testing. Automated checks run first and fast – interface message validation, Clarity query regression, API endpoint response validation. These catch the technical regressions that automated tests are well-suited to find. Manual clinical testing then focuses on the workflows where clinical judgment is needed – order set content, CDS alert behavior, medication administration workflows, nursing documentation. The testing scope and methodology documentation that supports this approach is described in the BAT vs UAT guide.

Real Scenario – Academic Medical Center, Clarity SQL Regression After Upgrade

An academic medical center completed an Epic annual upgrade without including Clarity SQL regression in their testing plan. The upgrade changed the column structure of the ORDER_RESULTS Clarity table – specifically, the COMPONENT_ID column was renamed in a subset of tables related to the new lab module features. Eight operational Clarity SQL queries used by the quality team referenced the old column name. The queries ran without errors but returned empty result sets because the JOIN on the renamed column matched no rows. The quality team received eight blank reports for two consecutive weekly reporting cycles before the discrepancy was identified. Four weeks of quality metric data had to be manually reconstructed from Epic’s operational interface before the SQL queries were corrected. The fix for each query took less than 10 minutes. The identification of the problem took four weeks because nobody was checking whether reports produced correct results versus simply ran without errors. Adding Clarity SQL query regression validation – running queries before and after the upgrade and comparing result sets – would have caught this on the morning of the upgrade.

The Upgrade Testing Environment: Mirror, Preproduction, and Timing

Epic upgrades are tested in a non-production environment that mirrors the production configuration as closely as possible. Most organizations maintain at least two test environments: a development/build environment for ongoing configuration work and a preproduction (mirror) environment used for upgrade testing and integration validation. The preproduction environment should be refreshed from production data before upgrade testing begins – using stale test data increases the risk that regression tests pass in the test environment but fail in production because the production data has characteristics the test data does not.

Epic loads the upgrade to the preproduction environment first – typically several weeks before the production upgrade date. This gives analysts the opportunity to test the upgrade in an environment that is functionally identical to production. If the organization’s preproduction environment is not maintained as a true production mirror – if it contains different build, different data, or different interface configurations – the upgrade regression test results will not be reliable predictors of production behavior.

Timing of the preproduction upgrade matters. Organizations that receive the upgraded preproduction environment 6 weeks before cutover and begin testing within the first week have 5 weeks of testing time. Organizations that receive the preproduction upgrade and spend 3 weeks on internal approvals before starting testing have 3 weeks. The testing window is fixed by the cutover date – the preproduction lead time is the variable analysts should push to maximize.

Common Post-Upgrade Regression Categories

Post-upgrade regressions follow predictable patterns. Knowing the common categories allows analysts to design regression tests that specifically target the highest-frequency failure modes rather than running generic workflow checks.

Interface Format Changes
Epic upgrades sometimes change the format of HL7 messages – a field that was optional becomes required, a segment sequence changes, a code system updates. Downstream systems that were processing the old format fail silently or generate error queue backlogs. Common in ADT, lab, and pharmacy interfaces.
Clarity Table Structure Changes
Column renames, new table relationships, changed data types in Clarity tables break existing SQL queries. Custom Reporting Workbench reports built on affected data models stop returning correct data. Dashboards connected to Caboodle show wrong numbers. Symptoms are often “empty report” rather than “error.”
Order Set Content Changes
Epic upgrades sometimes modify shipped order set content – changing dosing defaults, adding new orders, removing outdated orders. Custom order sets that were built on top of Epic’s shipped content may inherit unwanted changes. Weight-based dosing calculation changes are a particularly common source of clinical-impact regressions.
Security Template Inheritance Changes
Upgrades that modify the underlying activity or security class structure may change what existing security templates grant or restrict. Users may find they can no longer access functions they need, or gain access to functions they should not have. Requires post-upgrade security access verification across all role types.
SmartText and Template Changes
Epic upgrades may modify shipped note templates, SmartPhrases, or SmartLinks. Custom templates that reference Epic-managed SmartLinks may break if the underlying SmartLink was renamed or restructured. Documentation templates may also have new required fields added by the upgrade.
Charge Trigger Behavior Changes
Upgrades that modify how clinical actions are sequenced can change when charge triggers fire. A charge that previously fired at “ordered” status may now fire at “resulted” status, or vice versa. The result is either missing charges (fired too late) or duplicate charges (fired twice). Charge regression testing must use the charge lag report, not just workflow completion.

The build defect patterns that are most relevant to upgrade regression are covered in the Epic Build Defects troubleshooting guide. Many upgrade regressions are the same categories of defect as implementation defects – they just occur in a system that was previously working, which makes them more visible and more politically sensitive.

Upgrade Cutover Planning and Go-Live Execution

The Epic upgrade cutover is typically a weekend event. Epic’s technical team completes the production server upgrade during a defined maintenance window – usually Friday night through Saturday morning. The health system’s analysts use the Saturday morning hours to validate the upgraded production environment before clinical operations resume on Monday morning. This validation window is typically 4 to 8 hours – enough time to execute the mandatory regression checklist but not enough time to retest every scenario if a major defect is found.

The cutover validation plan must be a tightly defined script with time targets. Each validation step has a named analyst owner, a specific workflow to confirm, and a pass/fail criterion. The validation is not a repeat of the full regression test cycle – it is a smoke test confirming that the upgrade deployed correctly and that the highest-risk workflows are functional. The go-live command center structure that supports this validation is described in the Epic EHR Go-Live Support framework.

The rollback decision threshold must be defined before cutover begins. If a Critical defect is found during the Saturday validation window, the team must have a pre-approved decision process: who has authority to call a rollback, what evidence is required to make that call, and how long the rollback would take. A rollback for an Epic upgrade is a significant event – Epic’s technical team must revert the production environment to the prior version. Most organizations set the threshold for rollback at: any defect that prevents a mandatory patient care workflow from functioning and cannot be resolved within 2 hours of discovery.

How to Avoid Post-Upgrade Regressions: The Practices That Work

PracticeWhat It PreventsWhen to ImplementOwner
Module-specific Upgrade Companion review by named analystMissed “requires review” items that cause post-upgrade regressionsWithin 2 weeks of Companion availabilityModule analyst
Preproduction environment refresh from production before testing beginsTest environment data gap that allows false-positive regression test resultsBefore preproduction upgrade deploymentEpic Technical team
Clarity SQL regression baseline before and afterSilent reporting failures from Clarity table structure changesDay of preproduction upgrade; day of production upgradeCogito / Clarity analyst
Interface message validation in Bridges Interface Monitor after upgradeInterface format regressions that accumulate silently in error queuesWithin 2 hours of upgrade completionIntegration analyst
Super-user clinical workflow validation (not just IT analyst testing)Clinical context failures that IT analysts don’t recognize as problemsDuring regression testing phaseModule analyst + super-users
Charge lag report review within 24 hours of upgrade go-liveSilent charge trigger regressions that don’t surface until billing cycleDay after upgrade go-liveRevenue cycle analyst
30-day post-upgrade review with module analysts and clinical leadsSlow-emerging regressions and workflow friction that users work around instead of reporting30 days after upgrade go-liveProject manager + all module analysts
The Practice That Eliminates the Most Post-Upgrade Regressions

Run every operational Clarity SQL query and every Bridges interface message validation before the production upgrade completes and again within 2 hours after it completes. Compare before and after. Any query that returns a different result set structure, any interface that generates a message in the error queue instead of a successful ACK – investigate immediately, before clinical operations start. The upgrade weekend morning is the only window where you can catch a Clarity table structure change or an interface format regression before it reaches clinical staff. Missing this window means discovering the problem when a nursing manager calls to report that her dashboard is blank or when the lab director asks why orders are not routing.

Authoritative References

Downloads: Epic Upgrade Management Templates

๐Ÿ“‹
Epic Upgrade Regression Test Plan Template (Excel)
Module-by-module regression test plan covering: Upgrade Companion review log, risk-based scope matrix, mandatory test scenarios, tester assignments, defect log, sign-off status, and cutover validation checklist.

Download Test Plan (Excel)

๐Ÿ“Š
Epic Upgrade Cutover Runbook and Validation Checklist (PDF)
Timed cutover validation script: mandatory smoke tests by module, interface validation sequence, Clarity SQL regression checks, charge lag verification, rollback decision criteria and authority, and 24-hour post-upgrade monitoring tasks.

Download Runbook (PDF)

๐Ÿงช
Epic Upgrade Companion Review Log (Excel)
Structured log for tracking every Upgrade Companion item reviewed per module: item description, change type (automatic/manual/requires review), impact assessment, build action required, analyst assigned, and completion date.

Download Review Log (Excel)

Scroll to Top