Laboratory Information System Workflows
This document defines eight core workflows for the Laboratory Information System (LIS) module for Gates Group facilities in the UAE. Each workflow details process steps, actors, decision points, integration points, exception handling, and the paperless transformation achieved by the HIS.
Regulatory context: UAE Federal Decree-Law No. 45/2021 on Personal Data Protection (UAE PDPL), MOH laboratory licensing requirements, DOH (Abu Dhabi) ADHICS security standards, DHA NABIDH connectivity, Malaffi connectivity, and local quality standards for laboratory practice. All workflows must ensure secure handling of patient-identifiable data, minimum-necessary access, and full auditability of result changes and critical notifications.
WF-LIS-001: Lab Order Receipt & Validation
Process Flow
Actor: Lab Technologist, Lab Supervisor
Trigger: Lab order received from CPOE (HL7 ORM^O01 or FHIR ServiceRequest)
Pre-conditions:
- Patient exists in
patientsand has an active encounter inencounters - Ordering provider exists in
providersand is authorized to order labs - LIS–CPOE interface (INT-LIS-001) is available
- Lab test catalog and LOINC mappings are configured and active
-
Receive Order Message - System (interface engine) receives HL7
ORM^O01or FHIRServiceRequestfrom CPOE with patient, encounter, ordering provider, and ordered tests. - Message is logged inintegration_message_log(owned by integration layer). -
Validate Patient & Encounter - LIS validates
patient_idandencounter_idagainst sharedpatientsandencounterstables. - If not found or encounter inactive, order is placed in an “Error – Patient/Encounter” queue. -
Create Lab Order Header - LIS creates a new record in
lab_orderswith:order_id(internal)patient_id,encounter_id,ordering_provider_idorder_datetime,priority,clinical_indication,fasting_statusfacility_id,department_id- Initial
order_status = 'RECEIVED'.
-
Validate Order Completeness - For each requested test, system checks:
- Valid test code (mapped to LOINC and internal test catalog)
- Required fields: priority, clinical indication (ICD-10-AM), specimen type requirements.
- If missing/invalid, order is flagged “Incomplete” and appears in a lab technologist review queue.
-
Check Duplicate Orders - System queries
lab_order_testsandlab_resultsfor the same patient, same test code, within test-specific lookback windows (e.g., CBC 24h, HbA1c 90 days). - If duplicate detected:- System flags the test as “Potential Duplicate” and notifies ordering provider via CPOE (status update).
- Depending on facility policy, test may be auto-held pending provider confirmation.
-
Apply Order-Entry Edits - System enforces test-specific rules:
- Example: Fasting glucose requires
fasting_status = 'FASTING'. - Example: Certain tests require specific clinical indication codes.
- If rule fails, test is set to
status = 'ON_HOLD'with a reason; provider is notified via CPOE.
- Example: Fasting glucose requires
-
Assign Accession Number - LIS generates an accession number per facility/section format (e.g., DXB-CH-20260207-000123). -
lab_orders.accession_numberis set. - For multi-section orders, section-specific sub-accession numbers may be generated atlab_order_testslevel. -
Create Lab Order Tests - For each valid test:
- Insert into
lab_order_testswith: order_test_id,order_id,test_code_loinc,test_namelab_section(chemistry, hematology, micro, pathology, send-out)specimen_type_required,status = 'PENDING_COLLECTION'.
- Insert into
-
Route to Lab Sections - System assigns each test to a lab section worklist based on
lab_sectionand facility routing rules. - Worklist entries are created for SCR-LIS-001 and SCR-LIS-002. -
Generate Specimen Collection Labels
- For each required specimen:
- System generates barcoded labels containing patient name, MRN, Emirates ID (if available), accession number, test list, and collection date/time placeholder.
- Label print jobs are queued to the appropriate collection station.
-
Update CPOE/EHR Status
- LIS sends order acknowledgement/status update back to CPOE/EHR:
- HL7
ORM^O01ACK or FHIRTask/ServiceRequeststatus update. - Order status in CPOE set to “Sent to Lab”.
-
Supervisor Oversight (Optional)
- Lab Supervisor can review high-risk or send-out orders in a dedicated queue and adjust routing or priority if needed.
Data Modified:
lab_orders— INSERTlab_order_tests— INSERTlab_specimens— (optional pre-creation for planned specimens) INSERTorder_audit_log(module-specific or shared) — INSERT (order receipt, validation events)
Mermaid Flowchart
Decision Points
-
Patient/Encounter Validation - IF
patient_idorencounter_idnot found or inactive
THEN route to error queue and do not createlab_ordersuntil resolved. -
Order Completeness - IF required fields (test code, clinical indication, fasting status, specimen type) missing
THEN setorder_status = 'INCOMPLETE', notify lab technologist and ordering provider. -
Duplicate Order Check - IF same test exists within configured lookback window
THEN flag as potential duplicate and:- IF provider cancels via CPOE → set
lab_order_tests.status = 'CANCELLED' - ELSE proceed with
status = 'PENDING_COLLECTION'but retain duplicate flag.
- IF provider cancels via CPOE → set
-
Order-Entry Edits - IF test-specific rule fails (e.g., fasting required but
fasting_status != 'FASTING')
THEN set teststatus = 'ON_HOLD'and send alert to provider to correct.
Integration Points
| Target Module/System | Direction | Data | Protocol | Trigger |
|---|---|---|---|---|
cpoe |
Inbound | Lab orders (patient, encounter, tests, diagnosis) | HL7 ORM^O01 / FHIR ServiceRequest |
Provider signs order |
ehr-patient-mgmt |
Read-only | Patient demographics, identifiers, encounters, providers | DB / internal API | On order receipt |
cpoe |
Outbound | Order status (received, incomplete, on-hold, duplicate) | HL7 ACK / FHIR Task update |
After validation |
billing-claims |
Outbound (later) | Completed test details (for WF-LIS-004) | Internal API / HL7 DFT^P03 |
On result verification |
Exception Handling
- Invalid Patient/Encounter
- Order is not created in
lab_orders. - Entry logged in error queue; notification to HIS support and lab supervisor.
-
Once master data corrected, message can be reprocessed.
-
Unknown Test Code / Inactive Test
- Test line set to
status = 'REJECTED'with reason “Unknown/Inactive test”. -
Provider notified via CPOE; lab supervisor can map or activate test and re-trigger.
-
Interface Failure (INT-LIS-001)
- Orders queued in interface engine with retry logic.
-
If retry window exceeded, alert to IT and lab supervisor; manual entry option available.
-
Accession Number Collision
-
System detects duplicate accession; regenerates using next sequence and logs event.
-
PDPL/Data Minimization
- If message contains unnecessary identifiers (e.g., full address when not needed), LIS stores only required fields and masks others in logs per UAE PDPL.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Handwritten lab requisition forms | Electronic orders from CPOE with structured data | Eliminates transcription errors and incomplete orders |
| Manual test routing using paper trays | Automated routing to section worklists | Real-time workload balancing and tracking |
| Handwritten specimen labels | System-generated barcoded labels | Reduces mislabeling and supports bedside scanning |
| Manual duplicate test checks using paper charts | Automated duplicate detection using historical results | Reduces unnecessary testing and payer denials |
Remaining Paper Touchpoints: None — fully digital for in-scope facilities. External paper referrals (from non-digital clinics) are handled via separate scanning/indexing workflow outside this LIS module.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| CPOE | Lab order (patient, encounter, tests, priority, clinical indication, fasting status) | HL7 ORM^O01 / FHIR ServiceRequest (INT-LIS-001) |
| EHR / Patient Mgmt | Patient demographics, Emirates ID, MRN, encounter details | patients, encounters tables |
| EHR / Patient Mgmt | Ordering provider details and authorisation | providers table |
| Master Data | Lab test catalog with LOINC mappings, specimen requirements, section routing | lab_test_catalog table |
| Master Data | Duplicate check lookback windows per test | Test-specific configuration |
| Master Data | Order-entry edit rules (fasting, indication requirements) | Rule engine configuration |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
lab_orders |
New order record with accession number, status, patient/encounter/provider links | SQL INSERT |
lab_order_tests |
Individual test records per ordered test with LOINC codes and section routing | SQL INSERT |
lab_specimens |
Pre-created specimen records (optional) for planned collections | SQL INSERT |
| CPOE / EHR | Order acknowledgement and status update (received, incomplete, on-hold, duplicate) | HL7 ACK / FHIR Task update |
| Label Printers | Barcoded specimen collection labels | Print job |
| Lab Section Worklists | Routed test entries for collection and processing | SCR-LIS-001, SCR-LIS-002 |
Post-conditions:
- Lab order exists with
order_status = 'RECEIVED'and assigned accession number - Individual test records created and routed to appropriate lab section worklists
- Barcoded specimen labels generated and queued for collection stations
- CPOE/EHR updated with order receipt status
- Any incomplete or on-hold tests flagged for provider or technologist action
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Order receipt to acknowledgement | < 2 seconds | Retry queue; alert IT if > 10s | integration_message_log.received_at |
| Order validation (completeness, duplicates, edits) | < 5 seconds | Alert Lab Supervisor if processing backlog > 1 min | lab_orders.validated_datetime |
| Accession number assignment | < 1 second (auto-generated) | Alert IT if sequence failure | lab_orders.accession_number timestamp |
| Label generation | < 10 seconds after accession | Alert IT if printer queue backlog | Print job timestamp |
| CPOE status update sent | < 5 seconds after validation | Alert IT if > 30s | integration_message_log.sent_at |
State Transition Diagram
WF-LIS-002: Specimen Collection & Accessioning
Process Flow
Actor: Phlebotomist, Lab Technologist
Trigger: Lab order on collection worklist; patient available
Pre-conditions:
- Valid
lab_ordersandlab_order_testsrecords withstatus = 'PENDING_COLLECTION' - Patient wristband printed (inpatient) or verified registration (outpatient)
- Label printers and barcode scanners operational
- Collection locations configured in
locationsanddepartments
-
Access Collection Worklist - Phlebotomist opens SCR-LIS-002 (Specimen Collection Worklist) filtered by location, priority, and time. - Worklist shows patient name, MRN, location, tests ordered, tube types, and priority.
-
Patient Identification - At bedside or phlebotomy station, phlebotomist:
- Scans patient wristband barcode (inpatient) or searches by MRN/Emirates ID (e.g., 784-1990-1234567-3).
- Confirms at least two identifiers (name + MRN/Emirates ID + DOB) per facility policy.
-
Match to Orders - System displays all pending collections for that patient. - Phlebotomist selects the appropriate order(s) and confirms.
-
Print/Confirm Labels - System prints or confirms pre-printed barcoded labels for required specimens (tube type, color, volume). - Phlebotomist verifies label content against patient identifiers.
-
Specimen Collection - Phlebotomist collects specimens according to test requirements:
- Correct tube type and order of draw.
- Required volume and special handling (e.g., on ice).
- Immediately after collection, labels are applied at bedside.
-
Record Collection Details - Phlebotomist records:
collection_datetimecollector_id(linked tousers)- Collection site and any complications.
- LIS creates/updates
lab_specimens: specimen_id,order_id,patient_id,specimen_type,tube_type,collection_datetime,collector_id,condition = 'COLLECTED',accession_number.
-
Chain of Custody Tracking - At each handoff (e.g., ward → transport → lab reception), staff scan specimen barcode. - System appends events to
lab_specimens.chain_of_custody_json(timestamp, user, location). -
Transport to Lab - Specimens are placed in transport containers. - Transport staff scan container and specimens; LIS records departure time and expected arrival.
-
Specimen Receipt in Lab - Lab Technologist at accessioning station (SCR-LIS-003) scans specimen barcode. - System verifies:
- Label matches patient and order.
- Specimen type and tube type match test requirements.
-
Assess Specimen Condition
- Technologist records:
received_datetimecondition(e.g., acceptable, hemolyzed, clotted, insufficient volume).- If acceptable:
lab_specimens.condition = 'ACCEPTED'- Associated
lab_order_tests.status = 'IN_LAB_QUEUE'.
-
Specimen Rejection (If Needed)
- If specimen unacceptable:
lab_specimens.condition = 'REJECTED'- Rejection reason from master “Specimen Rejection Reason Codes”.
lab_order_tests.status = 'RECOLLECT_REQUIRED'.- LIS sends status update to CPOE/EHR and generates recollection task.
-
Assign to Section Worklists
- Accepted specimens are routed to analyzer/section worklists (chemistry, hematology, micro, etc.) based on
lab_sectionandspecimen_type.
- Accepted specimens are routed to analyzer/section worklists (chemistry, hematology, micro, etc.) based on
Data Modified:
lab_specimens— INSERT (on collection), UPDATE (on receipt, condition, chain of custody)lab_orders— UPDATE (e.g.,order_statustoIN_PROGRESSwhen first specimen accepted)lab_order_tests— UPDATE (status transitions: PENDING_COLLECTION → IN_LAB_QUEUE / RECOLLECT_REQUIRED)lab_critical_notifications— none in this workflow
Mermaid Flowchart
Decision Points
-
Patient Identification - IF scanned wristband/Emirates ID does not match selected patient
THEN system blocks collection documentation and prompts re-identification. -
Label–Order Match - IF specimen barcode does not match any active
lab_orders/lab_specimens
THEN specimen is placed in “Unmatched Specimen” queue for investigation. -
Specimen Condition - IF condition is unacceptable (hemolyzed, clotted, insufficient, wrong container)
THEN mark specimen asREJECTED, update tests toRECOLLECT_REQUIRED, and notify provider.
Integration Points
| Target Module/System | Direction | Data | Protocol | Trigger |
|---|---|---|---|---|
ehr-patient-mgmt |
Read-only | Patient demographics, identifiers | Internal API/DB | On patient identification |
cpoe |
Outbound | Order/test status (collected, rejected, recollect required) | HL7 ORM status update / FHIR Task update |
On collection/receipt/rejection |
ehr-patient-mgmt |
Outbound | Nursing task for recollection | Internal task API | On specimen rejection |
Exception Handling
- Scanner/Printer Failure
- Phlebotomist can manually select patient and print labels from another station.
-
System logs manual override; lab supervisor review recommended.
-
Unmatched Specimen
- Specimen placed in a dedicated “Unmatched” queue.
-
Lab staff search by patient demographics/time; if not resolved, specimen discarded per policy and incident logged.
-
Delayed Transport
-
If transport time exceeds stability window (based on test requirements), LIS flags specimens as “Expired” and triggers recollection.
-
PDPL Considerations
- Only minimum identifiers printed on labels (e.g., name, MRN, accession number); Emirates ID not printed if policy restricts.
- Chain-of-custody JSON excludes unnecessary personal data, storing only user IDs and timestamps.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Printed collection lists carried by phlebotomists | Real-time electronic worklist on mobile devices | Reduces missed/duplicated collections; supports STAT prioritization |
| Handwritten specimen labels | Barcoded labels generated from LIS | Minimizes mislabeling and supports analyzer interfacing |
| Manual chain-of-custody logs | Barcode scans appended to chain_of_custody_json |
Full audit trail for medico-legal and quality audits |
| Paper rejection slips sent to wards | Electronic rejection notifications and recollection tasks | Faster recollection and better documentation |
Remaining Paper Touchpoints: Possible use of paper transport bags/containers (non-clinical packaging), which do not contain PHI beyond barcodes.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
lab_orders / lab_order_tests |
Pending collection orders with test details, tube types, priority | SQL SELECT via SCR-LIS-002 |
| EHR / Patient Mgmt | Patient demographics, wristband barcode (inpatient), Emirates ID | patients, patient_identifiers tables |
| Phlebotomist | Patient identity confirmation, collection details, site, complications | Manual entry / barcode scan |
| Lab Technologist | Specimen condition assessment (acceptable, hemolyzed, clotted, insufficient) | Manual entry at accessioning station |
| Master Data | Specimen requirements per test (tube type, volume, handling), rejection reason codes | lab_test_catalog, specimen_rejection_reasons |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
lab_specimens |
Specimen record with collection time, collector ID, condition, chain of custody | SQL INSERT/UPDATE |
lab_order_tests |
Status update (PENDING_COLLECTION → IN_LAB_QUEUE or RECOLLECT_REQUIRED) |
SQL UPDATE |
lab_orders |
Status update (IN_PROGRESS when first specimen accepted) |
SQL UPDATE |
| CPOE / EHR | Status updates (collected, rejected, recollection required) | HL7 status update / FHIR Task update |
| Nursing / EHR | Recollection task (if specimen rejected) | Internal task API |
| Lab Section Worklists | Accepted specimens routed to analyzer/section worklists | SCR-LIS-003/004 |
Post-conditions:
- Specimen record exists with collection details, chain of custody, and condition assessment
- If accepted: tests routed to section worklists for analysis
- If rejected: rejection reason documented, recollection task created, provider notified
- Full chain of custody audit trail maintained from bedside to lab
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| STAT specimen collection (from order receipt) | < 15 minutes | Alert phlebotomy supervisor at 15 min | lab_specimens.collection_datetime minus lab_orders.order_datetime |
| Routine specimen collection | < 2 hours | Alert at 2 h; batch collections per schedule | Same as above |
| Bedside labelling | Immediately after collection (< 30 seconds) | Hard rule — no unlabelled specimens leave bedside | Barcode scan timestamp |
| Transport to lab | < 30 minutes (routine), < 15 minutes (STAT) | Alert if transport exceeds stability window | Chain of custody transport timestamps |
| Accessioning (receipt to section routing) | < 10 minutes | Alert Lab Supervisor if backlog > 15 min | lab_specimens.received_datetime to section routing |
| Specimen rejection notification to provider | < 5 minutes after rejection | Auto-notification on rejection | Rejection event timestamp |
State Transition Diagram
WF-LIS-003: Analyzer Interface & Result Capture
Process Flow
Actor: Lab Technologist, Lab Analyzer (automated)
Trigger: Specimen loaded on analyzer; analyzer completes testing
Pre-conditions:
- Specimen accepted in
lab_specimenswith validspecimen_idandaccession_number - Analyzer configured in
lab_analyzersandlab_analyzer_interfaces - QC status for analyzer is “In Control” (from
lab_qc_records) or within acceptable window
-
Load Specimen on Analyzer - Lab Technologist loads barcoded specimen onto analyzer. - Analyzer scans barcode and reads accession/sample ID.
-
Worklist Query / Download - Analyzer sends host query or receives worklist from LIS via INT-LIS-002. - LIS responds with pending tests for that analyzer, including test codes and sample positions.
-
Analyzer Performs Testing - Analyzer runs tests according to configured methods. - Internal QC checks may run automatically per analyzer configuration.
-
Transmit Results to LIS - Analyzer sends results via ASTM/HL7/serial/TCP to LIS interface. - Message includes sample ID, test codes, result values, units, flags, and QC info.
-
Match Results to Orders - LIS matches incoming results to
lab_order_testsandlab_specimensusing accession/sample ID and test code. - If no match, result goes to “Unmatched Results” queue. -
Create/Update Result Records - For each matched test:
- Insert into
lab_results(if not existing) with: result_id,order_test_id,patient_id,test_code_loinc,result_status = 'PENDING_REVIEW',reported_datetime.- Insert into
lab_result_componentsfor each component: component_id,result_id,component_code_loinc,value_numeric/value_text/value_coded,unit.
- Insert into
-
Apply Auto-Validation Rules - LIS evaluates:
- Reference range check using
lab_reference_ranges. - Delta check vs previous results for same test/patient.
- QC status from
lab_qc_records(Westgard rules). - If all criteria met and no critical values:
- Set
lab_results.result_status = 'AUTO_VERIFIED'. - Flag
auto_verified = true.
- Reference range check using
-
Flag for Manual Review - If any rule fails (e.g., out-of-range, delta check fail, QC out-of-control):
lab_results.result_status = 'PENDING_REVIEW'.delta_check_flag = trueorqc_flag = trueas appropriate.- Result appears in SCR-LIS-004 for technologist review.
-
Preliminary Status (Optional) - For certain tests, LIS may set
result_status = 'PRELIMINARY'pending additional runs or confirmatory tests. -
Update Test and Order Status
lab_order_tests.statusupdated toRESULT_AVAILABLEorPENDING_REVIEW.- If all tests in
lab_ordershave results,lab_orders.order_statusupdated toRESULTS_READY_FOR_VERIFICATION.
Data Modified:
lab_results— INSERT/UPDATElab_result_components— INSERTlab_order_tests— UPDATE (status)lab_orders— UPDATE (status)lab_qc_records— READ (no modification in this workflow)
Mermaid Flowchart
Decision Points
-
Result–Order Matching - IF no matching
lab_order_tests/lab_specimensfound for sample ID
THEN route to “Unmatched Results” queue for manual mapping. -
Auto-Validation Eligibility - IF result within reference range AND delta check within configured limits AND QC in control AND not critical
THEN auto-verify; ELSE require manual review. -
QC Status - IF latest
lab_qc_recordsfor analyzer/test indicate Westgard rule violation
THEN block auto-verification and flag all affected results for manual review.
Integration Points
| Target Module/System | Direction | Data | Protocol | Trigger |
|---|---|---|---|---|
| Lab Analyzers | Bidirectional | Worklists, results, QC data | ASTM E1381/E1394, HL7 v2.x, serial/TCP | Specimen loaded / test complete |
lis QC subsystem |
Read-only | QC status, Westgard violations | Internal DB | On auto-validation |
ehr-patient-mgmt |
Read-only | Historical results for delta check | Internal DB / LIS history | On auto-validation |
Exception Handling
- Unmatched Results
- Results held in queue; technologist can manually assign to patient/order using accession number and test code.
-
All manual mappings logged for audit.
-
Interface Downtime
- Analyzer may print paper results as contingency.
-
Technologist manually enters results into LIS; once interface restored, duplicate detection prevents double entry.
-
Corrupted/Incomplete Messages
- Interface engine rejects and logs; LIS displays error to IT and lab supervisor.
-
Analyzer retransmission requested.
-
PDPL/Data Security
- Analyzer interfaces transmit only necessary identifiers (accession/sample ID, not full demographics).
- All interface traffic secured via TLS where supported (per ADHICS/NABIDH/Malaffi profiles).
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Analyzer printouts manually transcribed into logbooks | Direct electronic result capture via interfaces | Eliminates transcription errors and speeds TAT |
| Paper worksheets for manual result calculations | Structured lab_results and lab_result_components entries |
Supports trend analysis and delta checks |
| Manual QC logs attached to result printouts | QC status linked via lab_qc_records and auto-validation rules |
Ensures results not released when QC out of control |
Remaining Paper Touchpoints: Limited to analyzer internal printouts used only during downtime; not part of normal workflow.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
lab_specimens |
Accepted specimen with accession number and test assignments | SQL SELECT |
| Lab Analyzer | Worklist query for pending tests by sample ID | ASTM E1381/E1394 / HL7 v2.x host query |
| Lab Analyzer | Raw/processed test results, QC data, instrument flags | ASTM / HL7 ORU^R01 over serial/TCP (INT-LIS-002) |
lab_qc_records |
QC status for analyzer/test (Westgard rule evaluation) | SQL SELECT |
lab_reference_ranges |
Reference ranges by test, age, gender | SQL SELECT |
lab_results (historical) |
Previous results for delta check comparison | SQL SELECT |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
lab_results |
Result record with status (PENDING_REVIEW or AUTO_VERIFIED), reported datetime |
SQL INSERT/UPDATE |
lab_result_components |
Individual component values (numeric, text, coded), units, reference ranges, abnormal flags | SQL INSERT |
lab_order_tests |
Status update (RESULT_AVAILABLE or PENDING_REVIEW) |
SQL UPDATE |
lab_orders |
Status update (RESULTS_READY_FOR_VERIFICATION when all tests have results) |
SQL UPDATE |
| Verification Worklist | Flagged results for manual review (delta check, QC, out-of-range) | SCR-LIS-004 |
| Unmatched Results Queue | Results that could not be matched to orders | Error queue display |
Post-conditions:
- All analyzer results captured electronically in
lab_resultsandlab_result_components - Auto-validation applied where criteria met (reference range OK, delta OK, QC in control, non-critical)
- Results requiring manual review flagged with appropriate indicators
- Order and test statuses updated to reflect result availability
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Analyzer result to LIS capture | < 30 seconds | Alert interface engineer if > 2 min | lab_results.created_at minus analyzer completion time |
| Auto-validation processing | < 5 seconds per result | Alert IT if processing backlog > 1 min | Auto-validation rule execution timestamp |
| Unmatched result resolution | < 30 minutes | Alert Lab Supervisor at 30 min | Unmatched queue entry age |
| Result availability on verification worklist | < 1 minute after capture | Alert IT if delayed | Worklist entry creation timestamp |
| Interface downtime detection | < 5 minutes | Alert IT and Lab Supervisor | Analyzer heartbeat monitoring |
WF-LIS-004: Result Verification & Release
Process Flow
Actor: Lab Technologist, Lab Supervisor, Pathologist/Lab Director (for micro/pathology)
Trigger: Results received from analyzer or manually entered
Pre-conditions:
lab_resultsandlab_result_componentsexist withresult_statusinPENDING_REVIEW,AUTO_VERIFIED, orPRELIMINARY- QC status acceptable or corrective actions documented
- User has appropriate verification privileges for the lab section
-
Open Verification Worklist - Technologist opens SCR-LIS-004 filtered by lab section, priority, and status. - Worklist shows patient banner, test name, abnormal flags, QC status, and auto-validation indicators.
-
Select Result for Review - User selects a result; LIS displays:
- Current values with reference ranges.
- Previous results (trend graph).
- Delta check flags and QC status.
-
Clinical Context Review - System retrieves patient age, gender, diagnosis (ICD-10-AM), location, and relevant medications from EHR. - User confirms that results are consistent with clinical context.
-
Delta Check Assessment - If
delta_check_flag = true, LIS highlights change magnitude and time since last result. - User decides whether change is clinically plausible or indicates potential error. -
QC Status Confirmation - QC status for the analyzer/test is displayed (from
lab_qc_records). - If QC out-of-control and no documented corrective action, user cannot finalize result without supervisor override. -
Critical Value Detection - LIS evaluates result against
lab_critical_valuesthresholds (age group, test code). - If critical:lab_results.is_critical = true.- Workflow WF-LIS-005 (Critical Value Notification) is triggered.
-
Result Edits/Comments (If Needed) - User may:
- Correct obvious data entry errors (with reason).
- Add interpretive comments (e.g., “Hemolyzed sample may affect potassium result”).
- All changes logged in result audit trail.
-
Verification - Technologist verifies result:
lab_results.result_status = 'FINAL'.verified_by = user_id,verified_datetime = now().- For certain sections (e.g., blood bank, pathology), dual verification or pathologist sign-off may be required:
- Second user must co-sign before status becomes
FINAL.
-
Release to EHR/CPOE - LIS sends HL7
ORU^R01or FHIRDiagnosticReport+Observationto:- CPOE/EHR (ordering provider inbox, patient chart).
- HIEs (NABIDH/Malaffi) when applicable (final results only).
- Result appears in patient’s lab results view and provider notification list.
-
Charge Capture Trigger
- For billable tests, LIS sends charge details (CPT/LOINC, specimen type, facility) to Billing via INT-LIS-006 (HL7
DFT^P03or internal API).
- For billable tests, LIS sends charge details (CPT/LOINC, specimen type, facility) to Billing via INT-LIS-006 (HL7
Data Modified:
lab_results— UPDATE (status, verified_by, verified_datetime, is_critical)lab_result_components— UPDATE (if values/flags adjusted)lab_orders— UPDATE (order_status toCOMPLETEDwhen all tests final)lab_order_tests— UPDATE (status toFINAL)lab_critical_notifications— INSERT (if critical)- Billing tables (in Billing module) — INSERT via integration
Mermaid Flowchart
Decision Points
-
Delta/QC Acceptability - IF delta change exceeds configured threshold OR QC out-of-control
THEN user must either repeat test, document justification, or escalate to supervisor. -
Critical Value - IF result meets or exceeds
lab_critical_valuesthresholds
THENis_critical = trueand WF-LIS-005 must be completed before result is considered fully released (per facility policy). -
Dual Verification - IF test belongs to section requiring dual verification (e.g., blood bank, pathology)
THEN second verifier must sign beforeresult_status = 'FINAL'.
Integration Points
| Target Module/System | Direction | Data | Protocol | Trigger |
|---|---|---|---|---|
ehr-patient-mgmt / CPOE |
Outbound | Final/preliminary results | HL7 ORU^R01 / FHIR DiagnosticReport + Observation |
On verification |
| NABIDH (Dubai) | Outbound | Final results with LOINC-coded observations | HL7 v2.5.1 over MLLP/TLS | On finalization (Dubai facilities) |
| Malaffi (Abu Dhabi) | Outbound | Final results | HL7 v2.5.1 over MLLP/TLS | On finalization (Abu Dhabi facilities) |
| Billing & Claims | Outbound | Charge details (CPT/LOINC, facility, date) | Internal API / HL7 DFT^P03 |
On result verification |
| Notification service | Outbound | Provider alerts (new result) | Internal messaging | On result release |
Exception Handling
- Incorrect Result Detected After Finalization
- Result is amended:
- New version created;
lab_results.status = 'CORRECTED'. - Amendment reason recorded; provider notified.
- New version created;
-
HIEs receive corrected result messages as per NABIDH/Malaffi guidelines.
-
Failed Transmission to EHR/HIE
- Results queued with retry logic.
-
If retries fail, alerts sent to IT and lab supervisor; manual export option available.
-
Unauthorized User Attempting Verification
-
System blocks action and logs security event per ADHICS/UAE PDPL requirements.
-
PDPL Considerations
- Access to results limited to authorized users with a treatment relationship.
- All result views and modifications logged for audit.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper result worksheets signed by technologists | Electronic verification with user ID and timestamp | Full audit trail and remote verification possible |
| Printed results filed in paper charts | Results delivered electronically to EHR and patient portal | Faster access and no physical filing |
| Manual logs of corrected results | Structured status (FINAL, CORRECTED) with amendment reasons |
Supports regulatory reporting and medico-legal review |
Remaining Paper Touchpoints: Optional printed result copies for external providers or patients who request paper; controlled and logged.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
lab_results / lab_result_components |
Results with status PENDING_REVIEW, AUTO_VERIFIED, or PRELIMINARY |
SQL SELECT via SCR-LIS-004 |
lab_reference_ranges |
Reference ranges for abnormal flag display | SQL SELECT |
lab_results (historical) |
Previous results for trend graph and delta check assessment | SQL SELECT |
lab_qc_records |
QC status and Westgard rule compliance for analyzer/test | SQL SELECT |
lab_critical_values |
Critical value thresholds by test, age group, gender | SQL SELECT |
| EHR / Patient Chart | Patient age, gender, diagnosis (ICD-10-AM), location, medications | patients, encounters, medication_orders tables |
| Lab Technologist / Pathologist | Verification decision, edits, interpretive comments | Manual entry via SCR-LIS-004 |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
lab_results |
Updated status (FINAL), verified_by, verified_datetime, is_critical flag |
SQL UPDATE |
lab_result_components |
Updated values/flags if corrected | SQL UPDATE |
lab_orders / lab_order_tests |
Status updates (COMPLETED / FINAL) |
SQL UPDATE |
| CPOE / EHR | Final/preliminary results for patient chart and provider inbox | HL7 ORU^R01 / FHIR DiagnosticReport + Observation (INT-LIS-001, INT-LIS-003) |
| NABIDH / Malaffi | Final results with LOINC-coded observations | HL7 ORU^R01 (INT-LIS-004, INT-LIS-005) |
| Billing & Claims | Charge capture for billable tests | HL7 DFT^P03 / Internal API (INT-LIS-006) |
lab_critical_notifications |
Critical notification record (if is_critical = true) |
SQL INSERT → triggers WF-LIS-005 |
| Notification Service | Provider alert for new results | Internal messaging |
Post-conditions:
- Results verified with status
FINALand full audit trail (who verified, when, any edits) - Results distributed to ordering provider via EHR and to HIE (NABIDH/Malaffi)
- If critical value detected, WF-LIS-005 triggered
- Charge capture sent to billing for billable tests
- All tests in order finalised → order status updated to
COMPLETED
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| STAT result verification | < 30 minutes from result capture | Alert Lab Supervisor at 30 min | lab_results.verified_datetime minus lab_results.created_at |
| Routine result verification | < 4 hours from result capture | Alert at 4 h | Same as above |
| Result transmission to EHR | < 30 seconds after verification | Alert IT if > 2 min | integration_message_log.sent_datetime |
| HIE submission (NABIDH/Malaffi) | < 5 minutes after final verification | Alert integration team at 10 min | integration_message_log.sent_datetime |
| Charge capture trigger | < 1 minute after verification | Alert if billing queue backlog > 5 min | Billing message timestamp |
| Corrected result re-distribution | < 5 minutes after correction | Alert if delayed | Corrected message sent timestamp |
State Transition Diagram
WF-LIS-005: Critical Value Notification
Process Flow
Actor: Lab Technologist, Ordering Physician, Nurse
Trigger: Result meets critical value threshold
Pre-conditions:
lab_results.is_critical = truebased onlab_critical_values- Responsible provider identified (ordering or covering provider)
- Notification channels configured (in-app, SMS, phone, escalation rules)
-
Identify Critical Result - During auto-validation or verification (WF-LIS-003/004), LIS compares result to
lab_critical_valuesthresholds by test, age group, and gender. - If critical,lab_results.is_critical = true. -
Create Critical Notification Record - Insert into
lab_critical_notifications:notification_id,result_id,critical_value,notifying_tech_id,target_provider_id,notification_method = 'IN_APP',sent_datetime = now(),escalation_level = 0,read_back_confirmed = false.
-
Generate In-App Alert - Notification service sends alert to responsible provider’s inbox and, optionally, nurse station dashboard. - EHR displays high-priority banner for the patient.
-
Start Escalation Timer - LIS starts a 15-minute timer for acknowledgment. - Timer metadata stored in
lab_critical_notifications(or related scheduler). -
Check Acknowledgment at 15 Minutes - IF
acknowledged_datetimeis still null after 15 minutes:escalation_level = 1.notification_methodupdated to includeSMSor phone call.- Technologist is prompted to call provider; call details recorded.
-
Second Escalation at 30 Minutes - IF still not acknowledged after 30 minutes:
escalation_level = 2.- Notification escalated to department head/on-call consultant.
- Additional SMS/phone calls triggered; all attempts logged.
-
Provider Acknowledgment - When provider (or delegate) opens alert:
- They click “Acknowledge” in Critical Value Alert Manager (SCR-LIS-007).
acknowledged_datetimeandacknowledged_byrecorded.
-
Read-Back Verification - System prompts technologist to document read-back:
- Provider repeats critical value; technologist confirms.
read_back_confirmed = trueand timestamp recorded.
-
Close Notification - Notification status set to “Completed”. - Result remains accessible in EHR; critical flag visible in result history.
Data Modified:
lab_results— UPDATE (is_critical already set; may store link to notification)lab_critical_notifications— INSERT/UPDATE (acknowledgment, escalation, read-back)- Notification logs (in notification service) — INSERT
Mermaid Flowchart
Decision Points
-
Critical Threshold - IF result value outside
critical_low/critical_highfor test and age group
THEN mark as critical and start notification workflow. -
Acknowledgment Timers - IF not acknowledged within 15 minutes
THEN escalate to SMS/phone. - IF not acknowledged within 30 minutes
THEN escalate to department head. -
Read-Back Requirement - IF facility policy requires read-back for this test (e.g., potassium, INR, troponin)
THEN system enforces read-back documentation before closing notification.
Integration Points
| Target Module/System | Direction | Data | Protocol | Trigger |
|---|---|---|---|---|
ehr-patient-mgmt / CPOE |
Outbound | Critical alert to provider inbox | Internal messaging / API | On critical notification creation |
| Notification Service | Outbound | In-app, SMS, phone call triggers | Internal API / SMS gateway | On escalation levels |
ehr-patient-mgmt |
Read-only | Provider on-call schedules, contact details | Internal API | To determine escalation targets |
Exception Handling
- Incorrect Provider Mapping
- If responsible provider not found, LIS falls back to on-call provider for department.
-
Incident logged; master data corrected.
-
Notification Channel Failure (SMS/Phone)
- System retries and logs failures.
-
If all channels fail, on-screen alert for lab supervisor to intervene manually.
-
PDPL Considerations
- SMS content minimized (no full diagnosis; only “Critical lab result for patient in [Unit] – please log into HIS”).
- Full result details only accessible within secure HIS.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper critical value logbooks | Structured lab_critical_notifications records |
Supports KPI “Critical Value Notification Compliance” and audits |
| Phone calls without documentation | In-system alerts with logged timestamps and methods | Demonstrable compliance with MOH/DOH/DHA expectations |
| Manual read-back notes on paper | Read-back checkbox and timestamp in system | Standardized documentation and reporting |
Remaining Paper Touchpoints: None — all critical notification documentation is digital; phone calls still occur but are documented in-system.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
lab_results |
Result with is_critical = true based on lab_critical_values thresholds |
SQL SELECT |
lab_critical_values |
Critical thresholds by test code, age group, gender | SQL SELECT |
providers / Scheduling |
Ordering provider, covering provider, on-call roster | providers, on_call_schedules tables |
| Configuration | Escalation rules (timers, channels, read-back requirements) | System configuration |
| Notification Service | Delivery status (sent, delivered, failed) | In-app / SMS / phone callback |
| Acknowledging Provider | Acknowledgement action and read-back confirmation | Manual in-app action |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
lab_critical_notifications |
Notification record with method, timestamps, escalation level, read-back status | SQL INSERT/UPDATE |
| Ordering Provider | In-app alert, SMS, phone call trigger | Multi-channel notification |
| Escalation Contacts | Department head / on-call consultant alerts (if escalated) | Multi-channel notification |
| EHR | High-priority patient banner for critical result | Internal messaging / API |
radiology_quality_metrics |
Critical value notification compliance metrics | SQL INSERT/UPDATE |
Post-conditions:
- Critical value communicated to responsible provider with documented acknowledgement
- Read-back confirmation captured where required by facility policy
- All timestamps and methods recorded for regulatory compliance and KPI tracking
- If unacknowledged after max escalation, non-compliance event logged
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Critical detection to first notification | < 1 minute | Alert IT if notification service delayed > 2 min | lab_critical_notifications.sent_datetime |
| Provider acknowledgement (Level 0 — in-app) | < 15 minutes | Escalate to SMS/phone at 15 min | lab_critical_notifications.acknowledged_datetime |
| Escalation Level 1 (SMS/phone) | < 30 minutes from initial send | Escalate to department head at 30 min | lab_critical_notifications.escalation_level |
| Maximum acknowledgement window | < 45–60 minutes (configurable) | Mark as non-compliant; notify Quality/Safety | lab_critical_notifications.escalation_level = max |
| Read-back documentation | < 5 minutes after acknowledgement | Prompt technologist to complete | lab_critical_notifications.read_back_confirmed |
WF-LIS-006: Microbiology Culture & Sensitivity
Process Flow
Actor: Microbiology Technologist, Microbiologist
Trigger: Culture specimen received and plated
Pre-conditions:
- Specimen accepted in
lab_specimenswith appropriatespecimen_type(e.g., blood, urine, sputum) - Microbiology tests in
lab_order_testswithlab_section = 'MICROBIOLOGY' - Incubators and media configured in analyzer/micro systems
-
Specimen Receipt in Microbiology - Micro technologist selects specimen from microbiology worklist. - Confirms specimen type and test requested (e.g., blood culture, urine culture).
-
Plating and Setup - Technologist plates specimen onto appropriate media. - Records
plating_datetime,media_type, andincubation_conditionsinlab_micro_cultureswithgrowth_status = 'INCUBATING'. -
Incubation - Specimen incubated per protocol (time, temperature, atmosphere). - LIS tracks expected read times (e.g., 24h, 48h, 72h) and adds to worklist.
-
Interim Reading - At scheduled intervals, technologist opens SCR-LIS-005 (Microbiology Workbench). - Records interim observations:
- No growth, scant growth, colony morphology, gram stain results.
- Interim results may be released as
PRELIMINARYinlab_results/lab_result_components.
-
Organism Identification - When growth observed:
growth_statusupdated toGROWTH_DETECTED.- Organism identification performed (e.g., MALDI-TOF, biochemical tests).
lab_micro_culturesupdated with:organism_code_snomed,organism_name,colony_count,identification_method,identified_by,identified_datetime.
-
Antibiotic Susceptibility Testing (AST) - AST performed per CLSI/EUCAST guidelines. - For each antibiotic:
- Insert into
lab_micro_sensitivities: sensitivity_id,culture_id,antibiotic_code,antibiotic_name,mic_value,interpretation(S/I/R),testing_method.
- Insert into
-
Cascade Reporting & Stewardship Rules - LIS applies antimicrobial stewardship rules:
- Cascade reporting: hide broad-spectrum antibiotics if narrow-spectrum options are effective.
- Suppress non-recommended combinations.
- Microbiologist can override suppression if clinically justified.
-
Result Compilation - LIS compiles organism ID and susceptibility matrix into
lab_resultsandlab_result_components:- Organism as one component.
- Each antibiotic susceptibility as separate components.
-
Microbiologist Review & Approval - Microbiologist reviews culture timeline, organism, sensitivities, and stewardship rules. - Adds interpretive comments (e.g., “ESBL-producing E. coli – avoid cephalosporins”). - Sets
lab_results.result_status = 'FINAL'. -
Release & Integration
- Results sent to EHR/CPOE and HIEs (NABIDH/Malaffi) as
DiagnosticReportwith coded organisms (SNOMED) and antibiotics. - PIS (Pharmacy) receives culture/sensitivity data via INT-LIS-007 for stewardship review and correlation with current antimicrobial orders.
- Results sent to EHR/CPOE and HIEs (NABIDH/Malaffi) as
Data Modified:
lab_micro_cultures— INSERT/UPDATElab_micro_sensitivities— INSERT/UPDATElab_results— INSERT/UPDATE (preliminary and final)lab_result_components— INSERT/UPDATElab_orders,lab_order_tests— UPDATE (status)- Antibiogram aggregates (outside scope here) — UPDATE periodically
Mermaid Flowchart
Decision Points
-
Growth Detection - IF no growth at interim read
THEN continue incubation or finalize as “No growth” at final time point. - IF growth detected
THEN proceed to organism identification and AST. -
Cascade Reporting - IF narrow-spectrum antibiotic is susceptible
THEN suppress broad-spectrum antibiotics from default report unless overridden. -
Stewardship Overrides - IF microbiologist overrides cascade suppression
THEN justification must be recorded (e.g., allergy to narrow-spectrum agent).
Integration Points
| Target Module/System | Direction | Data | Protocol | Trigger |
|---|---|---|---|---|
cpoe / EHR |
Outbound | Interim and final micro results | HL7 ORU^R01 / FHIR DiagnosticReport |
On preliminary/final result |
| PIS (Pharmacy) | Bidirectional | Culture/sensitivity results; current antimicrobial orders | Internal API (INT-LIS-007) | On finalization / periodic updates |
| NABIDH / Malaffi | Outbound | Final micro results with SNOMED organisms | HL7 v2.5.1 | On finalization |
Exception Handling
- Contamination Suspected
- Microbiologist may mark culture as “Contaminant”; result comments reflect this.
-
Repeat culture may be recommended; new order may be requested.
-
Mixed Flora / Multiple Organisms
- LIS supports multiple
lab_micro_culturesper specimen. -
Reporting rules handle complex interpretations.
-
AST Failure
-
If AST fails (e.g., technical issues), LIS records failure and may:
- Repeat AST.
- Send isolate to reference lab (triggers WF-LIS-007).
-
PDPL Considerations
- Organism and antibiotic data are clinical data; access restricted to treating team.
- Aggregated antibiogram reports use de-identified data.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper culture worksheets tracking daily reads | Microbiology workbench with timeline and status | Reduces missed reads and improves traceability |
| Handwritten sensitivity tables | Structured lab_micro_sensitivities and matrix display |
Enables automated antibiogram generation and stewardship analytics |
| Faxed culture reports to wards | Electronic delivery to EHR and PIS | Faster therapy optimization and reduced antibiotic misuse |
Remaining Paper Touchpoints: External reference lab AST reports may arrive on paper/PDF but are transcribed/scanned into LIS; this is covered under WF-LIS-007.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
lab_specimens |
Accepted microbiology specimen (blood, urine, sputum, wound, etc.) | SQL SELECT |
lab_order_tests |
Micro tests ordered (culture, sensitivity) | SQL SELECT |
| Lab Technologist | Plating details, media type, incubation conditions | Manual entry via SCR-LIS-005 |
| Lab Technologist | Interim observations (growth status, gram stain, colony morphology) | Manual entry via SCR-LIS-005 |
| Identification System | Organism identification (MALDI-TOF, biochemical) with SNOMED coding | Instrument interface / manual entry |
| AST System | Antibiotic susceptibility results (MIC, S/I/R interpretation) | Instrument interface / manual entry |
| Master Data | CLSI/EUCAST breakpoints, cascade reporting rules, stewardship rules | Configuration tables |
| PIS (Pharmacy) | Active antimicrobial orders for patient (for stewardship correlation) | Internal REST API (INT-LIS-007) |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
lab_micro_cultures |
Culture record (plating, growth status, organism ID, identification method) | SQL INSERT/UPDATE |
lab_micro_sensitivities |
Sensitivity results per antibiotic (MIC, S/I/R, testing method) | SQL INSERT |
lab_results / lab_result_components |
Compiled organism and sensitivity matrix as result components | SQL INSERT/UPDATE |
| CPOE / EHR | Interim and final micro results | HL7 ORU^R01 / FHIR DiagnosticReport |
| NABIDH / Malaffi | Final micro results with SNOMED-coded organisms | HL7 ORU^R01 (INT-LIS-004, INT-LIS-005) |
| PIS (Pharmacy) | Culture/sensitivity results for stewardship review | Internal REST API (INT-LIS-007) |
| Antibiogram | Aggregated susceptibility data for periodic antibiogram generation | Batch aggregation |
Post-conditions:
- Culture timeline fully documented from plating through final result
- Organism identified and coded (SNOMED CT) with antibiotic susceptibility matrix
- Cascade reporting and stewardship rules applied (with documented overrides if any)
- Results released to EHR, HIE, and PIS for antimicrobial therapy correlation
- Microbiologist interpretive comments attached to results
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Specimen plating | < 2 hours from receipt in microbiology | Alert Micro Supervisor at 2 h | lab_micro_cultures.plating_datetime |
| Interim read (24h / 48h / 72h) | Per protocol schedule (within 2 hours of scheduled read) | Alert if read overdue by > 2 h | Interim observation timestamps |
| Organism identification | < 4 hours after growth detected (MALDI-TOF) | Alert at 4 h | lab_micro_cultures.identified_datetime |
| AST completion | < 24 hours after organism ID (routine) | Alert at 24 h | Sensitivity result timestamps |
| Microbiologist review and finalization | < 4 hours after AST complete | Alert at 4 h | lab_results.verified_datetime |
| Result release to EHR/PIS | < 5 minutes after finalization | Alert IT if delayed | Integration message timestamp |
WF-LIS-007: Reference Lab Send-Out
Process Flow
Actor: Lab Technologist, Senior Lab Technologist, Lab Supervisor
Trigger: Test not performed in-house (esoteric testing)
Pre-conditions:
lab_order_testswithlab_section = 'SEND_OUT'or flagged as send-out- Reference laboratory directory configured (master data)
- Contracted logistics/courier services available
-
Identify Send-Out Test - LIS flags tests that are designated as send-out in the test catalog. - These appear in SCR-LIS-009 (Reference Lab Send-Out Tracker) with pending status.
-
Prepare Specimen - Technologist ensures specimen meets reference lab requirements:
- Correct tube type, volume, storage temperature.
- Specimen details recorded in
lab_specimens(if not already).
-
Select Reference Lab - User selects appropriate reference lab from master directory based on test and payer contract. -
reference_lab_idandreference_lab_namecaptured. -
Generate Send-Out Manifest - LIS generates manifest including:
- Patient identifiers (minimum necessary), test details, specimen ID, and destination.
- Barcoded tracking number created.
-
Create Send-Out Order Record - Insert into
lab_sendout_orders:sendout_id,order_test_id,reference_lab_id,reference_lab_name,shipped_datetime(when shipped),tracking_number,expected_tat_days,status = 'PENDING_SHIPMENT'.
-
Pack and Ship Specimen - Specimen packaged per biosafety and transport regulations. - Courier tracking number recorded;
shipped_datetimeset;status = 'IN_TRANSIT'. -
Monitor Turnaround Time - LIS tracks elapsed time vs
expected_tat_days. - Overdue send-outs flagged withoverdue_flagin SCR-LIS-009. -
Receive Results from Reference Lab - Results received via:
- HL7 v2.x, secure file transfer, or manual entry from PDF/fax.
- Results mapped to internal test codes and LOINC.
-
Enter/Import Results - For electronic results:
- Interface parses and populates
lab_resultsandlab_result_components. - For manual results:
- Technologist enters values, units, and reference ranges into LIS.
result_received_datetimeset;status = 'RESULT_RECEIVED'.
- Interface parses and populates
-
Verify and Release
- Senior technologist or pathologist verifies send-out results.
lab_results.result_status = 'FINAL'.- Results released to EHR/CPOE;
lab_sendout_orders.status = 'COMPLETED'.
Data Modified:
lab_sendout_orders— INSERT/UPDATElab_specimens— UPDATE (chain of custody, storage, disposal)lab_results— INSERT/UPDATElab_result_components— INSERT/UPDATElab_order_tests— UPDATE (status)lab_orders— UPDATE (order_status)
Mermaid Flowchart
Decision Points
-
Reference Lab Selection - IF multiple labs can perform test
THEN choose based on payer contract, TAT, and cost. -
Result Import Method - IF electronic HL7/file interface available
THEN auto-import; ELSE manual entry required. -
Overdue Send-Out - IF current date >
shipped_datetime + expected_tat_days
THEN flag as overdue and prompt follow-up with reference lab.
Integration Points
| Target Module/System | Direction | Data | Protocol | Trigger |
|---|---|---|---|---|
| Reference Laboratories | Bidirectional | Orders, manifests, results | HL7 v2.x / secure file transfer / payer-specific | On shipment / result availability |
| Billing & Claims | Outbound | Send-out charges (including reference lab fees) | Internal API / HL7 DFT^P03 |
On result verification |
policy-contract-mgmt |
Read-only | Payer contracts and preferred reference labs | Internal API | On reference lab selection |
Exception Handling
- Lost Specimen
-
If courier reports loss:
lab_sendout_orders.status = 'LOST'.- Provider notified; recollection requested.
-
Result Discrepancies
-
If reference lab result conflicts with clinical picture:
- Pathologist may request repeat testing or second opinion.
- LIS records comments and additional orders.
-
PDPL Considerations
- Only necessary identifiers sent to reference labs; data sharing agreements must comply with UAE PDPL.
- Cross-border data transfers (if reference lab outside UAE) must follow PDPL cross-border transfer rules.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper send-out requisition forms | Electronic send-out orders and manifests | Reduces errors and improves tracking |
| Manual spreadsheets tracking send-out TAT | lab_sendout_orders with status and TAT fields |
Enables KPI “Send-Out TAT Compliance” |
| Faxed reference lab reports filed in charts | Electronic import or structured manual entry into LIS | Centralized access and analytics |
Remaining Paper Touchpoints: Physical packaging and courier paperwork may remain partially paper-based due to external courier requirements.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
lab_order_tests |
Tests flagged as send-out in test catalog | SQL SELECT via SCR-LIS-009 |
lab_specimens |
Collected specimen with accession and storage details | SQL SELECT |
| Master Data | Reference laboratory directory (labs, contracts, TAT, requirements) | reference_lab_directory configuration |
| Master Data | Specimen packaging, storage, and transport requirements per test | lab_test_catalog table |
| Policy & Contract Mgmt | Payer contracts and preferred reference labs | payer_contracts table |
| Reference Lab | Results (electronic or manual) with test values and reference ranges | HL7 v2.x / SFTP / PDF (INT-LIS-008) |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
lab_sendout_orders |
Send-out record (reference lab, tracking number, shipped datetime, status, TAT) | SQL INSERT/UPDATE |
| Reference Lab | Electronic order/requisition and specimen manifest | HL7 ORM^O01 / SFTP (INT-LIS-008) |
lab_results / lab_result_components |
Imported or manually entered reference lab results | SQL INSERT/UPDATE |
lab_order_tests / lab_orders |
Status updates (SEND_OUT_IN_TRANSIT, RESULT_RECEIVED, FINAL) |
SQL UPDATE |
| CPOE / EHR | Final results released to patient chart and provider inbox | HL7 ORU^R01 / FHIR DiagnosticReport |
| Billing & Claims | Send-out charges including reference lab fees | HL7 DFT^P03 / Internal API (INT-LIS-006) |
Post-conditions:
- Send-out order fully tracked from shipment to result receipt
- Reference lab results imported and verified by senior technologist/pathologist
- Results released to EHR/CPOE and billing
- Send-out TAT compliance metrics captured for KPI reporting
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Specimen preparation and packaging | < 2 hours from send-out identification | Alert Lab Supervisor at 2 h | lab_sendout_orders.prepared_datetime |
| Specimen shipment | Same day (or next business day for non-urgent) | Alert if not shipped within 24 h | lab_sendout_orders.shipped_datetime |
| TAT monitoring (routine) | Per test-specific expected TAT (typically 3–10 days) | Flag overdue + follow-up with reference lab | lab_sendout_orders.expected_tat_days vs current date |
| Result receipt to verification | < 4 hours after result received | Alert Senior Tech at 4 h | lab_results.verified_datetime minus result_received_datetime |
| Result release to EHR | < 30 seconds after verification | Alert IT if > 2 min | Integration message timestamp |
WF-LIS-008: Quality Control (QC) Management
Process Flow
Actor: Lab Technologist, QC Officer, Lab Supervisor
Trigger: Shift start, new reagent lot, analyzer maintenance, periodic schedule
Pre-conditions:
- Analyzers configured in
lab_analyzersandlab_analyzer_interfaces - QC materials and expected ranges defined
- Westgard rules configured in master data
-
Schedule QC Runs - LIS maintains QC schedule per analyzer/test (e.g., every 8 hours, per new lot). - Upcoming QC tasks appear on QC Dashboard (SCR-LIS-008).
-
Run QC on Analyzer - Technologist loads QC materials and runs tests. - Analyzer sends QC results to LIS via interface or technologist enters manually.
-
Record QC Results - For each QC result:
- Insert into
lab_qc_records: qc_id,analyzer_id,test_code,control_level,control_lot,observed_value,expected_mean,expected_sd,run_datetime,technologist_id.
- Insert into
-
Apply Westgard Rules - LIS calculates deviation from mean and applies configured Westgard rules (1-2s, 1-3s, 2-2s, R-4s, etc.). -
westgard_rule_violatedandqc_status(IN_CONTROL/OUT_OF_CONTROL) set. -
QC Status Feedback - QC status displayed on QC Dashboard and analyzer worklists. - If
OUT_OF_CONTROL, LIS:- Blocks auto-verification for affected tests.
- Flags patient results for review.
-
Corrective Actions - Technologist investigates (e.g., recalibration, reagent replacement). - Corrective actions documented in
lab_qc_records.corrective_action. -
Re-Run QC - After corrective action, QC is re-run. - If new QC results are
IN_CONTROL, LIS:- Allows auto-verification to resume.
- Marks time window of invalid QC for review of patient results if needed.
-
Levey-Jennings Charts & Trend Review - QC Officer uses SCR-LIS-008 to view Levey-Jennings charts and trends. - Monthly review performed; lab director sign-off recorded.
Data Modified:
lab_qc_records— INSERT/UPDATElab_analyzers— UPDATE (e.g.,last_maintenance_date)lab_results— READ/UPDATE (flags if QC out-of-control affects results)
Mermaid Flowchart
Decision Points
-
QC In/Out of Control - IF Westgard rule violated
THENqc_status = 'OUT_OF_CONTROL'and auto-verification blocked. -
Corrective Action Adequacy - IF repeated QC runs remain out-of-control
THEN analyzer/test taken offline; lab supervisor notified. -
Retrospective Review - IF QC failure discovered after patient results released
THEN LIS identifies affected results for potential review/correction.
Integration Points
| Target Module/System | Direction | Data | Protocol | Trigger |
|---|---|---|---|---|
| Lab Analyzers | Bidirectional | QC results | ASTM/HL7/serial | On QC run |
| LIS Result Engine | Internal | QC status | DB | On auto-validation |
| Management Reporting | Outbound | QC performance metrics | Internal reporting | Monthly review |
Exception Handling
- Missing QC Data
- If analyzer fails to send QC data, LIS prompts manual entry.
-
Auto-verification disabled until QC recorded.
-
Analyzer Misconfiguration
-
If analyzer/test not linked to QC configuration, LIS warns QC Officer to configure before allowing patient testing.
-
PDPL Considerations
- QC data generally non-identifiable; however, user IDs and timestamps are still protected and audited.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper QC logs and charts | Electronic lab_qc_records and Levey-Jennings charts |
Easier trend analysis and regulatory reporting |
| Manual documentation of corrective actions | Structured corrective action fields | Supports accreditation and inspections |
| Ad-hoc QC reviews | Scheduled dashboards and monthly sign-off | Improves oversight and compliance |
Remaining Paper Touchpoints: None for QC documentation; QC material packaging remains physical.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| QC Schedule | Upcoming QC tasks by analyzer, test, and schedule (shift, lot change, maintenance) | System configuration / SCR-LIS-008 |
| Lab Analyzer | QC run results (observed values, control level, flags) | ASTM / HL7 interface / manual entry (INT-LIS-002) |
| Master Data | QC material definitions (control lot, expected mean, expected SD) | lab_qc_materials configuration |
| Master Data | Westgard rules configuration (1-2s, 1-3s, 2-2s, R-4s, etc.) | Rule engine configuration |
| Lab Technologist | Manual QC values (if analyzer interface unavailable), corrective action documentation | Manual entry via SCR-LIS-008 |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
lab_qc_records |
QC result record (observed value, mean, SD, Westgard status, corrective action) | SQL INSERT/UPDATE |
lab_analyzers |
Updated maintenance/calibration dates | SQL UPDATE |
| Auto-Validation Engine | QC status (IN_CONTROL / OUT_OF_CONTROL) affecting result auto-verification |
Internal rule evaluation |
lab_results |
Flagged results for review if QC out-of-control during result window | SQL UPDATE (flags) |
| QC Dashboard | Levey-Jennings charts, trend graphs, compliance indicators | SCR-LIS-008 display |
| Management Reporting | QC performance metrics, monthly review sign-offs | Internal reporting |
Post-conditions:
- QC results recorded with Westgard rule evaluation
- If in control: auto-verification enabled for affected tests
- If out of control: auto-verification blocked; corrective action documented; affected patient results flagged for review
- Levey-Jennings charts updated for trend monitoring
- Monthly QC review and lab director sign-off tracked
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| QC run completion per schedule | Within scheduled window (e.g., shift start, new lot) | Alert QC Officer if overdue by > 30 min | lab_qc_records.run_datetime vs schedule |
| Westgard rule evaluation | < 5 seconds after QC result capture | Alert IT if processing delayed | Rule evaluation timestamp |
| Corrective action for out-of-control | < 1 hour | Alert Lab Supervisor at 1 h; escalate to Lab Director at 4 h | Corrective action timestamp |
| Re-run QC after corrective action | < 30 minutes after corrective action completed | Alert QC Officer | Next QC run timestamp |
| Monthly QC review sign-off | By 5th business day of following month | Alert Lab Director if overdue | Sign-off timestamp |
These workflows collectively support a fully digital, UAE-compliant laboratory environment, tightly integrated with CPOE, EHR, Billing, and national HIE platforms (NABIDH/Malaffi), while ensuring adherence to UAE PDPL and local regulatory expectations.