A step-by-step workflow for automating pulmonary result faxes into the EHR.

How do pulmonology clinics automate sleep study and PFT result faxes?

Quick answer: Automating sleep study and PFT result faxes means classifying each inbound document by report type, extracting the values that matter — AHI, sleep efficiency, titration pressure on a sleep study; FEV1, FVC, FEV1/FVC ratio, DLCO on a PFT — matching it to the ordering provider and the correct patient chart, and filing it to the right EHR section with a result-review task attached. Fax triage software for pulmonology clinics does that within minutes of arrival, instead of dropping a flat PDF into a shared queue for someone to open later. The work that remains is confirming exceptions, not sorting the pile.

Start by inventorying what actually arrives

Most practices can't say what their result fax mix looks like, and that gap is why automation projects stall halfway.

Spend one week counting. Have whoever works the queue tally inbound documents by type: in-lab polysomnography reports, home sleep apnea test reports, titration studies, PFT results from your own machine, PFT results from outside pulmonary labs, six-minute walk tests, DLCO reports, and everything that isn't a result at all. Note which sending facility each came from. Time twenty documents end to end, from opening to filed and routed.

Two patterns show up almost every time. First, results come from more sources than anyone expected — a mid-sized pulmonary practice often receives sleep studies from three to six different labs, each with its own report layout. Second, the handling time per document is dominated by patient lookup and routing, not by reading. Opening a report and recognizing it as a sleep study takes seconds. Finding the chart, deciding which section it belongs in, and figuring out which provider ordered it takes minutes.

That distinction tells you what to automate. A tool that only speeds up delivery compresses the first ten seconds and leaves the expensive part untouched.

Define routing rules per document type and per provider

Automation without routing rules produces a faster version of the same pile. Write the rules down before you configure anything.

For each result type, decide four things: which chart section the document files to, which provider or role gets notified, what the urgency flag is, and what happens if the ordering provider can't be identified from the page.

A workable starting set for a pulmonary practice looks like this:

  • In-lab polysomnography and home sleep test reports file to the diagnostic results section, notify the ordering provider, and generate a review task with a standard turnaround expectation.
  • Titration studies follow the same path, but also notify the DME coordinator, since the prescribed pressure setting drives the equipment order.
  • PFT results file to results, notify the ordering provider, and flag any report where the interpretation text contains severity language your practice wants surfaced.
  • Outside-lab results with no matching order in your system route to a reconciliation queue rather than filing silently. This is a small volume with an outsized error rate.

Per-provider rules matter more than people expect. Providers have different preferences about what they want pushed to them versus what they want to find in the chart, and a system that ignores that gets worked around within a month.

What data should the software extract from each report?

Classification tells you what the document is. Extraction is what turns it from a PDF into something the practice can act on.

For a sleep study, the fields worth pulling are the apnea-hypopnea index, the oxygen desaturation index, minimum and mean SpO2, total sleep time and sleep efficiency, the study type (diagnostic, split-night, titration), and the prescribed pressure if a titration was performed. Those values are what determine whether the patient gets a device, what pressure it's set to, and whether a follow-up study is needed.

For a PFT, the core set is FEV1, FVC, the FEV1/FVC ratio, DLCO, and the percent-predicted values alongside each. Pre- and post-bronchodilator values matter when both are present. The interpretation text is worth capturing as a discrete field so it's searchable rather than buried in an image.

Two honest caveats. Extraction accuracy on sleep studies varies by lab, because report layouts differ enough that a model tuned on one lab's template performs worse on another until it's seen examples. And PFT reports are frequently image-only scans with the numeric table rendered as a graphic — OCR quality on those is the ceiling for everything downstream.

Honey Health's Fax Triage and Data Fetching agents handle this pairing — classification and extraction on arrival, then write-back into the EHR's discrete fields rather than leaving the values trapped in an attached image.

Decide what auto-files and what waits for review

This is the decision that determines whether the project survives its first month.

Set a confidence threshold you control, per document category rather than globally. Above the threshold, the document files and the notification goes out. Below it, the document routes to a human review queue with the system's best guess pre-populated, so the staff member is confirming rather than starting over.

