Cath
Laboratory
The Cath Lab module manages interventional cardiology procedures from order to verified report. It supports DICOM imaging, multi-step status workflow, service catalog pricing, and real-time cardiologist sign-off.
What is Cath Lab Management?
Cath Lab Management handles the complete interventional cardiology lifecycle: order creation (procedure type, access site, vessel region, priority), scheduling (date/time allocation), procedure execution (in-progress tracking), report generation (findings, impression, procedure notes, rich markdown), DICOM image upload (JPEG, PNG, DICOM, PDF, up to 20 files at 50MB each), cardiologist verification (digital sign-off with timestamp), and auto-invoicing (procedure-based billing with resolved unit pricing).
Each order follows a strict five-stage status: Ordered → Scheduled → In Progress → Completed → Cancelled, with validation guardrails preventing invalid transitions.
Why Does It Exist?
- → Procedure integrity — Structured order-to-report tracking prevents misattributed findings and lost imaging
- → Billing accuracy — Automatic invoice generation with resolved unit pricing eliminates manual charge capture errors
- → Clinical accountability — Every report requires verified cardiologist sign-off with immutable audit trail
- → Imaging governance — DICOM and medical image storage with presigned URL access and tiered security
The Cath Lab Workflow
Order Creation
A physician creates a Cath Lab order specifying the procedure type (e.g., Coronary Angiography, PTCA), access site (e.g., Femoral, Radial), vessel region, priority (Normal, Urgent, Emergency), and clinical context. Optional service catalog linkage enables automatic pricing.
Schedule & Prepare
Orders in 'ordered' status are scheduled with a date and time. The scheduled order moves to 'scheduled' status, entering the procedure queue. Staff can view the scheduled list with patient and doctor details.
Procedure & Imaging
The interventional cardiologist performs the procedure. During or after, they upload DICOM images, angiograms, or supporting media (JPEG, PNG, PDF) to the report. The order status moves to 'in_progress'.
Report & Verification
The cardiologist documents findings, impression, and procedure notes. A designated verifier (usually a senior cardiologist) reviews and digitally signs the report with verifiedAt and verifiedById timestamps. The order is marked 'completed'.
Every Feature Explained
Order Management
Create and manage cath lab procedure orders with full patient context.
Centralized order capture eliminates paper-based errors and lost referrals.
Orders capture patient, doctor, procedure type, access site, vessel region, priority, clinical info, reason, description. Date-range and status filters enable quick retrieval. The list view supports pagination and includes report counts per order.
DICOM & Medical Imaging
Upload and retrieve angiogram images in medical imaging formats.
Interventional cardiology relies on high-fidelity imaging for diagnosis and documentation.
Supports JPEG, PNG, GIF, WebP, BMP, TIFF, PDF, and DICOM (.dcm). Up to 20 files per upload, 50MB per file. Files stored in S3 with presigned URL access (1-hour expiry). Images are linked to reports via mediaAttachment records and the imageUrls JSON array.
Staged Status Workflow
Five-stage order lifecycle with validated transitions.
Prevents clinical errors from skipped or invalid status changes.
Ordered → Scheduled → In Progress → Completed → Cancelled. Each transition is validated against a whitelist map. Invalid transitions return 409 Conflict. Completed and Cancelled are terminal states with no further transitions.
Report writing
Generate structured reports with findings, impression, and rich markdown.
Comprehensive documentation supports clinical decision-making and medico-legal requirements.
Reports support free-text findings (10K chars), impression (5K chars), procedure notes (10K chars), and rich markdown reports (500K chars). Each report is linked to an order and optionally to a performing doctor.
Cardiologist Verification
Digital sign-off by a senior cardiologist with immutable audit trail.
Verification ensures clinical accuracy and provides medico-legal accountability.
A verifier sets verifiedAt timestamp and verifiedById references. Once verified, the report is locked, edits and deletions return 409 Conflict. Verification triggers high-priority notifications to the patient's doctor.
Auto-Invoicing & Pricing
Automatic invoice generation with resolved unit pricing per procedure.
Eliminates manual charge capture and ensures consistent pricing.
Unit price is resolved via resolveCathLabUnitPrice using doctor, procedure type, access site, and service catalog. An invoice is created via ensureCathLabOrderInvoice with the resolved amount. The invoice ID and price are returned with the order response.
CSV Export & Analytics
Export orders to CSV and view real-time analytics.
Enables institutional reporting and operational insights.
CSV export supports the same filters as the list view with a 5,000-row cap. Export includes patient name, MRN, procedure type, status, priority, dates. Analytics endpoint returns status distribution, procedure mix (top 8), 7-day weekly series, completion rate, and total counts.
Real-time Notifications
Broadcast alerts for procedure milestones.
Keeps the care team informed about critical state changes.
New order creation notifies cathlab:manage permission holders. In-progress status broadcasts to the same group. Completed procedures trigger high-priority notifications to the ordering doctor. Audit events are logged for every state change.
Technical Architecture
| Field | Type | Institutional Role |
|---|---|---|
| order_id | UUID | Unique procedure order identifier. |
| patient_id | UUID | Reference to the patient undergoing procedure. |
| procedure_type | VarChar(100) | Clinical procedure name (e.g., Coronary Angiography). |
| status | Enum | Ordered, Scheduled, In Progress, Completed, Cancelled. |
| priority | Enum | Normal, Urgent, Emergency. |
Note: Sensitive fields use AES-256 field-level encryption where applicable.
Governance & Power
cathlab:viewcathlab:ordercathlab:reportcathlab:verifycathlab:exportcathlab:manage-servicescathlab:manageImmutable After Verification
Once a report is verified (signed off), all editing and deletion is blocked. The only exception is re-opening the completed order first. This guarantees clinical record integrity.
Concurrent Upload Safety
Image uploads use a PostgreSQL transaction with a read-then-merge pattern to prevent lost updates when multiple users upload images to the same report simultaneously.
Audit Trail Depth
Every state change, report creation, image upload, and status transition is recorded with deep audit (before/after JSON snapshots). Exports log the filter criteria used for traceability.