CPOE Workflows
This document defines eight core workflows for the Computerized Provider Order Entry (CPOE) module. Each workflow includes process steps, actors, decision points, integration hooks, exception handling, and the paperless transformation achieved by the HIS.
Regulatory context: UAE Federal Decree-Law No. 30/2021 (controlled substances), MOH Unified Electronic Platform (UEP), NABIDH/Malaffi HIE connectivity, UAE PDPL data protection. See
05-integrations.mdfor technical detail.
WF-CPOE-001: Medication Order Entry
Process Flow
Actor: Physician (Attending, Resident, NP/PA) Trigger: Active encounter in progress — inpatient admission, ED visit, or outpatient appointment Pre-conditions: Patient identified (Emirates ID / MRN), encounter open, allergy list reviewed
- Physician opens CPOE from the patient chart and searches for medication by generic name, brand name, indication, or clinical problem.
- System displays results prioritised by: - Formulary status (preferred → non-preferred → not on formulary) - Provider's prescribing history - Evidence-based order sets for the patient's active diagnoses
- Physician selects medication and strength.
- System auto-populates a default dose based on: - Patient age: Paediatric dosing for patients < 18 years (mg/kg) - Patient weight: Weight-based dosing when available - Renal function: eGFR-adjusted dose if CrCl < 60 mL/min - Indication: Diagnosis-specific dosing ranges
- Clinical Decision Support (CDS) fires sequentially: - a. Drug–allergy interaction check → if alert, display severity-graded warning - b. Drug–drug interaction check → if alert, display interaction with recommended action - c. Dose-range validation → if out of range, require justification - d. Duplicate therapy check → if same class active, display active medication - e. Renal dosing check → if eGFR-adjusted dose differs, suggest adjustment - f. Formulary check → if non-formulary, display Tier 1 alternatives with cost comparison
- Physician enters / confirms order details: dose, route, frequency, duration, PRN indication (if applicable), priority (Routine / STAT / ASAP / Today), special instructions.
- System validates completeness and displays order summary.
- Physician signs order electronically (Tier 2 Advanced E-Signature per Federal Decree-Law No. 46/2021).
- If the medication is a controlled substance → route to WF-CPOE-008 for UEP submission before transmission.
- System transmits signed order to:
- Pharmacy Information System (HL7
ORM^O01or FHIRMedicationRequest) - Medication Administration Record (MAR)
- Patient's active orders list
- Billing / charge capture
- Pharmacy Information System (HL7
- System receives pharmacy acknowledgement and updates order status.
Data Modified:
medication_orders— INSERTclinical_alerts— INSERT (one row per CDS alert fired)order_audit_log— INSERTpending_pharmacy_queue— INSERT
Integration Points
| Target System | Direction | Trigger | Protocol | Reference |
|---|---|---|---|---|
| PIS (Pharmacy) | Outbound | Order signed | HL7 ORM^O01 / FHIR MedicationRequest |
INT-CPOE-001 |
| CDS Engine | Internal | Medication selected | FHIR CDS Hooks | INT-CPOE-004 |
| MAR | Internal | Order signed | DB update | — |
| Billing | Outbound | Order signed | Charge message | — |
| MOH UEP | Outbound | Controlled substance | REST API | INT-CPOE-007 |
Exception Handling
- Network failure during transmission: Order saved locally in retry queue; exponential backoff (30 s → 1 min → 2 min → 5 min); after 4 failures, alert user and flag for manual escalation to pharmacy.
- Hard-stop CDS alert (contraindicated): Order cannot proceed; physician must select an alternative or obtain co-signature from a second attending.
- Formulary restriction: Display preferred alternatives; allow non-formulary ordering with justification and prior-authorisation trigger if insured.
- Patient allergy list incomplete: System displays warning — "Allergy review required" — and requires physician attestation before signing.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Handwritten prescription pad | Electronic order entry with structured fields and e-signature | Eliminates legibility errors; enables real-time CDS |
| Paper medication chart at bedside | MAR on bedside terminal / mobile device | Real-time updates; barcode verification at administration |
| Phone / fax to pharmacy | HL7 ORM^O01 auto-transmitted on signing |
Sub-second delivery; eliminates lost or delayed orders |
| Paper override justification form | In-app override reason capture in order_audit_log |
100% audit trail; no missing forms |
| Physical signature on prescription | Tier 2 advanced e-signature | Non-repudiation; timestamped; linked to provider credential |
Remaining Paper Touchpoints: Patient may receive printed discharge medication instructions if they opt out of portal access.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| EHR / Patient Chart | Patient demographics (MRN, Emirates ID, age, weight) | patients table |
| EHR / Patient Chart | Active allergy list | patient_allergies table (RxNorm coded) |
| EHR / Patient Chart | Active medication list | medication_orders WHERE status = 'active' |
| EHR / Patient Chart | Recent lab results (eGFR, CrCl) | lab_results table (LOINC coded) |
| Provider | Medication selection, dose, route, frequency, duration, priority | CPOE order entry form |
| CDS Engine | Drug–allergy, DDI, dose-range, duplicate, formulary alerts | FHIR CDS Hooks response |
| Policy & Contract Mgmt | Formulary status, payer coverage rules | formulary_items, payer_contracts tables |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
medication_orders |
Complete medication order record | SQL INSERT |
| PIS (Pharmacy) | Order transmission | HL7 ORM^O01 / FHIR MedicationRequest |
| MAR | Medication administration schedule | DB INSERT into mar_schedule |
| Billing & Claims | Charge capture record | Charge message to billing queue |
clinical_alerts |
CDS alert records (one per alert fired) | SQL INSERT |
order_audit_log |
Audit trail entry | SQL INSERT |
| MOH UEP | Controlled substance submission (if applicable) | REST API (via WF-CPOE-008) |
Post-conditions:
- Medication order exists with
order_status = 'active'and valid e-signature - Pharmacy queue contains pending order for pharmacist verification
- MAR schedule generated with administration times
- All CDS alerts logged with provider response (accepted/overridden)
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Medication search to order signing | < 3 minutes (routine) | None — provider workflow | order_audit_log.created_at minus session start |
| CDS alert response time | < 2 seconds per check | If > 5s, degrade to async; alert IT | clinical_alerts.response_time_ms |
| Order transmission to PIS | < 1 second | If > 10s, retry queue; alert after 4 failures | pending_pharmacy_queue.transmitted_at |
| Pharmacy acknowledgement | < 5 minutes (STAT), < 30 minutes (Routine) | STAT: alert charge pharmacist at 5 min; Routine: alert at 30 min | medication_orders.pharmacy_ack_datetime |
| Controlled substance UEP response | < 10 seconds | If > 30s, queue; alert compliance at 30 min | medication_orders.uep_submission_datetime |
| Non-formulary prior-auth response | < 2 minutes (real-time check) | If pending > 24h, alert case manager | prior_auth_requests.response_datetime |
State Transition Diagram
WF-CPOE-002: Laboratory Order Entry
Process Flow
Actor: Physician (Attending, Resident, NP/PA) Trigger: Clinical need during active encounter Pre-conditions: Patient identified, encounter open
- Physician opens Lab Orders panel and searches by test name, LOINC code, CPT code, or clinical indication.
- System displays results grouped by: - Individual tests (Chemistry, Haematology, Microbiology, etc.) - Lab panels (BMP, CMP, CBC, Lipid Panel, LFTs) - Provider favourites and diagnosis-based order sets
- Physician selects one or more tests.
- CDS checks fire: - a. Duplicate test detection — alert if same test performed within look-back window (CBC: 24 h, HbA1c: 90 days, Lipid Panel: 30 days) - b. Pregnancy screening — for females of child-bearing age, alert if radiation-associated order or teratogenic medication context - c. Insurance / prior-authorisation check — display coverage status and required ICD-10-AM codes
- Physician enters order details: collection date/time, priority (STAT / Today / Routine), specimen type (auto-selected, overridable), clinical indication (ICD-10-AM), fasting requirement, special instructions.
- System validates and physician signs order electronically.
- System transmits to LIS via HL7
ORM^O01. - LIS assigns specimen barcode and notifies nursing / phlebotomy.
- Specimen collected → scanned → transported → received in lab.
- Results transmitted back via HL7
ORU^R01and displayed in patient chart.
Data Modified:
laboratory_orders— INSERTclinical_alerts— INSERT (if CDS fired)order_audit_log— INSERT
Integration Points
| Target System | Direction | Trigger | Protocol | Reference |
|---|---|---|---|---|
| LIS | Outbound | Order signed | HL7 ORM^O01 |
INT-CPOE-002 |
| LIS | Inbound | Result available | HL7 ORU^R01 |
INT-CPOE-002 |
| Insurance / eClaimLink | Outbound | Prior-auth needed | eClaimLink API | INT-CPOE-008 |
| NABIDH / Malaffi | Outbound | Order placed / result available | HL7 ORM^O01 / ORU^R01 |
INT-CPOE-005/006 |
Exception Handling
- Duplicate test within window: Soft-stop alert; physician can override with documented clinical reason.
- STAT lab not collected within 30 min: Escalation alert to charge nurse.
- Critical result received: System flags result, sends push notification to ordering provider, requires acknowledgement within 30 minutes (DOH/DHA critical result policy).
- Specimen rejected by lab: LIS sends rejection message; nursing re-collection triggered.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper lab requisition form | Electronic order with auto-populated barcode | Eliminates transcription errors |
| Handwritten specimen labels | System-printed barcode labels from LIS | Positive specimen identification |
| Paper result reports filed in chart | Results auto-posted to patient chart via HL7 | Immediate availability; trending |
| Phone call for critical results | In-app notification with read-receipt | Auditable critical result acknowledgement |
| Paper log for STAT lab tracking | Real-time dashboard for specimen status | Visible turnaround times |
Remaining Paper Touchpoints: None — fully digital from order to result.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| EHR / Patient Chart | Patient demographics (MRN, Emirates ID, sex, DOB) | patients table |
| EHR / Patient Chart | Active diagnoses | patient_diagnoses table (ICD-10-AM) |
| EHR / Patient Chart | Recent lab results (for duplicate detection) | lab_results table (LOINC coded) |
| Provider | Test selection, priority, specimen type, clinical indication, fasting status | CPOE lab order form |
| CDS Engine | Duplicate test detection, pregnancy screening, insurance check | FHIR CDS Hooks response |
| Policy & Contract Mgmt | Insurance coverage, prior-auth requirements | payer_contracts, coverage_rules tables |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
laboratory_orders |
Complete lab order record | SQL INSERT |
| LIS | Order transmission with specimen requirements | HL7 ORM^O01 / FHIR ServiceRequest |
| Billing & Claims | Charge capture with CPT/ICD-10-AM codes | Charge message |
clinical_alerts |
CDS alert records | SQL INSERT |
order_audit_log |
Audit trail entry | SQL INSERT |
| NABIDH / Malaffi | Order notification to HIE | HL7 ORM^O01 |
Post-conditions:
- Lab order exists with
order_status = 'active'and valid e-signature - LIS has received order and assigned specimen barcode
- Nursing/phlebotomy notified for specimen collection
- Charge captured for billing
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Order signing to LIS transmission | < 1 second | Retry queue if failed; alert after 4 attempts | laboratory_orders.transmitted_at |
| STAT specimen collection | < 30 minutes from order | Alert charge nurse at 30 min | specimen_tracking.collection_datetime |
| Routine specimen collection | < 2 hours from order | Alert charge nurse at 2 h | specimen_tracking.collection_datetime |
| STAT result turnaround | < 1 hour from specimen receipt | Alert lab supervisor at 1 h | lab_results.resulted_datetime |
| Routine result turnaround | < 4 hours from specimen receipt | Alert lab supervisor at 4 h | lab_results.resulted_datetime |
| Critical result acknowledgement | < 30 minutes from result | Escalate to dept chair at 30 min (DOH/DHA policy) | critical_result_acks.acknowledged_at |
State Transition Diagram
WF-CPOE-003: Imaging / Radiology Order Entry
Process Flow
Actor: Physician (Attending, Resident, NP/PA) Trigger: Clinical need during active encounter Pre-conditions: Patient identified, encounter open
- Physician searches by imaging modality + body part (e.g., "CT head without contrast").
- System displays matching exams with ACR Appropriateness Criteria scores where available.
- Physician selects exam.
- CDS checks fire: - a. Appropriateness criteria — if "usually not appropriate", display recommendation and evidence - b. Contrast safety — if contrast-enhanced: check eGFR (iodinated: CIN risk if < 60), check allergy list (iodine, gadolinium) - c. Pregnancy screening — for radiation-based studies in females of child-bearing age - d. Cumulative radiation dose — alert if projected annual dose exceeds threshold (> 50 mSv)
- Physician enters order details: exam protocol (with/without contrast, specific views), clinical indication (ICD-10-AM + free-text clinical question), priority, scheduled date/time, portable vs. department, pregnancy status attestation.
- System validates and physician signs order electronically.
- System transmits to RIS via HL7
ORM^O01; DICOM modality worklist updated. - RIS schedules exam; patient transported or portable imaging arranged.
- Images acquired, stored in PACS.
- Radiologist interprets and signs report.
- Report transmitted back via HL7
ORU^R01and displayed in patient chart.
Data Modified:
imaging_orders— INSERTclinical_alerts— INSERT (if CDS fired)order_audit_log— INSERT
Integration Points
| Target System | Direction | Trigger | Protocol | Reference |
|---|---|---|---|---|
| RIS | Outbound | Order signed | HL7 ORM^O01 |
INT-CPOE-003 |
| DICOM Worklist | Outbound | Order signed | DICOM MWL | INT-CPOE-003 |
| PACS | Inbound | Images acquired | DICOM Store | — |
| RIS | Inbound | Report signed | HL7 ORU^R01 |
INT-CPOE-003 |
| NABIDH / Malaffi | Outbound | Order + Report | HL7 ORM^O01 / ORU^R01 |
INT-CPOE-005/006 |
Exception Handling
- Appropriateness criteria override: Require free-text justification; logged in
order_audit_log. - eGFR unavailable: System flags "Renal function unknown — obtain serum creatinine before contrast study"; order held pending result.
- STAT imaging not performed within target: Escalation to radiology charge technologist.
- Critical finding on imaging: Radiologist sends critical result notification; ordering provider must acknowledge within 30 minutes.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper radiology requisition | Electronic order with structured clinical question | Machine-readable for protocol selection |
| Printed films viewed on lightbox | PACS images viewable on any workstation / mobile | Instant access across departments |
| Paper radiology report filed in chart | Report auto-posted to patient chart | Structured reporting with hyperlinks to images |
| Manual radiation dose log | Automatic cumulative dose tracking per patient | Enables threshold alerting |
| Phone call for critical findings | In-app critical result notification with acknowledgement | Auditable communication loop |
Remaining Paper Touchpoints: Patients may receive printed imaging reports for external referral if the receiving facility is not on NABIDH/Malaffi.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| EHR / Patient Chart | Patient demographics, sex, DOB, pregnancy status | patients table |
| EHR / Patient Chart | Active allergies (iodine, gadolinium) | patient_allergies table |
| EHR / Patient Chart | Recent lab results (eGFR for contrast safety) | lab_results table (LOINC) |
| EHR / Patient Chart | Cumulative radiation dose history | radiation_dose_records table |
| Provider | Exam selection, protocol, clinical indication, priority, pregnancy attestation | CPOE imaging order form |
| CDS Engine | Appropriateness criteria, contrast safety, pregnancy screening, dose alerts | FHIR CDS Hooks response |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
imaging_orders |
Complete imaging order record | SQL INSERT |
| RIS | Order transmission | HL7 ORM^O01 |
| DICOM Worklist | Modality worklist entry | DICOM MWL |
| Billing & Claims | Charge capture with CPT codes | Charge message |
clinical_alerts |
CDS alert records | SQL INSERT |
order_audit_log |
Audit trail entry | SQL INSERT |
| NABIDH / Malaffi | Order notification to HIE | HL7 ORM^O01 |
Post-conditions:
- Imaging order exists with
order_status = 'active' - RIS has received order and added to scheduling worklist
- DICOM modality worklist updated for imaging equipment
- Radiation dose projection recorded if applicable
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Order signing to RIS transmission | < 1 second | Retry queue; alert after 4 attempts | imaging_orders.transmitted_at |
| STAT portable imaging | < 30 minutes from order | Alert radiology charge tech at 30 min | radiology_exams.exam_start_datetime |
| Urgent imaging scheduling | < 4 hours from order | Alert radiology scheduler at 4 h | radiology_exams.scheduled_datetime |
| Routine imaging scheduling | < 48 hours from order | Alert at 48 h | radiology_exams.scheduled_datetime |
| Preliminary report (STAT) | < 1 hour from exam completion | Alert radiologist supervisor | radiology_reports.preliminary_datetime |
| Final report turnaround | < 24 hours from exam completion | Alert radiology chief at 24 h | radiology_reports.final_sign_datetime |
| Critical finding acknowledgement | < 30 minutes from report | Escalate to dept chair (DOH/DHA policy) | critical_result_acks.acknowledged_at |
State Transition Diagram
WF-CPOE-004: Order Modification
Process Flow
Actor: Ordering provider (original) or covering provider with appropriate privileges
Trigger: Clinical reassessment, pharmacist clarification, or lab/imaging result prompting change
Pre-conditions: Active order exists in medication_orders, laboratory_orders, or imaging_orders
- Provider opens the active order from the patient's orders list.
- Provider selects "Modify Order".
- System displays current order details and editable fields.
- Provider modifies field(s): dose, frequency, route, duration, priority, special instructions.
- System re-runs CDS checks on the modified values (drug–allergy, DDI, dose-range, renal dosing, formulary).
- If CDS alerts fire, provider responds (accept recommendation, override with reason, or cancel modification).
- Provider reviews modified order summary.
- Provider re-signs order electronically (new Tier 2 e-signature required for any dose/frequency/route change).
- System: - Updates the order record with modification details and new signature - Inserts an audit log entry capturing old values, new values, modifier, and timestamp - Transmits updated order to downstream systems (Pharmacy, LIS, RIS as applicable) - Updates MAR if medication order was modified
- Downstream system acknowledges modified order.
Data Modified:
medication_orders/laboratory_orders/imaging_orders— UPDATEorder_audit_log— INSERT (withaction = 'Modified', old/new values captured)pending_pharmacy_queue— UPDATE (if medication order)
Integration Points
| Target System | Direction | Trigger | Protocol |
|---|---|---|---|
| PIS / LIS / RIS | Outbound | Modification signed | HL7 ORM^O01 (XO — change order) |
| CDS Engine | Internal | Modified values | FHIR CDS Hooks |
| MAR | Internal | Med order modified | DB update |
Exception Handling
- Order already dispensed/collected: Pharmacist / lab notified; may require new order instead of modification.
- Modification by non-ordering provider: System checks covering-provider relationship; if not authorised, modification blocked with escalation to ordering provider.
- Controlled substance modification: Any change to a CDa/CDb medication triggers re-submission to MOH UEP (WF-CPOE-008).
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Crossed-out and re-written order on paper chart | Tracked modification with old/new values in audit log | Full version history |
| Phone call to pharmacy to change order | HL7 change-order message auto-sent | Instant notification |
| Paper amendment form | Digital modification with e-signature | Non-repudiation |
Remaining Paper Touchpoints: None.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| CPOE / Active Orders | Existing order record (medication, lab, or imaging) | medication_orders / laboratory_orders / imaging_orders |
| Provider | Modified field values (dose, frequency, route, duration, priority) | CPOE modification form |
| CDS Engine | Re-evaluated alerts on modified values | FHIR CDS Hooks response |
| EHR / Patient Chart | Updated patient context (new labs, vitals) | lab_results, vital_signs tables |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
| Order table | Updated order record with new values | SQL UPDATE |
order_audit_log |
Modification audit entry (old/new values, modifier, timestamp) | SQL INSERT |
| PIS / LIS / RIS | Updated order transmission | HL7 ORM^O01 (ORC-1 = XO) |
| MAR | Updated administration schedule (if medication) | DB UPDATE |
clinical_alerts |
CDS re-check alert records | SQL INSERT |
Post-conditions:
- Order record updated with new field values and fresh e-signature
- Audit log captures old values, new values, and modification reason
- Downstream system has received and acknowledged the modified order
- MAR schedule regenerated if medication timing changed
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Modification to re-signing | < 2 minutes | None — provider workflow | order_audit_log.modified_at |
| Modified order transmission to downstream | < 1 second | Retry queue; alert after 4 failures | order_audit_log.transmitted_at |
| Downstream acknowledgement | < 5 minutes (STAT) | Alert if no ACK within 5 min | ACK timestamp in integration_message_log |
| MAR schedule update | < 30 seconds | Alert nursing if > 1 min | mar_schedule.updated_at |
Note: Order Modification transitions the parent order through the
Modified → Activepath in the state diagrams defined in WF-CPOE-001 (Medication), WF-CPOE-002 (Lab), and WF-CPOE-003 (Imaging). No separate state diagram is required.
WF-CPOE-005: Order Cancellation / Discontinuation
Process Flow
Actor: Ordering provider or pharmacist (for safety-related cancellation) Trigger: Clinical reassessment, adverse reaction, patient discharge, or duplicate order identified Pre-conditions: Active order exists
- Provider opens the active order and selects "Cancel" or "Discontinue". - Cancel: Order has not yet been acted upon (not dispensed, not collected, not performed). - Discontinue: Order is active and doses have been administered or tests performed; stop future actions.
- System prompts for: - Reason for cancellation / discontinuation (required — dropdown + free text) - Effective date/time (immediate or future)
- Provider confirms and signs electronically.
- System updates order status:
- Cancel →
order_status = 'cancelled'- Discontinue →order_status = 'discontinued',discontinue_datetimeset - Downstream notifications: - Pharmacy: cancel pending dispense / update MAR to stop future doses - LIS: cancel pending collection - RIS: cancel scheduled exam - NABIDH / Malaffi: send cancellation message
- MAR updated: future scheduled administrations removed.
- Audit log entry captured.
Data Modified:
medication_orders/laboratory_orders/imaging_orders— UPDATE (status)order_audit_log— INSERT (action = 'Cancelled' or 'Discontinued')pending_pharmacy_queue— UPDATE (status = 'Cancelled')
Exception Handling
- Medication already administered: Cannot cancel; only discontinue to stop future doses.
- Specimen already collected: LIS notified to cancel processing if not yet started; if in-process, result will be delivered normally.
- Controlled substance cancellation: Cancellation reported to MOH UEP; inventory adjustment triggered in PIS.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Verbal "cancel that order" with manual chart strike-through | Digital cancellation with reason, e-signature, and audit trail | Eliminates ambiguity about whether order is active |
| Phone call to pharmacy / lab / radiology | Automated HL7 cancellation messages | Instant multi-system notification |
| Paper discontinuation order | Structured discontinuation record with effective date/time | Prevents missed discontinuations |
Remaining Paper Touchpoints: None.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| CPOE / Active Orders | Existing active order record | medication_orders / laboratory_orders / imaging_orders |
| Provider | Cancellation/discontinuation reason, effective date/time | CPOE cancellation form (dropdown + free text) |
| EHR / Patient Context | Order fulfilment status (dispensed? collected? performed?) | Order status fields |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
| Order table | Updated order status (cancelled or discontinued) |
SQL UPDATE |
order_audit_log |
Cancellation audit entry with reason | SQL INSERT |
| PIS / LIS / RIS | Cancellation notification | HL7 ORM^O01 (ORC-1 = CA) |
| MAR | Removal of future scheduled administrations | DB UPDATE/DELETE |
| NABIDH / Malaffi | Cancellation message to HIE | HL7 cancellation |
| MOH UEP | Controlled substance cancellation report (if applicable) | REST API |
Post-conditions:
- Order status set to
cancelledordiscontinuedwith reason and e-signature - No future actions scheduled for this order (MAR cleared, collection cancelled, exam cancelled)
- Downstream systems notified and acknowledged
- Audit trail complete with cancellation reason
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Cancellation signing to downstream notification | < 1 second | Retry queue; alert after 4 failures | order_audit_log.cancelled_at |
| MAR schedule clearance | < 30 seconds | Alert nursing if > 1 min | mar_schedule.updated_at |
| Pharmacy acknowledgement of cancellation | < 5 minutes | Alert charge pharmacist at 5 min | ACK in integration_message_log |
| HIE notification (NABIDH/Malaffi) | < 5 minutes | Retry with backoff; alert interface admin | integration_message_log.sent_at |
Note: Cancellation and discontinuation transition the parent order to terminal states (
Cancelled,Discontinued) in the state diagrams defined in WF-CPOE-001, WF-CPOE-002, and WF-CPOE-003. No separate state diagram is required.
WF-CPOE-006: Verbal / Telephone Order Entry
Process Flow
Actor: Nurse or Unit Clerk (enters order), Physician (authorises verbally, co-signs within 24 hours) Trigger: Physician verbally communicates an order during an emergency, procedure, or telephone call Pre-conditions: Active encounter; receiving person has verbal-order entry privilege
- Nurse / clerk opens CPOE and selects "Verbal Order" or "Telephone Order" mode.
- System displays a prominent banner: "VERBAL ORDER — requires co-signature within 24 hours".
- Nurse / clerk enters the order details as dictated by the physician, using read-back verification: - Medication/test/imaging details - Dose, route, frequency (for medications) - Priority - Clinical indication
- System runs CDS checks (same as WF-CPOE-001/002/003).
- Nurse / clerk enters: - Name of ordering physician (selected from provider list) - Read-back verification attestation checkbox
- Nurse / clerk signs the order entry (Tier 1 Simple E-Signature).
- System creates the order with
order_source = 'verbal'or'telephone'andcosign_required = TRUE. - Order is transmitted to downstream systems immediately (same as regular order).
- System generates a co-signature task assigned to the ordering physician.
- Physician must open and co-sign the order within 24 hours (Tier 2 Advanced E-Signature).
- If not co-signed within 24 hours → escalation: notification to department chair and compliance.
Restrictions:
- Controlled substances (CDa): Verbal orders not permitted for CDa medications (Federal Decree-Law 30/2021). CDb verbal orders permitted in emergencies with 24 h co-signature.
- High-risk medications (chemotherapy, anticoagulants): Verbal orders discouraged; system displays strong advisory.
Data Modified:
medication_orders/laboratory_orders/imaging_orders— INSERT (withorder_source,cosign_required,entered_by)order_audit_log— INSERTcosign_tasks— INSERT
Exception Handling
- CDa verbal order attempt: Hard block — system does not allow verbal order entry for CDa medications.
- Co-signature overdue: Automated reminders at 12 h, 18 h, 23 h; escalation at 24 h.
- Order entered incorrectly: Physician modifies or cancels during co-signature review (triggers WF-CPOE-004 or WF-CPOE-005).
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Nurse writes verbal order on paper chart; physician signs on next round | Digital verbal order entry with 24 h co-signature workflow | Automated tracking and escalation |
| Paper read-back verification log | In-app attestation checkbox with audit trail | Documented compliance |
| Manual tracking of unsigned verbal orders | System-generated co-signature task queue | Zero missed co-signatures |
Remaining Paper Touchpoints: None.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| Nurse / Unit Clerk | Verbal/telephone order details as dictated by physician | CPOE verbal order form |
| Provider (verbal) | Medication/test/imaging details, dose, route, frequency, priority | Verbal communication (read-back verified) |
| Nurse / Unit Clerk | Ordering physician identity, read-back attestation | Provider selection + checkbox |
| CDS Engine | Same CDS checks as standalone orders | FHIR CDS Hooks response |
| EHR / Patient Chart | Patient context (demographics, allergies, active meds) | patients, patient_allergies tables |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
| Order table | Order record with order_source = 'verbal'/'telephone', cosign_required = TRUE |
SQL INSERT |
| PIS / LIS / RIS | Order transmission (same as regular order) | HL7 ORM^O01 |
cosign_tasks |
Co-signature task assigned to ordering physician | SQL INSERT |
order_audit_log |
Audit entry with entered_by (nurse) and ordering provider | SQL INSERT |
| Physician notification | Co-signature reminder | In-app notification |
Post-conditions:
- Order is active and transmitted to downstream systems immediately
- Co-signature task exists with 24-hour deadline assigned to ordering physician
- Read-back verification attestation recorded in audit log
- CDa verbal orders blocked; CDb verbal orders flagged with emergency documentation
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Verbal order entry to transmission | < 2 minutes | None — nurse workflow | order_audit_log.created_at |
| Physician co-signature | < 24 hours | Reminders at 12h, 18h, 23h; escalation to dept chair at 24h | cosign_tasks.cosigned_at |
| STAT verbal order transmission | < 30 seconds from entry | Alert if delayed > 1 min | order_audit_log.transmitted_at |
State Transition Diagram
WF-CPOE-007: Order Set Execution
Process Flow
Actor: Physician (Attending, Resident, NP/PA)
Trigger: Diagnosis or clinical scenario matching a pre-built order set (e.g., "Sepsis Workup", "Chest Pain Admission", "Post-Op Total Knee Replacement")
Pre-conditions: Active encounter; order set active in order_sets master data
- Physician opens Order Sets and searches by diagnosis, clinical problem, or order set name.
- System displays matching order sets with: - Description and clinical rationale - Date last reviewed / approved by P&T committee - List of included orders (medications, labs, imaging, nursing, dietary)
- Physician selects an order set.
- System expands the order set into individual order lines, each pre-populated with default values.
- Physician reviews and customises: - Deselect items not needed (checkbox per item) - Modify doses, frequencies, or timing for individual items - Conditional items activate based on patient criteria (e.g., "If eGFR < 30, add dose adjustment")
- CDS checks fire per individual order item (same rules as standalone orders).
- Physician reviews the composite order summary.
- Physician signs all orders with a single electronic signature (batch signing).
- System creates individual order records for each selected item.
- Orders transmitted to respective downstream systems (PIS, LIS, RIS) as individual messages.
- Time-sequenced orders scheduled according to order set timing rules (e.g., "Lab at T+4h", "Imaging at T+24h").
Data Modified:
medication_orders/laboratory_orders/imaging_orders— INSERT (multiple)order_set_executions— INSERT (linking execution to order set template)clinical_alerts— INSERT (per-item CDS alerts)order_audit_log— INSERT (per order, referencing order set)
Exception Handling
- CDS alert on one item in set: Alert displayed inline; physician can override, modify, or deselect that item without affecting other orders.
- All items deselected: System warns "No orders selected" — order set not executed.
- Outdated order set: If order set has not been reviewed within 12 months, system displays advisory; clinical pharmacist notification triggered.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Pre-printed paper order sets (triplicate) | Digital order sets with per-item customisation | Eliminates outdated paper forms; auto-updates when formulary changes |
| Manual checking of each item against patient data | Automated per-item CDS checking | Catches interactions across set items |
| Paper time-sequencing notes (e.g., "Lab at 0600 tomorrow") | System-scheduled orders with automated timing | No missed or late orders |
Remaining Paper Touchpoints: None.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| Provider | Order set selection (by diagnosis, clinical problem, or name) | CPOE order set search |
order_sets |
Order set template with pre-populated items and defaults | Master data table |
| EHR / Patient Chart | Patient criteria for conditional items (eGFR, weight, diagnoses) | patients, lab_results, patient_diagnoses tables |
| CDS Engine | Per-item CDS checks (same as standalone) | FHIR CDS Hooks response |
| Provider | Item-level customisations (deselect, modify dose/frequency/timing) | CPOE order set form |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
| Order tables | Individual order records per selected item | SQL INSERT (multiple) |
order_set_executions |
Execution record linking to template | SQL INSERT |
| PIS / LIS / RIS | Individual order transmissions | HL7 ORM^O01 per item |
clinical_alerts |
Per-item CDS alert records | SQL INSERT |
order_audit_log |
Per-order audit entries referencing order set | SQL INSERT |
| Scheduling engine | Time-sequenced orders with trigger times | order_schedule table |
Post-conditions:
- Individual order records created for each selected item
- Order set execution logged with template reference and customisation details
- All items transmitted to appropriate downstream systems
- Time-sequenced orders scheduled according to timing rules
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Order set expansion and customisation | < 5 minutes | None — provider workflow | order_set_executions.signed_at minus initiated_at |
| Batch signing to transmission (all items) | < 5 seconds | Alert if any item fails transmission | order_audit_log.transmitted_at |
| CDS check per item | < 2 seconds each | Degrade to async if > 5s per item | clinical_alerts.response_time_ms |
| Time-sequenced order activation | Within 5 minutes of scheduled time | Alert nursing if > 10 min late | order_schedule.activated_at |
State Transition Diagram
WF-CPOE-008: Controlled Substance Ordering (UAE-Specific)
Process Flow
Actor: Physician with MOH Controlled Substance Authorisation Trigger: Order for a medication classified as CDa (Narcotic or Psychotropic) or CDb per Federal Decree-Law No. 30/2021 Pre-conditions: Active encounter; physician's controlled substance prescribing privilege verified; patient Emirates ID on file
UAE Regulatory Authority: Federal Decree-Law No. 30/2021; Ministerial Decree No. 379/2019 (UEP mandate). See
reference-data/compliance/uae-regulations.md§Controlled Substances for full schedule mapping.
- Physician initiates medication order (enters WF-CPOE-001 steps 1–6).
- System detects the selected medication's
controlled_class(CDa-Narcotic, CDa-Psychotropic, or CDb) frommedication_master. - Pre-checks:
- a. Verify physician has MOH controlled substance authorisation → if not, hard block.
- b. Check encounter type: if telehealth → hard block (telehealth prescribing of controlled substances prohibited in UAE).
- c. Self-prescribing check: if
ordering_provider_idmatches patient → hard block (Art. 82). - d. Enforce maximum supply duration: CDa ≤ 30 days; CDb ≤ 90 days. - UEP Integration (Unified Electronic Platform):
- System submits prescription to MOH UEP via REST API.
- UEP performs:
- Patient eligibility verification (Emirates ID)
- Prescriber authorisation verification
- Duplicate prescription detection across all UAE facilities
- Quantity limit validation
- UEP returns:
uep_prescription_id+ approval status.
- CDa-specific requirements (Schedules 1–6):
- System generates a serialised special prescription number (
special_prescription_number). - Qualified e-signature required (Tier 3 per Federal Decree-Law 46/2021). - Dual verification by pharmacist required before dispensing. - CDb-specific requirements (Schedules 7–8): - Standard prescription form with controlled substance notation. - Advanced e-signature (Tier 2) required. - Pharmacist verification required.
- System records
uep_prescription_id,uep_submission_status, anduep_submission_datetimeon the order. - Order transmitted to Pharmacy with controlled substance metadata.
- Pharmacist performs independent dual verification (CDa) or standard verification (CDb).
- Dispensing confirmation reported back to UEP.
- All transactions logged in
controlled_substance_inventoryfor MOH reporting.
Data Modified:
medication_orders— INSERT (with controlled substance columns:controlled_class,uae_legal_schedule,uep_prescription_id,special_prescription_number,dual_verification_by)controlled_substance_inventory— INSERT (transaction_type = 'dispensing')order_audit_log— INSERTclinical_alerts— INSERT (if duplicate detected by UEP)
Integration Points
| Target System | Direction | Trigger | Protocol | Reference |
|---|---|---|---|---|
| MOH UEP | Outbound | CS order initiated | REST API | INT-CPOE-007 |
| MOH UEP | Inbound | Approval / rejection | REST API | INT-CPOE-007 |
| PIS (Pharmacy) | Outbound | UEP approved | HL7 ORM^O01 + CS metadata |
INT-CPOE-001 |
| MOH UEP | Outbound | Dispensed | REST API (dispensing confirmation) | INT-CPOE-007 |
| NABIDH | Outbound | CS order | HL7 RDE^O11 |
INT-CPOE-005 |
Exception Handling
- UEP unavailable: Order queued; system retries with exponential backoff. If unavailable > 30 min, alert compliance officer. CDa orders cannot be dispensed without UEP approval. CDb 72 h emergency supply permitted with documented follow-up.
- UEP duplicate detection: Provider reviews existing prescription details; if clinically justified, override with documented reason.
- Pharmacist dual verification denied: Order returned to prescriber with pharmacist notes; prescriber must modify or cancel.
- Inventory discrepancy: Auto-alert to pharmacy director and compliance; investigation workflow triggered.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Serialised paper controlled substance prescription forms (triplicate) | Electronic UEP submission with digital serial number | Complete digital chain of custody |
| Manual MOH controlled substance logbook | Automated controlled_substance_inventory with perpetual balance |
Real-time inventory; eliminates counting errors |
| Paper-based dual verification signature | Digital dual verification with independent pharmacist e-signature | Timestamped; non-repudiable |
| Monthly paper MOH reports of CS transactions | Automated report generation from inventory table | Accurate; timely; auditable |
| Physical locked cabinet log | Digital inventory with receipt/dispensing/disposal tracking | Perpetual balance with transaction audit trail |
Remaining Paper Touchpoints: MOH-witnessed destruction of expired controlled substances may still require a paper destruction certificate with physical witness signatures (pending digital destruction workflow in UEP).
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| WF-CPOE-001 | Medication order details (drug, dose, route, frequency, duration) | CPOE order entry (steps 1–6) |
medication_master |
Controlled substance classification (CDa/CDb, UAE legal schedule) | controlled_class, uae_legal_schedule columns |
| Provider credentials | MOH controlled substance authorisation status | provider_credentials table |
| Encounter context | Encounter type (inpatient/outpatient/telehealth), patient Emirates ID | encounters, patients tables |
| MOH UEP | Prescription validation (eligibility, duplicate check, quantity limits) | REST API response |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
medication_orders |
Order record with CS metadata (controlled_class, uep_prescription_id, special_prescription_number) | SQL INSERT |
| MOH UEP | Prescription submission | REST API POST |
| PIS (Pharmacy) | Order with controlled substance metadata | HL7 ORM^O01 + CS metadata |
controlled_substance_inventory |
Dispensing transaction record | SQL INSERT |
| NABIDH | Controlled substance order notification | HL7 RDE^O11 |
order_audit_log |
Full audit trail with UEP interaction details | SQL INSERT |
clinical_alerts |
UEP duplicate detection alerts | SQL INSERT |
Post-conditions:
- UEP prescription ID recorded on order
- CDa orders have serialised special prescription number and Tier 3 e-signature
- Pharmacy notified with all controlled substance metadata for dual verification (CDa) or standard verification (CDb)
- Dispensing confirmation reported back to UEP
- Inventory transaction logged for MOH reporting
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Pre-checks (authorisation, telehealth, self-prescribing) | < 1 second | Hard block on failure | clinical_alerts.check_datetime |
| UEP submission and response | < 10 seconds | Queue if > 30s; alert compliance at 30 min | medication_orders.uep_submission_datetime |
| CDa pharmacist dual verification | < 15 minutes from order receipt | Alert pharmacy director at 15 min | medication_orders.dual_verification_datetime |
| CDb pharmacist verification | < 30 minutes from order receipt | Alert charge pharmacist at 30 min | medication_orders.pharmacist_verification_datetime |
| Dispensing confirmation to UEP | < 5 minutes from dispensing | Retry with backoff; alert compliance | controlled_substance_inventory.uep_reported_at |
| UEP unavailability threshold | 30 minutes max | CDa: cannot dispense; CDb: 72h emergency supply with follow-up | integration_message_log.failure_duration |
State Transition Diagram
Cross-Workflow Reference
| Workflow ID | Name | Triggers Other Workflows |
|---|---|---|
| WF-CPOE-001 | Medication Order Entry | WF-CPOE-008 (if controlled), WF-CPOE-004 (if modified), WF-CPOE-005 (if cancelled) |
| WF-CPOE-002 | Laboratory Order Entry | WF-CPOE-004 (if modified), WF-CPOE-005 (if cancelled) |
| WF-CPOE-003 | Imaging/Radiology Order Entry | WF-CPOE-004 (if modified), WF-CPOE-005 (if cancelled) |
| WF-CPOE-004 | Order Modification | WF-CPOE-008 (if controlled substance modified) |
| WF-CPOE-005 | Order Cancellation/Discontinuation | WF-CPOE-008 (if controlled substance cancelled) |
| WF-CPOE-006 | Verbal/Telephone Order Entry | WF-CPOE-001/002/003 (order type), WF-CPOE-008 (if CDb) |
| WF-CPOE-007 | Order Set Execution | WF-CPOE-001/002/003 (per item), WF-CPOE-008 (if item is controlled) |
| WF-CPOE-008 | Controlled Substance Ordering | None — terminal workflow; returns result to calling workflow |
Related Modules
- PIS (Pharmacy Information System): Receives all medication orders; manages dispensing and MAR
- LIS (Laboratory Information System): Receives lab orders; returns results
- RIS (Radiology Information System): Receives imaging orders; returns reports
- EHR & Patient Management: Patient demographics, allergy list, problem list, encounter context
- Scheduling: Encounter management; bed/OR scheduling
- Billing & Claims: Charge capture triggered by signed orders
- Policy & Contract Management: Formulary and coverage data for CDS checks