Physician Portal & Mobile App Workflows
This document defines eight core workflows for the Physician Portal & Mobile App module. Each workflow includes process steps, actors, decision points, integration hooks, exception handling, and the paperless transformation achieved by the HIS.
Regulatory context (UAE): All workflows must comply with UAE PDPL (Federal Decree-Law No. 45/2021) for personal health data processing, DOH ADHICS / DHA security standards for mobile access, and MOH/DOH/DHA requirements for clinical documentation and result acknowledgment. Where applicable, data exchanged with external systems (e.g., LIS/RIS, NABIDH/Malaffi) must follow HL7/FHIR profiles defined by the respective authorities.
WF-PHY-001: Mobile Patient Lookup & Chart Review
Process Flow
Actor: Physician, Nurse Practitioner
Trigger: Physician needs patient information while mobile (rounding, on-call, remote)
Pre-conditions:
- Valid
physician_portal_accountsrecord linked toprovidersandusers - Device registered and at least one MFA method configured (biometric/PIN)
- Patient exists in
patientsand has at least one active or historical encounter inencounters - User has permission
view_patient_chartsand is authorised for the facility/department (per DOH/DHA/MOH rules)
- Physician launches mobile app or web portal.
- System displays login screen and prompts for biometric (Face ID/Touch ID) or PIN based on
physician_preferencesand device capabilities. - System validates credentials and MFA: - If biometric fails 3 times, system falls back to username/password + OTP.
- On successful authentication:
- System creates a new
physician_portal_sessionsrecord (login time, device type, IP, auth_method). - System loads dashboard (SCR-PHY-001) with today’s schedule, patient lists, and inbox summary. - Physician taps the patient search bar and selects search mode: - MRN, Emirates ID (e.g., 784-1990-1234567-1), name, bed/room, or recent patients.
- System queries
patients,encounters, and facility/department context to filter results to authorised patients only (per UAE PDPL data minimisation). - Physician selects a patient from the result list.
- System loads
SCR-PHY-002(Patient Chart) and: - Displays patient banner (name, age, sex, Emirates ID, allergies). - Retrieves allergies frompatient_allergies, problems frompatient_problems, medications from PIS via internal API, recent vitals and results from EHR/LIS/RIS. - System caches a minimal offline snapshot (demographics, allergies, active problems, last 24h vitals, last key results) on the device with encryption-at-rest, respecting PDPL and ADHICS.
- Physician navigates between chart sections (swipe/tabs):
- Medications (current list, recent administrations from eMAR).
- Lab results (trend graphs, abnormal highlighting).
- Radiology reports (with thumbnail links to PACS if available).
- Clinical notes (
clinical_notes). - Active orders (via CPOE).
- Care team (from
providers,encounters).
- If physician attempts to open restricted data (e.g., psychiatric notes flagged as sensitive), system checks role-based permissions and either displays data or shows an access denied message with audit logging.
- When physician leaves the chart or app goes to background, system:
- Updates
physician_portal_sessionslast activity timestamp. - Optionally auto-locks after configurable inactivity timeout (per ADHICS).
- Updates
- On logout or session timeout, system updates
physician_portal_sessions.logout_datetimeand clears any decrypted cached data beyond allowed offline set.
Data Modified:
physician_portal_sessions— INSERT (on login), UPDATE (last activity, logout)physician_portal_accounts— UPDATE (last_login, possibly device_tokens)physician_preferences— UPDATE (optional: last_patient_list, last_viewed_section)- No clinical data (patients, notes, results) is modified in this read-only workflow.
Mermaid Flowchart
Decision Points
-
Authentication success
- If biometric/PIN succeeds → proceed to dashboard.
- If fails → require username/password + OTP; if still fails → deny access and log security event. -
Patient search results
- If no patients match criteria or are outside physician’s authorised scope → show “No results” and allow new search.
- If matches found → show list with key demographics and encounter context. -
Section access control
- If physician has permission for requested section (e.g., mental health notes) → display data.
- If not → show access denied, log in security/audit log for PDPL compliance.
Integration Points
- EHR & Patient Management (
ehr-patient-mgmt) - Read:
patients,patient_demographics,patient_identifiers,patient_allergies,patient_problems,clinical_notes,facilities,departments,encounters. -
Protocol: Internal API / FHIR (e.g.,
Patient,AllergyIntolerance,Condition,Encounter,DocumentReference). -
LIS (
lis) - Read: Lab results (
lab_results), trends. -
Protocol: Internal API / FHIR
DiagnosticReport/Observation(INT-PHY-003). -
RIS (
ris) - Read: Radiology reports (
radiology_reports), PACS viewer links. -
Protocol: Internal API / FHIR
DiagnosticReport(INT-PHY-004). -
PIS (
pis) - Read: Medication list, eMAR administrations, pharmacist interventions.
-
Protocol: Internal API (INT-PHY-005).
-
Scheduling (
scheduling) - Read: Today’s schedule, inpatient census, on-call lists.
- Protocol: Internal API (INT-PHY-006).
Exception Handling
- Authentication failures:
-
After configurable number of failed attempts (e.g., 5), temporarily lock
physician_portal_accountsand require admin reset; log per ADHICS and PDPL security requirements. -
Network connectivity loss:
-
If connection lost after login, allow read-only access to previously cached offline snapshot; display banner “Offline — data may be outdated” and block access to non-cached sections.
-
Authorisation failure for patient/section:
-
Show “Access not permitted for this patient/section” and log event with user, patient_id, timestamp for PDPL accountability.
-
Backend API timeout:
- Show non-blocking error (“Unable to load labs, pull to retry”) while still showing other sections; retry with exponential backoff.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Printed ward lists for rounding | Dynamic inpatient census and patient lists on mobile | Always up to date; filtered by assignment and location |
| Printed patient charts and summary sheets | Mobile patient chart with real-time data | Eliminates carrying paper files; reduces risk of misplaced charts |
| Phone calls to nursing station for latest vitals/results | Direct view of vitals, labs, imaging in app | Reduces interruptions and delays; improves decision speed |
| Handwritten notes on paper lists during rounds | Structured mobile notes and flags within chart | Better legibility and traceability |
Remaining Paper Touchpoints: Optional printed summaries for multidisciplinary meetings if required by local policy.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| Physician | Authentication credentials (biometric, PIN, or username/password + OTP) | Device-native auth / login form |
physician_portal_accounts |
Portal account details, device tokens, MFA config | DB record |
physician_preferences |
Default views, last patient list, notification settings | DB record |
EHR / patients |
Patient demographics, MRN, Emirates ID, allergies, problems | Internal API / FHIR Patient, AllergyIntolerance, Condition |
LIS / lab_results |
Lab results and trends | FHIR DiagnosticReport / Observation (INT-PHY-003) |
RIS / radiology_reports |
Radiology reports and PACS links | FHIR DiagnosticReport (INT-PHY-004) |
| PIS | Medication list, eMAR administrations | Internal API (INT-PHY-005) |
scheduling |
Today's schedule, inpatient census, care team | Internal API (INT-PHY-006) |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
physician_portal_sessions |
Session record (login time, device, IP, auth_method, last activity, logout) | SQL INSERT / UPDATE |
physician_portal_accounts |
Last login timestamp, device token updates | SQL UPDATE |
physician_preferences |
Last viewed patient list, last section preferences | SQL UPDATE |
| Device local storage | Encrypted offline snapshot (demographics, allergies, last 24h vitals, key results) | AES-256 encrypted cache |
Post-conditions:
- Active session exists in
physician_portal_sessionswith valid auth method recorded - Patient chart data displayed is current as of query time
- Minimal offline snapshot cached with encryption-at-rest on device
- All access events logged for UAE PDPL audit compliance
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Biometric/PIN authentication | < 2 seconds | Fallback to username/password + OTP after 3 failures | physician_portal_sessions.login_datetime |
| Dashboard load after login | < 3 seconds | Alert IT if > 5s average over 15 min | physician_portal_sessions.dashboard_loaded_at |
| Patient search results | < 2 seconds | Show spinner; alert IT if > 5s | Application performance monitoring |
| Patient chart load (summary) | < 3 seconds | Display cached data if available; show "loading" for slow sections | physician_portal_sessions.last_activity |
| Offline snapshot cache write | < 1 second | Non-blocking; log if cache write fails | Device-level logging |
| Session auto-lock on inactivity | Configurable (default 5 min per ADHICS) | Lock screen displayed | physician_portal_sessions.last_activity |
WF-PHY-002: Mobile Order Entry
Process Flow
Actor: Physician
Trigger: Physician needs to enter or modify orders while mobile
Pre-conditions:
- Active encounter in
encounters(inpatient, ED, or outpatient) - Physician authenticated with active
physician_portal_sessionsrecord - Physician has
enter_orderspermission and ordering privileges for the facility - Patient chart open in mobile app (
WF-PHY-001completed)
- From the open patient chart, physician taps “Orders” then “New Order” (
SCR-PHY-003). - System prompts to select order type: medication, lab, imaging, consult, diet, nursing, etc.
- System displays:
- Provider’s
physician_favorites(orders and order sets) at top. - Departmental order sets (from master data). - Search bar for full order catalog. - Physician selects a favorite/order set or searches and selects an orderable item.
- System pre-populates order details based on: - Order set defaults. - Patient parameters (age, weight, renal function) from EHR. - Provider preferences (e.g., default priority).
- System invokes CDS via CPOE module:
- Drug–allergy and drug–drug interactions (using
patient_allergiesand active meds from PIS). - Duplicate orders, dose range, and contraindications. - Decision: If any CDS alert is hard-stop (e.g., severe allergy), system displays blocking alert: - Physician may cancel or modify order; order cannot be signed until resolved.
- For non-blocking alerts, system displays warnings with options to override and capture justification.
- Physician reviews and edits order details (dose, route, frequency, priority, duration, instructions) using mobile-optimised controls and optional voice input.
- System validates completeness and shows order summary for confirmation.
- Physician signs order using mobile e-signature (PIN/biometric) compliant with UAE electronic transactions law; system records signature metadata.
- System sends order payload to CPOE module via internal API (INT-PHY-002) for persistence and downstream routing:
- Medication orders → PIS / MAR.
- Lab orders → LIS.
- Imaging orders → RIS.
- Others → relevant modules.
- CPOE returns success/acknowledgment or error.
- On success:
- Patient’s active orders list is refreshed.
- A confirmation banner is shown.
- Any resulting tasks (e.g., “Collect specimen”) are created in
clinical_task_items.
- On error (e.g., downstream system unavailable), order is queued in a retry buffer and physician is notified of pending transmission status.
Data Modified:
physician_favorites— INSERT/UPDATE (if physician marks/unmarks favorite during process)clinical_task_items— INSERT (auto-generated tasks from new orders)- CPOE-owned tables (not defined here) — INSERT/UPDATE for actual orders
physician_inbox_items— INSERT (optional: alerts for unsigned orders or order failures)physician_portal_sessions— UPDATE (last activity)
Mermaid Flowchart
Decision Points
-
CDS hard-stop alerts
- If present → physician must modify or cancel order; cannot proceed to signing.
- If absent → proceed with soft alerts or directly to order details. -
Soft alerts (warnings)
- If present → physician may override with justification (stored in CPOE audit log).
- If none → smoother flow to signing. -
Order signing
- If physician signs → order transmitted to CPOE.
- If physician cancels or saves as draft → no transmission; draft stored in CPOE (if supported). -
Transmission success
- If success → tasks created, active orders updated.
- If failure → order queued with retry; physician informed of pending status.
Integration Points
- CPOE (
cpoe) - Direction: Outbound (orders), inbound (status/errors).
- Data: Order details, CDS alerts, order status.
-
Protocol: Internal API (INT-PHY-002).
-
PIS (
pis) via CPOE - Direction: Indirect outbound.
-
Data: Medication orders, dispensing status, interventions (INT-PHY-005).
-
LIS (
lis) via CPOE - Direction: Indirect outbound.
-
Data: Lab orders and order-result linking.
-
RIS (
ris) via CPOE - Direction: Indirect outbound.
-
Data: Imaging orders.
-
Task Management (this module)
- Direction: Internal.
- Data:
clinical_task_itemsfor specimen collection, consent, etc.
Exception Handling
- CDS engine unavailable:
-
System displays banner “Decision support temporarily unavailable”; allows only low-risk orders or requires confirmation that physician will proceed without CDS, per local policy.
-
CPOE API timeout:
-
Order stored in local mobile queue with status “Pending submission”; background job retries; physician inbox item created in
physician_inbox_itemsif not sent within defined SLA. -
Partial downstream failure (e.g., PIS down):
-
CPOE returns specific error; portal shows which subsystem failed; order may be held in CPOE pending manual pharmacy follow-up.
-
Loss of connectivity mid-order:
- Draft order stored locally (encrypted) and synced when connection resumes; physician informed that order is not yet active.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Verbal orders via phone to nursing/pharmacy | Structured mobile order entry with electronic signature | Reduces miscommunication and transcription errors |
| Paper order sheets on clipboards | Orders entered directly into HIS from bedside or offsite | Eliminates delays in order transcription |
| Handwritten STAT labels and forms | STAT priority flag in electronic order with automated routing | Faster turnaround and clear prioritisation |
| Manual notes about pending orders | Auto-generated tasks and inbox items linked to orders | Better tracking and accountability |
Remaining Paper Touchpoints: Paper consent forms for certain procedures where electronic consent is not yet implemented.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| EHR / Patient Chart | Patient demographics, allergies, active medications, recent labs, diagnoses | patients, patient_allergies, medication_orders, lab_results tables |
| Physician | Order type, orderable item selection, dose/route/frequency/priority/duration | CPOE mobile order form |
physician_favorites |
Provider's saved order favorites and order sets | DB record |
| CDS Engine (via CPOE) | Drug-allergy, DDI, dose-range, duplicate, formulary alerts | FHIR CDS Hooks response (INT-PHY-002) |
| Policy & Contract Mgmt | Coverage rules, prior auth requirements | coverage_rules, prior_auth_rules via CPOE |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
| CPOE Module | Complete order payload with e-signature metadata | Internal API POST (INT-PHY-002) |
clinical_task_items |
Auto-generated tasks (specimen collection, consent, etc.) | SQL INSERT |
physician_inbox_items |
Alerts for unsigned orders or transmission failures | SQL INSERT |
physician_favorites |
Updated favorites (if provider marks/unmarks during ordering) | SQL INSERT / UPDATE |
physician_portal_sessions |
Last activity timestamp | SQL UPDATE |
Post-conditions:
- Order transmitted to CPOE and routed to downstream systems (PIS, LIS, RIS)
- E-signature metadata recorded with PIN/biometric method
- Active orders list refreshed in portal with confirmation
- Any resulting clinical tasks created and assigned
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Order form load (favorites, catalog) | < 2 seconds | Alert IT if > 5s | Application performance monitoring |
| CDS check round-trip (via CPOE) | < 3 seconds total | Degrade to async; show "CDS unavailable" if > 5s | clinical_alerts.response_time_ms |
| Order signing to CPOE transmission | < 1 second | Queue locally if failed; notify physician | order_audit_log.transmitted_at |
| CPOE acknowledgement to portal | < 5 seconds | Show "pending" status; alert if > 30s | physician_inbox_items.created_at |
| STAT order end-to-end (sign to downstream ACK) | < 2 minutes | Alert charge nurse/pharmacist at 2 min | Downstream ACK timestamp |
WF-PHY-003: Result Review & Acknowledgment
Process Flow
Actor: Physician
Trigger: New result available, critical value alert, or pending result notification
Pre-conditions:
- Physician authenticated with active
physician_portal_sessions - Physician has
review_resultsand (for critical)acknowledge_critical_resultspermissions - Results available in LIS/RIS and linked to patient’s encounter
- Notification rules configured in
physician_preferencesand system Notification Rules master data
- LIS/RIS finalises a result and sends it to the EHR; EHR flags result as new and, if critical, per DOH/DHA/MOH thresholds.
- Notification engine evaluates
physician_preferencesand Notification Rules: - If configured, sends push notification via APNS/FCM (INT-PHY-008) and createsphysician_inbox_itemsentry for the responsible physician. - Physician opens Unified Inbox (
SCR-PHY-005) or taps push notification. - System filters inbox to “Results” tab, showing: - Critical results at top with badges. - New abnormal and normal results below.
- Physician selects a result item.
- System opens Results Review screen (
SCR-PHY-004) and: - Displays current value, reference range, abnormal flags. - Shows trend chart using previouslab_results/radiology_reports. - Shows related orders from CPOE for context. - Decision: If result is marked critical: - System requires explicit acknowledgment (e.g., “Call patient”, “Adjust medication”, “No immediate action”) and optional note.
- Physician enters acknowledgment action and note (for critical) or simply reviews (for non-critical).
- System records acknowledgment:
- Updates
physician_inbox_items.statusto “completed” and setsread_datetimeandactioned_datetime. - For critical results, logs acknowledgment in LIS/EHR audit trail (outside this module) and updates any linkedclinical_task_items. - Decision: Physician may forward result to another provider for consultation:
- Selects provider, adds comment, and optionally creates a new
clinical_task_itemsfor follow-up.
- Selects provider, adds comment, and optionally creates a new
- System sends provider-to-provider message (via Secure Messaging workflow) and creates a new
physician_inbox_itemsfor the recipient. - Result is removed from “outstanding” list and appears in “completed” or “acknowledged” views.
- Cumulative result dashboard is updated to reflect reduced count of outstanding results for the physician’s panel.
Data Modified:
physician_inbox_items— INSERT (on result notification), UPDATE (status, read_datetime, actioned_datetime, action_taken)clinical_task_items— INSERT (optional follow-up tasks), UPDATE (if existing task is completed by acknowledgment)- LIS/EHR audit tables (external) — INSERT/UPDATE for critical acknowledgment
physician_portal_sessions— UPDATE (last activity)
Mermaid Flowchart
Decision Points
-
Critical vs non-critical result
- If critical → mandatory acknowledgment with action and note; tracked for compliance.
- If non-critical → optional acknowledgment; may simply be marked as reviewed. -
Forwarding result
- If physician forwards → new inbox item and optional task for recipient; original remains acknowledged but linked to consultation.
- If not forwarded → workflow ends after acknowledgment. -
Notification delivery
- If push notifications enabled inphysician_preferences→ send to device; otherwise, rely on in-app inbox only.
Integration Points
- LIS (
lis) - Direction: Inbound.
- Data: Lab results, critical flags (INT-PHY-003).
-
Protocol: FHIR
DiagnosticReport/Observationor HL7ORU^R01into EHR, then internal API to portal. -
RIS (
ris) - Direction: Inbound.
-
Data: Radiology reports, critical findings (INT-PHY-004).
-
CPOE (
cpoe) - Direction: Read-only.
-
Data: Linked orders for context and order-result correlation.
-
Push Notification Service (APNS/FCM)
- Direction: Outbound.
- Data: Notification payloads for new/critical results (INT-PHY-008).
Exception Handling
- Missed critical acknowledgment within SLA:
-
Escalation logic triggers: re-notify primary physician, then escalate to on-call or department head; create high-priority
clinical_task_items. -
Push notification failure:
-
Logged but inbox item still created; physician sees result when next opening app.
-
Result data inconsistency (e.g., missing reference range):
-
Display result with warning banner; allow acknowledgment but log data quality issue for LIS/EHR team.
-
Network loss during acknowledgment:
- Acknowledgment stored locally and synced when connection returns; until then, result remains “unacknowledged” in central system.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Printed lab/imaging reports placed in physical inboxes | Electronic inbox with result items and status tracking | Eliminates lost reports and manual sorting |
| Manual sign-off on paper result sheets | Electronic acknowledgment with timestamps and user identity | Supports regulatory audits and KPIs (e.g., critical acknowledgment time) |
| Phone calls from lab/radiology to inform critical results without structured logging | Structured critical alerts with mandatory acknowledgment and audit trail | Better accountability and traceability |
| Handwritten notes for follow-up on abnormal results | Tasks and messages linked directly to result items | Ensures follow-up is tracked and visible to care team |
Remaining Paper Touchpoints: Optional printed result copies for external referrals where electronic exchange is not available.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| LIS (via EHR) | Lab results with values, reference ranges, abnormal/critical flags | FHIR DiagnosticReport / Observation (INT-PHY-003) |
| RIS (via EHR) | Radiology reports, critical finding flags | FHIR DiagnosticReport (INT-PHY-004) |
| Notification Engine | Push notification payloads for new/critical results | APNS / FCM (INT-PHY-008) |
physician_preferences |
Notification preferences (push enabled, alert types) | DB record |
| CPOE | Linked orders for result-order correlation | Internal API (INT-PHY-002) |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
physician_inbox_items |
Result notification item with status, read/actioned timestamps | SQL INSERT / UPDATE |
clinical_task_items |
Follow-up tasks (optional), critical result acknowledgement tasks | SQL INSERT / UPDATE |
| LIS / EHR audit tables | Critical result acknowledgement record | Internal API to EHR |
| Physician (recipient) | Forwarded result with comment (if forwarded) | New physician_inbox_items for recipient |
physician_portal_sessions |
Last activity timestamp | SQL UPDATE |
Post-conditions:
- Result reviewed and inbox item status updated to "completed" or "acknowledged"
- Critical results have mandatory acknowledgement with action taken and note recorded
- Acknowledgement logged in LIS/EHR audit trail for DOH/DHA compliance
- Outstanding result count decremented on cumulative dashboard
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Push notification delivery | < 10 seconds from result finalization | If push fails, rely on in-app inbox | physician_inbox_items.created_at vs result timestamp |
| Critical result acknowledgement | < 30 minutes from notification | Re-notify at 15 min; escalate to on-call/dept head at 30 min (DOH/DHA policy) | physician_inbox_items.actioned_datetime |
| Non-critical result review | < 24 hours | Reminder at 24h; flag on dashboard | physician_inbox_items.read_datetime |
| Result forwarding to colleague | < 1 minute (provider action) | None — provider workflow | physician_inbox_items.created_at (forwarded item) |
| Inbox load time | < 2 seconds | Alert IT if > 5s | Application performance monitoring |
WF-PHY-004: Secure Messaging (Provider-to-Provider & Patient)
Process Flow
Actor: Physician, Nurse Practitioner, Nurse, Clinical Staff
Trigger: Clinical communication needed or patient message received
Pre-conditions:
- Authenticated session with appropriate messaging permissions (
message_patients,message_providers,receive_delegated_messages) - Patient Portal active for patient (for patient messages)
- Provider directory up to date in
providersandphysician_portal_accounts
- Physician opens Unified Inbox (
SCR-PHY-005). - System displays tabs: Patient Messages, Provider Messages, System Alerts, Result Notifications.
- For incoming messages: - System lists messages with priority badges (urgent, routine), unread counts, and patient context where applicable.
- Physician selects a message: - System displays full thread, including previous replies and attachments (e.g., lab result link).
- Decision: If message is from a patient:
- System checks if physician has
message_patientsand is part of patient’s care team; otherwise, offers to reassign or escalate. - Physician composes a reply: - May attach clinical context (patient link, specific result, note). - May mark reply as “clinical advice” to ensure it is stored in the patient chart.
- System sends message:
- For patient messages → to Patient Portal module (INT-PHY-007) and creates/updates
portal_messages. - For provider messages → createsphysician_inbox_itemsfor recipient(s). - If message is patient-related and marked as clinical advice:
- System creates a corresponding entry in
clinical_notesor communication log (in EHR) via internal API. - Decision: Physician may delegate message handling: - Selects another provider or nurse, adds instructions, and sets priority.
- System updates original
physician_inbox_itemsstatus (e.g., “delegated”) and creates a newphysician_inbox_itemsfor the delegate with linkage to original. - When message thread is resolved, physician marks it as “completed” or “no further action”.
- System updates
physician_inbox_items.statusand removes it from active queue, retaining full thread for audit.
Data Modified:
physician_inbox_items— INSERT (new provider messages, delegated items, system alerts), UPDATE (status, read_datetime, actioned_datetime, action_taken)portal_messages(from Patient Portal module) — INSERT/UPDATE via integrationclinical_task_items— INSERT (if message generates a follow-up task)- EHR communication/notes tables — INSERT (for patient-related clinical advice)
physician_portal_sessions— UPDATE (last activity)
Mermaid Flowchart
Decision Points
-
Patient message routing
- If physician is not authorised or not on care team → must reassign or escalate; cannot reply directly. -
Clinical advice vs administrative reply
- If marked as clinical advice → stored in EHR as part of medical record.
- If not → remains as portal communication only. -
Delegation
- If delegated → new inbox item for delegate; original marked as delegated.
- If not → physician remains responsible until completion.
Integration Points
- Patient Portal (
patient-portal) - Direction: Bidirectional.
- Data: Patient messages, replies, read status (INT-PHY-007).
-
Protocol: Internal API.
-
EHR (
ehr-patient-mgmt) - Direction: Outbound.
-
Data: Clinical communication entries linked to patient chart.
-
Provider Directory (
ehr-patient-mgmt) - Direction: Read-only.
- Data:
providers, roles, specialties for routing and delegation.
Exception Handling
- Message delivery failure to Patient Portal:
-
System retries; if persistent failure, flags message with error status and creates system alert in sender’s inbox.
-
Attachment not accessible (e.g., result deleted):
-
Show message with placeholder and note “Linked item no longer available”; maintain message text.
-
Unauthorized reply attempt:
- If physician tries to reply to a patient they are not authorised to manage, system blocks and suggests reassigning to appropriate provider.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper message slips left in physician rooms | Secure in-app messaging with audit trail | Reduces lost messages and delays |
| Pagers and unlogged phone calls | Threaded conversations with timestamps and participants | Improves continuity and medico-legal documentation |
| Handwritten notes of patient calls | Patient portal messages stored and optionally copied to EHR | Better traceability of advice given |
| Manual delegation via verbal instruction | Delegation tracked via inbox items and tasks | Clear accountability and workload visibility |
Remaining Paper Touchpoints: None — fully digital for in-scope communications.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
physician_inbox_items |
Incoming messages (patient, provider, system alerts) with priority and context | DB records |
Patient Portal (patient-portal) |
Patient messages with attachments | Internal API (INT-PHY-007) |
Provider Directory (ehr-patient-mgmt) |
Provider list, roles, specialties for routing and delegation | Internal API |
| EHR / Patient Chart | Clinical context for attachments (results, notes, orders) | Internal API / FHIR resources |
| Physician | Reply text, clinical advice flag, delegation instructions | Mobile messaging form |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
Patient Portal (patient-portal) |
Reply messages to patients | Internal API (INT-PHY-007) → portal_messages |
physician_inbox_items |
New items for recipients (provider messages, delegated items) | SQL INSERT |
EHR / clinical_notes |
Clinical advice entries linked to patient chart | Internal API to EHR |
clinical_task_items |
Follow-up tasks generated from messages | SQL INSERT |
physician_portal_sessions |
Last activity timestamp | SQL UPDATE |
Post-conditions:
- Message thread updated with reply and status change
- Patient messages marked as clinical advice are persisted in EHR communication log
- Delegated messages have clear ownership transfer with linked items
- All message actions logged for audit compliance
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Urgent patient message response | < 4 hours during business hours | Alert at 4h; escalate to on-call at 8h | physician_inbox_items.actioned_datetime minus created_at |
| Routine patient message response | < 2 business days | Reminder at 24h; escalate at 48h | physician_inbox_items.actioned_datetime |
| Provider-to-provider urgent message | < 1 hour | Re-notify at 30 min; escalate to dept head at 1h | physician_inbox_items.read_datetime |
| Message delivery to Patient Portal | < 5 seconds | Retry with backoff; alert if > 1 min | portal_messages.delivered_at |
| Delegation processing | < 30 seconds | Alert if delayed > 1 min | physician_inbox_items.delegated_at |
WF-PHY-005: Schedule Management & On-Call
Process Flow
Actor: Physician
Trigger: Physician needs to view or manage schedule, patient lists, or on-call assignments
Pre-conditions:
- Authenticated session with
manage_schedulepermission - Provider schedule and appointments maintained in
schedulingmodule - On-call rosters configured by department
- Physician opens “Schedule & Patient List” screen (
SCR-PHY-006). - System retrieves:
- Daily/weekly schedule from
appointmentsand provider schedule APIs. - Clinic patient lists and inpatient census fromencounters. - On-call schedule from scheduling master data. - Screen displays: - Day/week calendar view. - List of upcoming appointments with patient summary cards. - Inpatient census for assigned wards. - Current on-call status and upcoming on-call shifts.
- Physician taps an appointment or inpatient to open quick summary or full chart.
- Decision: Physician wants to request a schedule swap (e.g., on-call or clinic session). - Selects slot and initiates “Swap Request”.
- System prompts for: - Target provider (same specialty group). - Reason for swap. - Optional notes.
- System sends swap request to Scheduling module:
- Creates a pending swap record.
- Sends
physician_inbox_itemsto target provider and optionally to department head. - Target provider receives notification and views swap request details.
- Decision (target provider): Accept or decline swap.
- If accept → system updates schedule in
schedulingand marks swap as approved. - If decline → system marks swap as declined and notifies requester. - If department approval is required (per policy), department head (CMO/Department Head role) receives an approval request and must approve before schedule is finalised.
- Physician can set availability status (available, busy, in procedure, off-duty) which is stored in
physician_preferencesor scheduling profile and used by messaging/on-call routing. - System updates views and notifies relevant stakeholders of schedule changes.
Data Modified:
- Scheduling-owned tables — INSERT/UPDATE (swap requests, schedule changes)
physician_inbox_items— INSERT (swap requests, approvals, notifications), UPDATE (status)physician_preferences— UPDATE (availability status, default views)physician_portal_sessions— UPDATE (last activity)
Mermaid Flowchart
Decision Points
-
Swap request vs simple availability change
- If swap requested → workflow involves other providers and possibly department head.
- If only availability changed → local update affecting routing and visibility. -
Target provider acceptance
- If accepted → proceed to schedule update (subject to approval).
- If declined → requester notified; no schedule change. -
Department approval requirement
- If required and granted → schedule updated.
- If denied → swap cancelled; both parties notified.
Integration Points
- Scheduling (
scheduling) - Direction: Bidirectional.
- Data: Provider schedule, appointments, inpatient census, swap requests (INT-PHY-006).
-
Protocol: Internal API.
-
EHR (
ehr-patient-mgmt) - Direction: Read-only.
- Data: Patient demographics and encounter details for patient cards.
Exception Handling
- Schedule conflict detected by Scheduling module:
-
If swap would create overlapping assignments or violate staffing rules, Scheduling returns error; portal shows message and cancels swap.
-
Target provider unavailable (no portal account):
-
System prevents selection or suggests alternative providers.
-
Network/API failure:
- Schedule view may show last cached schedule with warning; swap requests disabled until connectivity restored.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Printed clinic and on-call rosters on notice boards | Real-time schedules accessible on mobile | Reflects last-minute changes instantly |
| Manual phone calls and WhatsApp messages to arrange swaps | Structured swap workflow with approvals and audit trail | Reduces miscommunication and ensures policy compliance |
| Handwritten patient lists for clinics and wards | Dynamic patient lists linked to encounters and charts | Always current; no manual updating |
Remaining Paper Touchpoints: Optional printed daily lists for specific clinics if mandated by local policy.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
scheduling |
Provider schedule, appointments, inpatient census, on-call rosters | Internal API (INT-PHY-006) |
EHR / encounters |
Patient encounter details for patient cards | Internal API |
EHR / patients |
Patient demographics for summary display | Internal API |
| Physician | Swap request details (target provider, reason, notes) | Mobile schedule form |
| Physician | Availability status changes (available, busy, in procedure, off-duty) | Mobile status selector |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
scheduling (Scheduling module) |
Swap requests, schedule changes, availability updates | Internal API (INT-PHY-006) |
physician_inbox_items |
Swap request notifications, approval requests, swap outcomes | SQL INSERT / UPDATE |
physician_preferences |
Availability status, default schedule views | SQL UPDATE |
physician_portal_sessions |
Last activity timestamp | SQL UPDATE |
Post-conditions:
- Schedule view reflects current assignments and any approved swaps
- Swap requests have clear status (pending, accepted, declined, approved by dept head)
- Availability status is current and used by messaging/on-call routing
- All schedule changes logged with timestamps and actors
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Schedule view load | < 3 seconds | Show cached schedule with stale-data banner if > 5s | Application performance monitoring |
| Swap request delivery to target provider | < 1 minute | None — notification delivery | physician_inbox_items.created_at |
| Target provider response to swap | < 24 hours | Reminder at 12h; escalate to dept head at 24h | physician_inbox_items.actioned_datetime |
| Department head approval (if required) | < 48 hours | Reminder at 24h; escalate to CMO at 48h | Approval log timestamp |
| Scheduling module update after approval | < 30 seconds | Alert IT if > 2 min | Scheduling API response time |
State Transition Diagram
WF-PHY-006: Mobile Clinical Documentation
Process Flow
Actor: Physician
Trigger: Physician needs to document a note while mobile
Pre-conditions:
- Active encounter in
encounters - Physician authenticated with
sign_notespermission - Note templates configured in Note Templates (Mobile) master data
- Physician opens patient chart and navigates to “Notes” section (
SCR-PHY-009). - System displays existing
clinical_notesand a “New Note” button. - Physician taps “New Note” and selects note type (progress note, brief update, procedure note).
- System shows list of mobile-optimised templates for selected note type.
- Physician selects a template: - System auto-populates sections with patient data (vitals, meds, recent labs, problem list) via EHR API.
- Physician uses voice dictation or typing to fill in subjective/objective/assessment/plan fields.
- Decision: Physician may save as draft or proceed to sign: - If draft → note saved with status “draft” and visible only to author (or per policy).
- Before signing, system validates: - Required fields completed (e.g., assessment and plan). - No conflicting documentation rules (e.g., duplicate procedure notes).
- Physician reviews note preview and taps “Sign”.
- System captures electronic signature (PIN/biometric) and sends note to EHR (
ehr-patient-mgmt) via internal API. - EHR persists note in
clinical_noteswith author, timestamp, and source = “physician_portal”. - System updates local view and removes draft version if it existed.
- If note is a key document (e.g., discharge summary), system may trigger additional workflows (e.g., notify care team, update discharge tasks).
Data Modified:
clinical_notes(EHR-owned) — INSERT/UPDATE via integrationphysician_portal_sessions— UPDATE (last activity)physician_inbox_items— INSERT (optional: notifications for co-signature or review)- Portal may maintain local metadata (e.g., last used template) in
physician_preferences— UPDATE
Mermaid Flowchart
Decision Points
-
Draft vs signed note
- Draft: stored but not part of official record; can be edited later.
- Signed: becomes part of legal medical record; further edits require addenda. -
Validation of required fields
- If missing critical sections → cannot sign; user must complete. -
EHR save success
- If failure → note remains local draft; user informed and can retry later.
Integration Points
- EHR (
ehr-patient-mgmt) - Direction: Outbound.
- Data:
clinical_noteswith structured content, author, timestamps, source. - Protocol: Internal API / FHIR
DocumentReferenceorComposition.
Exception Handling
- Speech-to-text failure:
-
User can switch to manual typing; error message shown but note creation continues.
-
EHR API unavailable:
-
Signed note queued locally with status “Pending upload”; user warned that note is not yet in central record; background sync retries.
-
Conflict with concurrent documentation:
- If EHR detects conflicting note (e.g., duplicate procedure note), returns error; portal shows message and allows user to adjust note type or content.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Handwritten progress notes on paper charts | Structured electronic notes with templates and auto-populated data | Improves completeness and legibility |
| Dictation onto tapes and manual transcription | Real-time voice dictation to text within app | Reduces turnaround time and transcription errors |
| Paper procedure notes scanned later | Direct entry into EHR from mobile | Eliminates scanning and indexing workload |
Remaining Paper Touchpoints: Paper consent forms or external documents may still be scanned into EHR.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| EHR / Patient Chart | Patient data for template auto-population (vitals, meds, labs, problem list) | Internal API / FHIR resources |
encounters |
Active encounter context (type, location, attending) | DB record |
| Note Templates (Mobile) master data | Template structure for selected note type | DB record |
| Physician | Note content (dictated or typed): subjective, objective, assessment, plan | Mobile note form / voice dictation |
| Physician | E-signature (PIN/biometric) | Device-native auth |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
EHR / clinical_notes |
Signed clinical note with author, timestamp, source = "physician_portal" | Internal API / FHIR Composition or DocumentReference |
physician_portal_sessions |
Last activity timestamp | SQL UPDATE |
physician_inbox_items |
Co-signature or review notifications (if applicable) | SQL INSERT |
physician_preferences |
Last used template preference | SQL UPDATE |
Post-conditions:
- Signed note persisted in EHR as part of the legal medical record
- Draft notes (if saved) visible only to author per policy
- Note source clearly marked as "physician_portal" for provenance
- Any triggered downstream workflows (e.g., discharge tasks) initiated
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Template load with auto-populated data | < 3 seconds | Show template without auto-populated data if > 5s | Application performance monitoring |
| Voice dictation transcription | < 5 seconds per segment | Fallback to manual typing; log speech-to-text errors | Device-level speech API metrics |
| Note signing to EHR persistence | < 5 seconds | Queue locally if EHR unavailable; notify physician of pending upload | clinical_notes.signed_datetime vs portal submission time |
| Draft auto-save interval | Every 30 seconds | Non-blocking; notify if save fails | Local storage timestamp |
| EHR API retry for failed notes | < 15 minutes total | Alert if not persisted within 15 min; create high-priority inbox item | physician_portal_inbound_deadletter.created_at |
WF-PHY-007: Clinical Handoff / Sign-Out
Process Flow
Actor: Physician (outgoing and incoming)
Trigger: Shift change or on-call transition
Pre-conditions:
- Authenticated session with
clinical_handoffpermission - Handoff templates (I-PASS) configured in master data
- Patient assignments available from
encountersand care team data
- Outgoing physician opens “Clinical Handoff” screen (
SCR-PHY-007). - System retrieves patient list for handoff:
- Assigned inpatients, ED board, or on-call panel from
encountersand scheduling. - Physician selects which patients to include in handoff.
- For each patient, system displays I-PASS template fields: - Illness severity, patient summary, action list, situation awareness, contingency plan.
- Physician fills in or updates handoff fields, optionally using voice dictation.
- System saves handoff data in
handoff_communicationsas draft with status “in_progress”. - Once all patients are updated, physician selects incoming provider (e.g., on-call colleague) and taps “Send Handoff”.
- System validates: - At least one patient included. - Incoming provider is valid and has appropriate role.
- System updates
handoff_communications.statusto “sent” and setshandoff_datetime. - System creates
physician_inbox_itemsfor incoming provider with link to handoff and patient list. - Incoming provider opens handoff item from Unified Inbox or Handoff screen.
- System displays structured I-PASS handoff for each patient with quick links to charts.
- Incoming provider reviews and taps “Accept Handoff”.
- System updates
handoff_communications.statusto “accepted” and setsacknowledged_datetime. - Any critical action items may generate
clinical_task_itemsfor the incoming provider.
Data Modified:
handoff_communications— INSERT (new handoff), UPDATE (status, handoff_datetime, acknowledged_datetime, content)physician_inbox_items— INSERT (handoff notifications), UPDATE (status when accepted)clinical_task_items— INSERT (action items), UPDATE (when completed)physician_portal_sessions— UPDATE (last activity)
Mermaid Flowchart
Decision Points
-
Handoff completeness
- If no patients selected or mandatory fields missing → cannot send; user prompted to complete. -
Incoming provider validity
- If provider not found or lacks appropriate role → error; user must choose another. -
Incoming provider acceptance
- If accepted → responsibility formally transferred; tasks created.
- If not accepted (e.g., provider queries content) → handoff remains pending; may require clarification.
Integration Points
- EHR (
ehr-patient-mgmt) - Direction: Read-only.
-
Data: Patient demographics, problems, recent results for context.
-
Scheduling (
scheduling) - Direction: Read-only.
- Data: Care team assignments and on-call providers.
Exception Handling
- Handoff not accepted within defined time:
-
System escalates via
physician_inbox_itemsto on-call supervisor or department head. -
Network loss during handoff creation:
-
Draft stored locally and synced when connection resumes; user notified.
-
Data mismatch (patient no longer assigned):
- System flags patient as “no longer under your care” and suggests removing from handoff.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper sign-out sheets printed or handwritten | Structured electronic I-PASS handoff per patient | Reduces omissions and illegible notes |
| Verbal-only handoffs without documentation | Persisted handoff records with timestamps and responsible providers | Improves continuity and medico-legal defensibility |
| Sticky notes and whiteboards for pending tasks | Action items converted to tasks in clinical_task_items |
Ensures follow-up and visibility across shifts |
Remaining Paper Touchpoints: None — handoff content is fully digital.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
EHR / encounters |
Assigned inpatient/ED/on-call patient list | Internal API |
EHR / patients |
Patient demographics, problems, recent results for context | Internal API |
scheduling |
Care team assignments, on-call providers | Internal API (INT-PHY-006) |
| Outgoing Physician | I-PASS handoff content per patient (illness severity, summary, action list, contingency) | Mobile handoff form / voice dictation |
| Outgoing Physician | Selected incoming provider | Provider selection |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
handoff_communications |
Handoff record with status, content, timestamps, outgoing/incoming providers | SQL INSERT / UPDATE |
physician_inbox_items |
Handoff notification for incoming provider | SQL INSERT / UPDATE |
clinical_task_items |
Action items from handoff for incoming provider | SQL INSERT |
physician_portal_sessions |
Last activity timestamp | SQL UPDATE |
Post-conditions:
- Handoff record persisted with full I-PASS content and timestamps
- Incoming provider has received and acknowledged handoff
- Critical action items converted to tracked tasks
- Responsibility formally transferred with audit trail
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Handoff creation (all patients) | < 15 minutes (provider workflow) | None — provider responsibility | handoff_communications.handoff_datetime minus session start |
| Handoff delivery to incoming provider | < 1 minute | Alert if delivery fails | physician_inbox_items.created_at |
| Incoming provider acknowledgement | < 30 minutes from handoff send | Re-notify at 15 min; escalate to on-call supervisor at 30 min | handoff_communications.acknowledged_datetime |
| Action item task creation | < 30 seconds from handoff acceptance | Alert if tasks not created | clinical_task_items.created_at |
State Transition Diagram
WF-PHY-008: Clinical Task Management
Process Flow
Actor: Physician, Nurse
Trigger: Task created from order, result, message, or manual entry
Pre-conditions:
- Authenticated session with
manage_taskspermission - Task lists configured or auto-created in
clinical_task_lists
- User opens “Task List” screen (
SCR-PHY-008). - System loads:
- Default
clinical_task_listsfor the user (e.g., “My Tasks”, “Team Tasks”). - Associatedclinical_task_itemswith status, priority, due dates, and patient links. - User filters or sorts tasks by priority, due date, patient, or source (orders, results, messages).
- Decision: User chooses to add a new manual task: - Taps “Add Task”.
- System prompts for: - Task description, patient (optional), priority, due date/time, list, and notes.
- System creates new
clinical_task_itemswith status “open”. - For system-generated tasks (e.g., unsigned orders, abnormal results): - Tasks are auto-created by other modules and appear in the list with source_module and source_id.
- User taps a task to view details and related context (e.g., opens patient chart, order, or result).
- Decision: User may complete, defer, or delegate the task:
- Complete → sets status to “completed” and
completed_datetime. - Defer → updates due_datetime and possibly priority. - Delegate → selects another provider and adds instructions. - If delegated:
- System updates
clinical_task_items.delegated_toand may create a new task in delegate’s list or reassign list_id.
- System updates
- Overdue tasks are highlighted; escalation rules may create
physician_inbox_itemsor notify supervisors. - Task metrics (completion rate, overdue rate) feed into KPIs.
Data Modified:
clinical_task_lists— INSERT (if user creates new list), UPDATE (e.g., is_default)clinical_task_items— INSERT (manual tasks), UPDATE (status, due_datetime, delegated_to, completed_datetime, notes)physician_inbox_items— INSERT (escalation alerts), UPDATE (status)physician_portal_sessions— UPDATE (last activity)
Mermaid Flowchart
Decision Points
-
Manual vs system-generated tasks
- Manual: created by user; flexible fields.
- System-generated: created by other workflows; may have constraints (e.g., cannot delete until underlying issue resolved). -
Task action (complete/defer/delegate)
- Complete: closes task.
- Defer: keeps task open but changes due date/priority.
- Delegate: shifts responsibility to another user. -
Escalation for overdue tasks
- If overdue beyond threshold → escalation inbox items or notifications created.
Integration Points
- CPOE (
cpoe) - Direction: Inbound.
-
Data: Tasks for unsigned orders, pending co-signatures.
-
LIS/RIS (
lis,ris) - Direction: Inbound.
-
Data: Tasks for pending critical result follow-up.
-
Patient Portal (
patient-portal) - Direction: Inbound.
- Data: Tasks from patient messages requiring follow-up.
Exception Handling
- Task linked to deleted or closed context (e.g., cancelled order):
-
System marks task as obsolete and suggests completion with note.
-
Delegate not found or inactive:
-
System prevents delegation and prompts user to choose another.
-
Bulk actions errors:
- If user performs bulk complete/defer and some tasks fail (e.g., permission issues), system reports which tasks failed and why.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Personal paper to-do lists and sticky notes | Centralised electronic task lists linked to patients and orders | Reduces missed tasks and improves team visibility |
| Verbal reminders between staff | Delegated tasks with clear ownership and audit trail | Enhances accountability |
| Whiteboards for ward tasks | Mobile task lists accessible at bedside and offsite | Keeps tasks updated in real time |
Remaining Paper Touchpoints: None — task tracking is fully digital.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
clinical_task_lists |
User's task lists (My Tasks, Team Tasks) | DB records |
clinical_task_items |
Task items with status, priority, due dates, patient links, source module | DB records |
CPOE (cpoe) |
Auto-generated tasks (unsigned orders, pending co-signatures) | Internal API |
LIS/RIS (lis, ris) |
Tasks for critical result follow-up | Internal API |
Patient Portal (patient-portal) |
Tasks from patient messages requiring follow-up | Internal API |
| User | Manual task details (description, patient, priority, due date, notes) | Mobile task form |
| User | Task actions (complete, defer, delegate with instructions) | Mobile task action controls |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
clinical_task_items |
New manual tasks or updated task records (status, due date, delegated_to, completed_datetime) | SQL INSERT / UPDATE |
clinical_task_lists |
New lists or updated list metadata | SQL INSERT / UPDATE |
physician_inbox_items |
Escalation alerts for overdue tasks | SQL INSERT |
| Delegate's task list | Reassigned or new task item for delegate | SQL INSERT / UPDATE on clinical_task_items |
physician_portal_sessions |
Last activity timestamp | SQL UPDATE |
Post-conditions:
- All tasks reflect current status (open, completed, deferred, delegated)
- Completed tasks have
completed_datetimeset and are archived - Delegated tasks have clear ownership with instructions recorded
- Overdue tasks escalated per configured rules
- Task metrics available for KPI reporting
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Task list load | < 2 seconds | Alert IT if > 5s | Application performance monitoring |
| Manual task creation | < 30 seconds (user action) | None — user workflow | clinical_task_items.created_at |
| System-generated task visibility | < 1 minute from trigger event | Alert if > 5 min | clinical_task_items.created_at vs source event timestamp |
| High-priority task completion | < 4 hours from creation | Reminder at 2h; escalate to supervisor at 4h | clinical_task_items.completed_datetime |
| Overdue task escalation | At due_datetime + configurable grace period | Inbox item for supervisor | physician_inbox_items.created_at |
State Transition Diagram
These eight workflows collectively enable mobile, paperless clinical practice for physicians and advanced practice providers in UAE facilities, while aligning with UAE PDPL, DOH/DHA/MOH requirements, and local HIE standards (NABIDH/Malaffi).