TL;DR:
No commercial EHR was built around a pulmonology function lab. Epic, Cerner (Oracle Health), and Athena all run respiratory practices, but every one of them treats spirometry results, home oxygen documentation, and CPAP compliance data as an add-on, not a native workflow. The gap that actually costs a practice money isn’t a missing feature on a comparison chart; it’s whether PFT values (FEV1, FVC, DLCO) land in the chart as structured, trendable data or as a scanned PDF nobody re-enters. This guide scores what a pulmonology EHR needs to get right, names where the big three fall short, and walks through the math on when a custom build actually pencils out.
I’ve spent 16 years building software, most of the last several years of it inside healthcare, and one pattern shows up in almost every specialty EHR conversation I have: the vendor demo is built around a chart that doesn’t exist in your clinic. Pulmonology is a sharp version of that problem, because the specialty runs on data types most general EHR architects never had to think about. Pulmonary function tests. Home oxygen certificates. CPAP adherence logs. None of them fit neatly into a system designed around an office visit and a prescription pad.
This piece walks through what a pulmonology practice actually needs from its EHR, where Epic, Cerner, and Athena hold up and where they don’t, and the real numbers behind building something purpose-fit instead of living with the gaps.
Why Pulmonology Breaks the Generic EHR Model
Most specialty EHR conversations start with a features list. I want to start with the data model, because that’s where the actual mismatch lives.
A pulmonary function test doesn’t produce one number. It produces a structured set: FEV1 (forced expiratory volume in one second), FVC (forced vital capacity), the FEV1/FVC ratio, total lung capacity, and DLCO (diffusing capacity), each with pre- and post-bronchodilator values, and each one meaningful only when trended against the patient’s prior tests.
A peer-reviewed analysis in the American Journal of Respiratory and Critical Care Medicine put a name to something pulmonologists already knew from experience: PFT data typically sits on an isolated lab server that was never interfaced to the EHR, and the obstacles are the ones you’d expect: interface cost, the IT hours to build it, and the fact that there’s still no single, coherent standard for which PFT data elements belong in the chart. So the results get scanned in as a PDF, or worse, retyped by a medical assistant from a printout. Either way, the trend line a pulmonologist needs to actually manage a COPD or ILD patient over years isn’t sitting in a structured field. It’s buried in a stack of static documents.
Home oxygen is the second structural mismatch, and it’s a documentation and reimbursement problem before it’s a clinical one. CMS requires a recent in-person evaluation, a qualifying oxygen saturation reading from an arterial blood gas or pulse oximetry test, and a completed Certificate of Medical Necessity before a home oxygen claim gets paid, per CMS’s own home-oxygen coverage guidance.
Most general EHRs have no dedicated CMN workflow. That means a front-desk or billing staffer is manually assembling a document packet outside the chart every time a patient needs oxygen renewed, and if one element is missing when the DME supplier submits the claim, it comes back denied.
Sleep and CPAP data is the third mismatch. A clean prior-auth submission for a CPAP device needs the physician order, the sleep study results, the ICD-10-CM diagnosis (typically G47.33 for obstructive sleep apnea), the AHI/RDI/PLM scoring data, the physician’s interpretation notes, and the specific device model, all living in the same encounter, not scattered across a sleep lab’s separate system and a DME supplier’s portal. HCPCS code E0601 governs CPAP device billing specifically, and the documentation packet has to satisfy every LCD-mandated element before the claim goes out clean. Once a patient’s on therapy, ongoing CPAP compliance tracking (hours of nightly use, mask-seal data) is what payers check before authorizing a device replacement, and that data typically lives in a manufacturer’s cloud dashboard, the EHR never touches.
Stack those three gaps up and you get the actual pulmonology EHR requirement list: structured, trendable PFT capture; a built-in DME/CMN documentation workflow; and a sleep-and-CPAP data bridge that doesn’t depend on a staffer copying numbers between systems. Almost nothing on the market handles all three natively.
| Data type | What generic EHRs do | What pulmonology needs | |
|---|---|---|---|
| PFT results (FEV1, FVC, DLCO) | Scanned PDF or manual re-entry | Structured, trendable fields tied to prior tests | |
| Home oxygen / DME documentation | No dedicated CMN workflow | Built-in Certificate of Medical Necessity capture tied to the encounter | |
| Sleep study + CPAP compliance | Separate sleep-lab and manufacturer-dashboard systems | Order, results, and adherence data in one encounter record |
What a Pulmonology EHR Actually Needs to Include
Before a single demo, here’s the checklist I’d hand a practice administrator.
1. Structured PFT capture with automatic trending. Real-time import of FEV1, FVC, FEV1/FVC, TLC, and DLCO from the pulmonary function lab, not manual entry, with automatic flagging when a value crosses a clinically meaningful threshold from the prior test.
2. A built-in Certificate of Medical Necessity workflow. The oxygen saturation reading, the in-person evaluation date, and the CMN itself generated from data already in the chart, not assembled by hand outside it.
3. Sleep study and CPAP data in one encounter. Order, AHI/RDI/PLM scoring, physician interpretation, and device compliance data (nightly hours, mask seal) visible on the same patient timeline, not split across a sleep lab portal and a manufacturer dashboard.
4. Imaging and radiology handoff without a second login. A single-click order-to-review path for chest imaging tied to the respiratory workup, since bronchoscopy and imaging findings drive the next clinical decision immediately.
5. Asthma/COPD action plans with adherence tracking. Structured, patient-facing care plans that a patient can actually follow, not a printed handout that gets lost.
6. Audit-ready documentation for controlled respiratory medications and Prior Auth. Biologics (like Dupilumab) and certain inhaler classes increasingly require prior authorization; the system needs a documented, trackable Prior Auth status, not a fax-and-hope process.
| Requirement | Why it matters | |
|---|---|---|
| Structured PFT trending | Manual re-entry loses the trend line that actually drives management | |
| Built-in CMN workflow | Missing CMN elements are the most common cause of oxygen claim denials | |
| Sleep + CPAP data in one record | Split systems mean adherence data never reaches the chart | |
| Single-login imaging handoff | Bronchoscopy and imaging findings drive the next decision immediately | |
| Structured action plans | A printed handout has no adherence signal; a structured plan does | |
| Trackable Prior Auth status | Biologics and inhaler Prior Auth denials are a growing revenue risk |
Where Epic, Cerner, and Athena Actually Stand in 2026
Every “best pulmonology EHR” list on page one right now is a SaaS review aggregator (EMRFinder, EMRSystems, EHR Source, and similar sites) recycling the same three or four enterprise names. None of them tell you honestly where those platforms fall short, so here’s the version I’d give a practice administrator on a call.
Epic runs the largest respiratory-specialty install base among academic and large health systems. Its strength is genuine: if your hospital already runs Epic across cardiology, radiology, and the ED, a pulmonology service line on the same instance gets real interoperability benefits, one chart, one MyChart portal, one set of audit logs. The gap is that Epic’s pulmonary-specific templates weren’t purpose-built around structured PFT trending or a native CMN workflow; both typically require build-out through Epic’s own configuration process, which means budget and a project timeline before the gap actually closes (verify current module scope at your Epic tier before assuming it’s included).
Cerner, now Oracle Health, has a respiratory-specific template set and a real install base in large health systems, but its interoperability layer still leans on older HL7 v2.5 interfaces in a lot of production environments even as FHIR support expands, and billing integration for DME and Prior Auth workflows tends to be handled through bolt-on modules or third-party bridges rather than natively (verify current FHIR maturity at your specific Cerner/Oracle Health version, since this is a fast-moving area for the platform).
athenahealth (athenaOne) is cloud-native and genuinely strong on billing and patient engagement, which is exactly why it shows up so often in general specialty EHR shortlists. Its template library, though, was built around primary care and general specialty workflows first. Respiratory-specific data capture, PFT trending especially, usually needs a third-party bridge or manual workaround rather than a native field.
Two more names worth knowing exist because they surface in respiratory-specific searches: Greenway Health (PrimeSuite) offers ambulatory clinical and financial workflows with configurable specialty templates, and ChartLogic bundles EHR, practice management, and e-prescribing for ambulatory practices. Both can be configured toward respiratory workflows, but neither ships a pulmonology-native PFT or CMN module out of the box (verify current specialty-module scope directly with either vendor before shortlisting).
The honest read: every one of these platforms can run a pulmonology practice. None of them were built starting from a spirometer. That’s the gap a custom build closes, and it’s also the gap that makes off-the-shelf viable for a lot of practices that don’t need it closed badly enough to justify a build.
| Vendor | Strength | Respiratory-specific gap | |
|---|---|---|---|
| Epic | Health-system-wide interoperability | PFT trending + CMN workflow typically require configuration build-out | |
| Cerner (Oracle Health) | Respiratory templates exist, large install base | DME/Prior Auth billing often bolt-on, not native (verify current FHIR maturity) | |
| athenahealth | Cloud-native, strong billing + engagement | Primary-care-first templates; PFT usually needs a third-party bridge | |
| Greenway Health (PrimeSuite) | Configurable ambulatory templates | No native pulmonology PFT/CMN module out of the box | |
| ChartLogic | Bundled EHR + PM + e-prescribing | Same: configurable, not respiratory-native |
When Building Custom Actually Pencils Out
Not every pulmonology group should build. Most shouldn’t. But the math changes once a specific set of conditions line up, and I want to walk through it honestly rather than push a build recommendation on a practice that doesn’t need one.
We built a full custom, AI-first EHR for a precision-medicine practice running a functional and longevity-focused care model, on Medplum with a FHIR-native data layer, deployed in under 90 days. The build cut provider documentation time by 70% through an ambient scribe tuned to the practice’s own clinical vocabulary, cut post-visit task delays by 60% through automated follow-up scheduling, and lifted patient engagement 50% through an AI-driven patient assistant, with a 30% improvement in care-coordination turnaround on referrals.
The mechanism that matters for a pulmonology group specifically: because the FHIR data model was built from scratch, PFT values, sleep study results, and CPAP compliance data all live as structured, queryable fields from day one, not workarounds bolted onto someone else’s schema.
On the other end of the scale, we built a full national-scale EHR platform for a Caribbean nation’s health ministry, standing up clinical infrastructure across its public hospital network on open-source foundations, an engagement in the low six figures. That’s not a pulmonology build specifically, but it’s the proof point that matters here: if a government can systematize clinical workflows at country scale on this same architecture, a 50-bed respiratory hospital or an 8-clinic pulmonology group is a smaller, faster, and cheaper problem to solve.
The decision rule I actually use with a practice: custom makes sense when you’re running 3 or more respiratory-focused clinics (multi-site standardization is where the economics turn), when PFT and DME documentation are central to daily workflow rather than occasional, when your current system forces staff into manual CMN assembly or dual-screen imaging review every day, and when you can absorb an 18 to 24 month ROI horizon in exchange for a 90 to 150 day build instead of a 6 to 12 month enterprise implementation.
If none of that describes your practice, don’t let anyone, including me, talk you into a custom build you don’t need. A well-configured Epic, Athena, or Cerner instance with the gaps above understood going in is the right call for a lot of respiratory practices. For the ones where it isn’t, custom EHR development is the actual conversation to have, not a vendor pick.
Need an EHR That Actually Fits Your Pulmonology Workflow?
The Real Cost and Timeline Math
Sticker price is the wrong first number to compare. Total cost of ownership and time to go-live tell the real story.
A custom Medplum-based build for a pulmonology group typically runs $200,000 to $600,000 depending on scope (basic clinical module versus a full EHR replacement), deployable in 90 to 150 days. Add $20,000 to $50,000 for legacy data migration, $10,000 to $25,000 for staff training, and $2,000 to $5,000 a month for cloud hosting. All-in 12-month cost of ownership lands around $400,000 to $850,000, with an 18 to 24 month ROI payback driven by reduced charting time, faster billing cycles, and fewer denied DME claims.
Off-the-shelf implementation on Epic, Cerner, or Athena typically runs $150,000 to $500,000 in year-one licensing and implementation, over a 6 to 12 month go-live timeline. Hidden costs stack up here too: workaround training for the gaps above, template customization labor, and an annual license renewal of $50,000 to $150,000 that keeps recurring.
All-in 12-month TCO usually lands in a similar $300,000 to $750,000 range, but the ROI payback stretches to 24 to 36 months, in part because the vendor’s own roadmap, not yours, decides when a respiratory-specific gap actually gets closed (verify current licensing tiers directly with each vendor at time of evaluation, since pricing shifts by bundle and practice size).
The number that should actually drive the decision isn’t total cost, since both paths land in a broadly similar range. It’s speed to a working system that fits your workflow, and who controls the roadmap for closing the remaining gaps once you’re live.
I almost wrote “custom is cheaper” in an earlier pass of this section. It isn’t, not reliably. The honest comparison is that custom and off-the-shelf land in the same cost neighborhood over 12 months; the real difference is where the money goes and who decides what gets fixed next.
What CMS-0062-P and USCDI v3 Change for Pulmonology Specifically
Two federal moves matter for anyone evaluating a pulmonology EHR in 2026, and both push in the same direction: toward FHIR-native systems that can adapt fast, and away from systems still waiting on their vendor’s roadmap.
CMS-0062-P requires health plans and providers to exchange prior authorization requests through FHIR APIs instead of fax or phone. For pulmonology specifically, that covers inhalers, biologics like Dupilumab, home oxygen, and sleep study equipment, all categories that regularly hit Prior Auth. A system with a native FHIR layer can automate that handshake, and our broader look at FHIR-based Prior Auth APIs covers the mechanics in more depth than fits here. A system still running older interface standards inherits the lag (verify your specific platform’s current compliance timeline before assuming coverage).
ONC’s USCDI v3 standardizes the clinical data elements every certified EHR has to export via FHIR, including imaging referrals, lab results, and vitals. For a pulmonology practice, that means the handoff from respiratory to radiology to cardiology should happen at API speed rather than manual entry, once vendors finish implementing to spec. A FHIR-native custom build starts from that standard. A legacy platform has to retrofit toward it.
Neither of these is a hypothetical future requirement. They’re active in 2026, and the gap between “our vendor is working on it” and a FHIR-native system that’s already there is a real operational difference, not a marketing point.
Where This Fits in a Broader Specialty EHR Evaluation
If you’re evaluating a specialty EHR for the first time, the underlying selection logic here (structured data capture, DME/billing workflow fit, and a build-vs-buy decision point) shows up across every specialty we’ve walked through in this series. The same framework that separates a pulmonology-fit system from a generic one applies almost identically to physical therapy practices evaluating units-based billing accuracy and to chiropractic practices weighing PIP/workers’-comp documentation demands. If your organization runs more than one specialty under one roof, our broader guide to multi-specialty EHR selection walks through how that changes the calculus, and our build-vs-buy framework covers the decision math in more depth than fits in one specialty piece.
On the accelerator side, three tools we’ve already built and deployed in production map directly onto the gaps above. AI Medical Summary generates specialty-tailored clinical summaries from raw EHR records, cutting documentation time by roughly 50% in production deployments, and tuning it to respiratory terminology closes the charting gap this piece opened with. DischargeFollow AI automates post-discharge follow-up calls and messages with symptom and medication-compliance checks, cutting 30-day readmissions by 38% in deployment data, which matters directly for COPD exacerbation follow-up.
CarePlan AI walks patients through structured care plans and recovery steps, lifting patient understanding of discharge instructions by 37%, the same mechanism that turns a printed asthma action plan into something a patient actually follows. For the imaging and lab handoff problem specifically, that’s a ConnectHealth integration layer, not a bolt-on feature, bridging the exact systems (PFT labs, radiology, DME suppliers) a pulmonology practice needs talking to each other in real time.
Structured, trendable PFT capture (FEV1, FVC, DLCO), a built-in Certificate of Medical Necessity workflow for home oxygen, sleep study and CPAP compliance data living in the same encounter record, single-login imaging handoff, and trackable Prior Auth status for biologics and inhalers. Most commercial EHRs handle one or two of these natively; almost none handle all five.
Epic runs respiratory service lines at most large health systems that already use it, but native structured PFT trending and a built-in CMN workflow typically require configuration and build-out through Epic’s own process rather than shipping out of the box. Verify current module scope at your specific Epic tier before assuming coverage.
A Medplum-based custom build typically runs $200,000 to $600,000 depending on scope, deployable in 90 to 150 days. Factor in $20,000 to $50,000 for data migration and $10,000 to $25,000 for training. Twelve-month all-in cost of ownership lands around $400,000 to $850,000, with an 18 to 24 month ROI payback.
Cerner (Oracle Health) has respiratory-specific templates and a large health-system install base, but leans on older interface standards in a lot of production environments even as FHIR support expands. Athena is cloud-native with strong billing and patient engagement, but its templates are primary-care-first, so PFT capture usually needs a third-party bridge. Verify current platform specifics with each vendor, since both are actively evolving.
It requires health plans and providers to exchange prior authorization through FHIR APIs instead of fax or phone, covering inhalers, biologics, home oxygen, and sleep study equipment for pulmonology specifically. A FHIR-native system can automate that handshake; a legacy platform inherits the lag until its vendor catches up.
When you’re running 3 or more respiratory-focused clinics, when PFT and DME documentation are central to daily workflow rather than occasional, when your current system forces manual CMN assembly or dual-screen imaging review every day, and when you can absorb an 18 to 24 month ROI horizon for a 90 to 150 day build. Outside those conditions, a well-configured off-the-shelf system is usually the right call. — Pravin Uttarwar is CTO & Founder at Mindbowser, where he’s spent 16+ years building software, with the last several years focused on custom EHR and healthcare platform architecture across specialty practices.









BLOGS
NEWSROOM
CASE STUDIES
WEBINARS
PODCASTS
ASSET HUB
EVENT CALENDAR 

