For result documents specifically, separate filing from clinical notification. Letting the system file a scored sleep study to the correct chart automatically while routing an acknowledgment task to the ordering provider captures nearly all of the labor savings without removing a human from the clinical loop. Practices that try to automate the notification step too tend to reverse it after the first missed urgent finding.

Start the threshold high. You'll send more to review in weeks one through four than you eventually will, and that's the correct trade — the cost of over-reviewing is a slower ramp, while the cost of under-reviewing is a misfiled result and a team that stops trusting the tool.

Build the exception queue before you need it

The exception queue is where your staff will actually spend their time after go-live, and it gets designed last in most implementations. Design it first.

Four categories reliably land there:

  1. Unmatched patients. The name on the report doesn't resolve to a chart with enough confidence. Usually a nickname, a maiden name, or a typo on the sending side.
  2. Unidentified ordering provider. Common with outside labs that print the referring physician inconsistently or not at all.
  3. Unrecognized report formats. A new sleep lab, or an existing lab that changed its template.
  4. Poor scan quality. Faded transmissions and image-only pages that OCR can't resolve.

Each needs a defined owner and a target turnaround. An exception queue with no owner becomes a second backlog, which defeats the point.

Watch the queue's composition, not just its size. If unrecognized formats dominate, the fix is training the classifier on that lab's template — a one-time task. If poor scans dominate, the problem is upstream: a paper fax path or a sending facility that needs a phone call.

How do you tell whether it worked?

Four metrics, tracked weekly from before you start.

Time to file. The interval from a result arriving to it being attached to the chart and routed. This is the number that moves first and moves most, usually dropping from hours or days to minutes within the first two weeks.

Percentage auto-matched. The share of documents that file without human touch. This starts low and should climb as thresholds loosen. If it plateaus early, look at the exception queue composition for the reason.

Exception queue size and age. Both should be small and stable. A growing queue means either the thresholds are too strict or something upstream changed.

Days from result received to provider review. The clinical-outcome-adjacent metric, and the one that makes the case to physicians rather than to finance. Reports routinely note that in-lab polysomnography can take two to four weeks to score and return, which means the study has already consumed weeks before it reaches your fax line. Whatever your practice adds after that is entirely within your control.

The 2025 CAQH Index estimates 70 minutes saved per patient visit where administrative workflows run fully automated, and puts roughly $21 billion of remaining industry savings inside transactions that are manual or partially manual. Result handling is squarely in that bucket for most pulmonary practices.

Frequently Asked Questions

Can software actually read AHI and FEV1 off a faxed report?

Yes, when the report arrives as a clean digital fax with the values in text. Accuracy drops on image-only scans where the numeric table is rendered as a graphic, which is common on PFTs. Ask any vendor to run extraction against your actual sleep lab's and pulmonary lab's report formats during evaluation rather than a clean sample.

What if we receive sleep studies from several different labs?

That's the normal case, and it's the main reason format-aware classification matters. Each lab's template needs to be seen before the model performs well on it. Expect a higher review rate from a newly added lab for the first few weeks, then a drop as the classifier learns the layout.

Should results file automatically, or wait for a provider to see them?

File automatically, notify separately. Letting the system attach the report to the correct chart while routing an acknowledgment task to the ordering provider captures the labor savings and keeps a human in the clinical loop. Automating the notification away is where practices get into trouble.

How does this handle a result with no matching order?

It should route to a reconciliation queue rather than filing silently. Outside labs occasionally send results for studies ordered elsewhere, and a document that files into a chart without a corresponding order creates a confusing record. Small volume, high error cost — worth its own queue.

How long does implementation take?

Four to eight weeks for an ambulatory pulmonary practice, including one to two weeks of shadow mode where the software classifies your real inbound stream without filing anything. Protect that shadow period. It produces your only real accuracy baseline and the numbers you'll use to prove the result later.

More of our Article
CLINIC TYPE
Practice Administrator
LOCATION
INTEGRATIONS
More of our Article and Stories