Labs

Most EHRs treat lab results as a bolt-on interface to a separate LIMS — a feed that lands in an inbox, disconnected from the encounter that ordered it, with abnormal flags that someone has to remember to check. REV.health treats lab orders and results as first-class clinical facts. Orders are placed within the encounter workflow, results arrive via HL7 v2 ORU^R01 feeds or manual entry, and abnormal results trigger automatic task routing. No critical lab result goes unacknowledged.

The platform speaks LOINC for test codes, CPT for charge capture, and HL7 v2 ORU/OML for inbound lab interfaces. Results are linked back to the originating order by SourceInboundID, creating an unbroken chain from clinical indication → order → specimen → result → follow-up action.

Key Capabilities

In-Encounter Ordering

Lab orders placed alongside eRx and referrals in the encounter sign-off flow. Each order is an Order entity with OrderType="Lab", LOINC and CPT codes, and a priority field (Routine / Urgent / STAT). The ordering clinician sees all pending and recent labs in the encounter context — no switching to a separate module.

HL7 v2 Inbound Results

ORU^R01 and OML messages are auto-parsed into LabResult entities, linked back to the originating Order by SourceInboundID. The lab feed is trust tier 3 (authoritative) — the performing lab's values and reference ranges are the system of record. Parsing handles panel decomposition: a single ORU carrying a CMP is split into individual observations, each with its own LOINC code, value, unit, and reference range.

Abnormal Result Routing

Critical and abnormal flags auto-create tasks in the nurse queue. A potassium of 6.2 mEq/L with a Critical flag generates a task assigned to the ordering provider's nurse within seconds of result ingestion. The task carries the patient, the result, and the ordering encounter — no critical lab result goes unacknowledged. Escalation timers fire if the task is not claimed within the configured window.

Result Review & Acknowledgment

The clinician must review and acknowledge abnormal results before they can be filed. The audit trail captures who reviewed, when, and what action was taken (notify patient, repeat test, adjust medication, no action needed). Normal results are auto-filed after a configurable review window; abnormal results require explicit sign-off.

LOINC-Coded Panel Support

CMP, Lipid Panel, CBC with Diff — modeled as parent orders with child observations. Reference ranges are auto-populated by the performing lab and stored per-observation. When a panel order is placed, the platform expands it into its constituent LOINC codes for ordering and then re-composes the results under the panel heading for review. Clinicians see the panel view; the data model preserves the atomic observations.

Integration Vendors

Health Gorilla (aggregator), Quest Diagnostics (direct), and LabCorp (direct) connect via HL7 v2 and FHIR R4. Health Gorilla provides a single integration point for 500+ reference labs; Quest and LabCorp are connected directly for high-volume sites. Order routing is configured per-practice; results always flow back through the same channel.

Point-of-Care Lab Charge Capture

Glucose, strep, flu, and urine dipstick results auto-captured for RCM billing. CPT 87880 (strep), 87804 (flu), 83026 (glucose) are suggested at order entry and confirmed at result time. The MA enters the POC result; the charge flows to RCM without manual charge slips. Waived-clia tests are tracked per provider for CLIA compliance.

Patient Portal Lab Results

Results released per CLIA §493 and 21st Century Cures Act timing rules. Patients see their results alongside plain-language explanations of what each test measures and what the reference range means. The portal respects the Cures Act's automatic release requirement while allowing clinicians to add interpretive notes that appear with the result.

Persona Connections

Technical Highlights

Lab orders and results are modeled as two primary noun-apps on the IC platform: Order (with OrderType="Lab") and LabResult. Every entity carries the full four-field audit trail and is global (cross-org), keyed by SourceOrganizationID in the audit trail. The patient referenced by a LabResult is a global entity; the result row carries the performing lab and reference ranges supplied by the authoritative source.

Data Model

Inbound Interfaces

HL7 v2 ORU^R01 and OML messages are the primary inbound channels. The parser handles segment-level validation (PID → NK1 → OBR → OBX), decomposes panels into atomic observations, and maps LOINC codes to the platform's test catalog. Trust tier 3: the lab feed is authoritative — performing-lab values and reference ranges are the system of record.

FHIR Projection

LabResult maps to FHIR R4 DiagnosticReport (the panel-level container) and Observation (individual test results). Both resources conform to US Core 7.0.0+ profiles. The FHIR API supports query by patient, date range, LOINC code, and abnormal status.

Phase Roadmap

Phase 1 — Core Ordering & Result Ingestion
  • In-encounter lab ordering with LOINC/CPT code selection
  • HL7 v2 ORU^R01 / OML result ingestion and auto-filing
  • Abnormal flag routing to nurse queue with escalation timers
  • Order status lifecycle (Draft → Ordered → In-progress → Completed → Cancelled)
Phase 2 — Panels, POC & Acknowledgment
  • LOINC-coded panel support (CMP, Lipid Panel, CBC with Diff) with parent/child decomposition
  • Point-of-care lab charge capture (CPT 87880, 87804, 83026)
  • Result acknowledgment workflow with audit trail
  • Result trending view for chronic-disease markers
  • Integration with Health Gorilla aggregator and direct Quest/LabCorp connections
Phase 3 — Patient Portal & FHIR Projection
  • Patient portal result release with CLIA §493 and 21st Century Cures Act timing rules
  • Plain-language explanations alongside clinical values
  • Health Gorilla full aggregator integration for 500+ reference labs
  • FHIR R4 DiagnosticReport and Observation resource projection
  • FHIR query support by patient, date, LOINC code, and abnormal status

Try in the Demo