Patient Access Workflows
This document defines six core workflows for the Patient Access 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. 45/2021 on Personal Data Protection (UAE PDPL), MOH licensing requirements, DHA eClaimLink and DOH eClaims (Shafafiya) standards for eligibility and authorisation, and alignment with NABIDH (Dubai) / Malaffi (Abu Dhabi) interoperability policies. All workflows must ensure minimum necessary use of patient data, explicit consent where required, and secure transmission per ADHICS / TDRA cybersecurity guidance.
WF-PAC-001: Insurance Eligibility Verification
Process Flow
Actor: Registration Clerk, System (automated)
Trigger: Patient registration, appointment booking, check-in, or scheduled batch re-verification (e.g., 72 hours before service)
Pre-conditions:
- Patient exists in
patients(fromehr-patient-mgmt) - Appointment and/or encounter exists in
appointments/encounters(fromscheduling) - Payer and plan configured in
payers,insurance_plans(frompolicy-contract-mgmt) - Patient’s insurance details captured or available from prior visit
- Patient consent for electronic eligibility checks recorded per UAE PDPL (in EHR/consent module)
- Registration Clerk opens the Eligibility Verification screen (SCR-PAC-001) from the patient context (MRN / Emirates ID
784-1990-1234567-1). - System pre-populates payer, plan, member ID, group ID, and Emirates ID from latest insurance record; clerk updates or adds new insurance if needed.
- System validates mandatory fields (payer, plan, member ID, patient DOB, Emirates ID) and displays any validation errors inline.
- Clerk selects check type (real-time / batch / day-of-service recheck) and request source (registration, scheduling, portal, automated).
- System creates an
eligibility_checksrow (status =pending,request_source,check_type,check_datetime, linkedpatient_id,payer_id,plan_id, and optionallyencounter_id/appointment_id). - System determines correct integration endpoint based on facility emirate and payer:
- Dubai → DHA eClaimLink (INT-PAC-001)
- Abu Dhabi → DOH eClaims / Shafafiya (INT-PAC-002)
- Other / self-pay / direct payer → configured endpoint from Payer Eligibility Endpoints master data. - System sends real-time eligibility request to the selected endpoint with required payload (member ID, Emirates ID, payer/plan, service date, facility, provider).
- Decision: Did the payer respond within timeout (e.g., 20 seconds)?
- Yes → proceed to step 9.
- No → go to step 12. - System receives eligibility response (raw XML/JSON) and stores it in
eligibility_responses.response_rawlinked tocheck_id. - System parses key benefits: active/inactive, effective/termination dates, co-pay amount/percentage, deductible total and met, coinsurance, annual max and remaining, plan limitations; populates structured fields in
eligibility_responses(e.g.,is_eligible,copay_amount,deductible_met). - System updates
eligibility_checks.statustosuccessand associates the latest successful check to the encounter/appointment (e.g.,encounter_details.financial_clearance_status = 'eligibility_verified'via internal API tobilling-claimsandscheduling). - Decision: If timeout or error from payer:
- If retry allowed (e.g., up to 3 attempts) → system retries with exponential backoff and logs attempts.
- If retries exhausted → set
eligibility_checks.status = 'error'and store error code/message.
- System displays coverage summary to clerk: eligibility status, co-pay, deductible remaining, coinsurance, key limitations (e.g., network-only, pre-auth required).
- Decision: Is patient ineligible or coverage expired for date of service?
- No (eligible) → proceed to step 16.
- Yes (ineligible) → step 15.
- Clerk informs patient that coverage is inactive/invalid, offers alternatives (other insurance, self-pay, financial counseling referral) and records outcome; system flags encounter as not financially cleared and may create a task for Financial Counselor.
- For eligible patients, system calculates preliminary patient responsibility indicators (not a full estimate) and sends summary to
billing-claims(INT-PAC-005) for downstream use. - System schedules an automatic re-verification job for the day of service if the latest successful check is older than 72 hours; job will create new
eligibility_checksentries withrequest_source = 'auto_reverify'.
Data Modified:
eligibility_checks— INSERT (new check), UPDATE (status, error info, linkage to encounter/appointment)eligibility_responses— INSERT (parsed response per check)encounter_details(inschedulingmodule) — UPDATE (financial clearance flags via internal API)billing_pre_claim/ equivalent (inbilling-claims) — UPDATE/INSERT (eligibility summary, if such table exists in that module)
Mermaid Flowchart
Decision Points
- Mandatory fields complete?
- If not, user cannot proceed; system highlights missing fields (e.g., missing Emirates ID, member ID). - Payer response within timeout?
- If no, system retries up to configured limit; after that, marks check as error and prompts for manual follow-up or provisional self-pay. - Is coverage active for date of service?
- If yes, mark encounter as eligibility-verified.
- If no, flag encounter as not cleared and prompt for alternate insurance or financial counseling. - Check older than 72 hours before DOS?
- If yes, auto re-verification scheduled.
- If no, existing verification considered valid.
Integration Points
| Target Module / System | Direction | Data Exchanged | Protocol / ID |
|---|---|---|---|
ehr-patient-mgmt |
Read-only | Patient demographics, Emirates ID, insurance card images | Internal API |
scheduling |
Bi-dir | Appointment/encounter linkage, financial clearance flags | INT-PAC-004 |
billing-claims |
Outbound | Eligibility status, co-pay/deductible summary, plan limitations | INT-PAC-005 |
policy-contract-mgmt |
Read-only | Payer, plan, coverage rules, payer endpoints | INT-PAC-006 |
| DHA eClaimLink | Outbound | Eligibility request/response for Dubai facilities | INT-PAC-001 (REST) |
| DOH eClaims / Shafafiya | Outbound | Eligibility request/response for Abu Dhabi facilities | INT-PAC-002 (REST) |
| Patient Portal | Outbound | High-level eligibility status for upcoming appointments | INT-PAC-008 (FHIR) |
Exception Handling
- Validation failures:
- Missing or invalid Emirates ID, member ID, or DOB → inline error messages; no external call made.
- Payer timeout / connectivity error:
- Automatic retries with increasing intervals; if all fail, status set to
error, visible banner “Eligibility system unavailable – treat as self-pay or retry later”; audit log entry created. - Payer returns technical error (invalid format, unknown member):
- Store error code in
eligibility_responses.payer_response_code; display human-readable message; allow clerk to correct data and resubmit. - Data privacy / consent:
- If consent for electronic eligibility not present, system prompts clerk to obtain verbal/written consent and record it before sending; if patient refuses, eligibility check is skipped and encounter flagged as self-pay per facility policy.
- Auto re-verification failure on day of service:
- System flags encounter in a “Financial Clearance Exception” work queue; supervisor can override hold based on facility policy.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Phone calls to payer call centres for eligibility | Real-time electronic eligibility via DHA eClaimLink / DOH eClaims APIs | Faster, auditable, reduces staff time |
| Photocopying insurance cards and filing in paper charts | Scanned card images stored in EHR; structured insurance data in eligibility_checks |
Better data quality, no physical storage |
| Manual spreadsheets tracking eligibility checks | Centralised eligibility_checks / eligibility_responses tables with dashboards |
Enables KPIs and analytics |
| Handwritten notes about coverage limitations | Structured benefits summary stored and viewable in HIS | Consistent communication to patients |
Remaining Paper Touchpoints: Printed eligibility summary may be given to patient on request; otherwise fully digital.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
ehr-patient-mgmt |
Patient demographics (MRN, Emirates ID, name, DOB, gender) | Internal API / patients, patient_identifiers |
ehr-patient-mgmt |
Insurance card images | Document reference / binary |
policy-contract-mgmt |
Payer, plan, coverage rules, payer endpoints | Internal API / payers, insurance_plans, coverage_rules |
scheduling |
Appointment/encounter context (date, provider, visit type) | Internal API / appointments, encounters |
| DHA eClaimLink / DOH eClaims | Eligibility response (coverage status, benefits, limits) | REST XML/JSON per DHA/DOH schema |
| User (Registration Clerk) | Check type selection, corrections to insurance fields | UI form input |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
eligibility_checks |
Check record (status, check_type, request_source, timestamps) | DB INSERT/UPDATE |
eligibility_responses |
Parsed benefits (is_eligible, copay, deductible, coinsurance, annual max) | DB INSERT |
scheduling (encounter_details) |
Financial clearance flags (eligibility_verified) | Internal API |
billing-claims |
Eligibility summary and patient responsibility indicators | INT-PAC-005 |
patient-portal |
High-level eligibility status for upcoming appointments | INT-PAC-008 (FHIR) |
| User (Registration Clerk) | Coverage summary display | UI screen (SCR-PAC-001) |
Post-conditions:
eligibility_checksrow exists with statussuccess,error, orpending- If successful, encounter is flagged as financially cleared in scheduling
- If unsuccessful, encounter flagged as not financially cleared; task may be created for Financial Counselor
- Auto re-verification job scheduled if check is >72 hours before date of service
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Load patient & insurance data | < 2 seconds | N/A (system performance) | Application performance monitoring |
| Send eligibility request to payer endpoint | < 3 seconds (network + submission) | Alert IT if average > 5 seconds | eligibility_checks.check_datetime vs request sent timestamp |
| Payer response received | < 20 seconds | Retry with backoff; if > 60 seconds, mark error | eligibility_responses.response_datetime - eligibility_checks.check_datetime |
| Parse and store response | < 1 second | N/A (system performance) | Application logs |
| Display coverage summary to clerk | < 2 seconds after response | N/A | UI render time |
| Total end-to-end (clerk-initiated) | < 30 seconds | Supervisor notified if average > 45 seconds | eligibility_checks timestamps |
| Auto re-verification job execution | Within scheduled window (e.g., 02:00-04:00 UAE time) | Alert if not completed by 05:00 | Job scheduler logs |
| Batch re-verification turnaround | All pending re-checks processed within 2 hours | Operations Manager notified if overdue | Batch job completion timestamp |
State Transition Diagram
The eligibility check manages a distinct lifecycle from creation through resolution.
WF-PAC-002: Prior Authorization Management
Process Flow
Actor: Authorization Specialist, Physician
Trigger: Service ordered that requires prior authorization per payer rules (e.g., high-cost imaging, elective surgery)
Pre-conditions:
- Order exists in CPOE / clinical module with CPT and ICD-10-AM codes
- Eligibility verification completed or attempted
- Coverage rules available from
coverage_rules(policy-contract-mgmt) indicating auth requirement - Patient consent for sharing clinical documentation with payer recorded per UAE PDPL
- System receives new order from CPOE or scheduling and checks
coverage_rulesvia INT-PAC-006 to determine if prior auth is required for the payer/plan, service, and diagnosis. - Decision: Does the service require prior auth?
- No → system records “no auth required” and ends workflow.
- Yes → proceed to step 3. - System creates a draft
prior_authorizationsrecord withauth_status = 'pending_submission', linkingpatient_id,encounter_id,payer_id,service_codes(CPT),icd10_codes, andrequesting_provider_id. - Authorization Specialist opens the Prior Authorization Worklist (SCR-PAC-002) and selects the new case.
- System pre-populates the Authorization Request Form (SCR-PAC-003) with patient info, service codes, diagnosis, and referring/requesting provider details.
- Specialist reviews and attaches required clinical documentation (lab results, imaging reports, clinical notes) from EHR; system stores references or documents in
prior_auth_requests.clinical_documentation(e.g., document IDs). - Specialist selects submission channel (DHA eClaimLink, DOH eClaims, direct payer portal, or manual upload) based on payer configuration.
- System validates that all mandatory fields and documents required by payer policy are present (e.g., recent MRI report, conservative therapy notes).
- System creates a new
prior_auth_requestsrow withsubmission_datetime,submission_channel, and links it toauth_id. - For electronic channels (eClaimLink / DOH eClaims), system submits structured auth request payload including clinical justification; for portal-only payers, system may generate a PDF or summary for manual upload but still tracks status.
- Decision: Did the payer respond synchronously (immediate approval/denial) or is it pending review?
- Immediate response → step 12.
- Pending → step 13.
- System updates
prior_authorizations.auth_statustoapprovedordenied, setsauth_number,approved_date/denied_date,valid_from,valid_to, andapproved_units; notifies ordering physician and updatesbilling-claimswith auth number. - If pending, system sets
auth_status = 'under_review'and populatesprior_auth_requests.payer_responsewith acknowledgement; case remains on worklist with “days pending” counter. - Decision: Payer requests peer-to-peer review or additional information?
- If yes → Specialist coordinates with Physician to schedule call, records
peer_review_scheduled = trueand notes inpayer_response. - If no → wait for final decision.
- If yes → Specialist coordinates with Physician to schedule call, records
- When final decision received (via electronic response or manual update), Specialist updates
prior_authorizationswith status, dates, units, and any conditions; system automatically links auth to relevant scheduled procedures and claims. - If denied, system notifies Physician and allows documentation of appeal plan or alternative treatment; subsequent appeal submissions are tracked as additional
prior_auth_requestsrows linked to sameauth_id.
Data Modified:
prior_authorizations— INSERT (initial record), UPDATE (status, auth number, dates, units)prior_auth_requests— INSERT (each submission/response cycle), UPDATE (payer_response, response_datetime, peer_review_scheduled)encounter_details(scheduling) — UPDATE (auth status flags)billing_claims/ equivalent (billing-claims) — UPDATE (auth number, auth status)
Mermaid Flowchart
Decision Points
- Auth required?
- Based on payer, plan, CPT, ICD-10-AM, and facility rules fromcoverage_rules. - All payer-required fields/docs present?
- If not, system blocks submission and lists missing items (e.g., “Upload last 3 months physiotherapy notes”). - Immediate response vs under review?
- Some payers auto-approve low-risk services; others always pend. - Peer review or additional information requested?
- If yes, additional tasks and documentation steps are triggered.
Integration Points
| Target Module / System | Direction | Data Exchanged | Protocol / ID |
|---|---|---|---|
cpoe |
Inbound | Orders requiring auth (CPT, ICD-10-AM, provider) | INT-PAC-007 |
policy-contract-mgmt |
Read-only | Coverage rules, auth requirements per payer/plan/service | INT-PAC-006 |
billing-claims |
Bi-dir | Auth numbers, status, linkage to claims; denial reasons | INT-PAC-005 |
| DHA eClaimLink | Bi-dir | Auth requests/responses for Dubai | INT-PAC-001 |
| DOH eClaims / Shafafiya | Bi-dir | Auth requests/responses for Abu Dhabi | INT-PAC-002 |
| Physician notification | Outbound | Alerts/messages about auth approval/denial, peer review requests | Internal messaging |
Exception Handling
- Missing clinical documentation:
- System prevents submission and lists required documents; Specialist can save draft but not submit.
- Payer system downtime:
- System queues auth request; status
queued_for_submission; retries periodically; visible in worklist with “Payer offline” indicator. - Mismatch between order and auth (e.g., CPT changed):
- System detects change and prompts Specialist to update auth or request amendment; logs in
prior_auth_requests. - Data privacy:
- If patient has restricted sharing of certain sensitive diagnoses (per UAE PDPL and facility policy), system masks those details and may require explicit consent override before submission.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Faxing prior auth forms and clinical notes to payers | Electronic auth submission via eClaimLink / DOH eClaims with structured payloads | Faster decisions, fewer lost requests |
| Manual paper files tracking auth status | prior_authorizations and prior_auth_requests tables with real-time status |
Enables worklists and KPIs |
| Handwritten notes about peer-to-peer calls | Structured peer review scheduling and notes in auth request record | Better audit trail |
| Paper copies of approval letters attached to charts | Digital auth numbers and documents linked to patient and encounter | Accessible across departments |
Remaining Paper Touchpoints: Some payers may still issue paper letters; these can be scanned and attached, but core process is digital.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
cpoe / scheduling |
Order details (CPT codes, ICD-10-AM diagnoses, provider, encounter) | INT-PAC-007 / Internal API |
policy-contract-mgmt |
Coverage rules, prior auth requirements per payer/plan/service | INT-PAC-006 |
ehr-patient-mgmt |
Clinical documentation (lab results, imaging reports, clinical notes) | Document references / FHIR DocumentReference |
| DHA eClaimLink / DOH eClaims | Auth response (auth number, status, validity, approved units, denial reasons) | REST XML/JSON per DHA/DOH schema |
| User (Authorization Specialist) | Clinical justification, submission channel selection, peer review notes | UI form input (SCR-PAC-002, SCR-PAC-003) |
| User (Physician) | Peer-to-peer review participation, appeal documentation | Internal messaging / clinical notes |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
prior_authorizations |
Auth record (status, auth_number, dates, approved_units) | DB INSERT/UPDATE |
prior_auth_requests |
Submission records (channel, datetime, payer_response, peer_review) | DB INSERT/UPDATE |
billing-claims |
Auth number and status for claim linkage | INT-PAC-005 |
scheduling (encounter_details) |
Auth status flags | Internal API |
| Physician | Approval/denial notifications, peer review requests | Internal messaging / alerts |
| DHA eClaimLink / DOH eClaims | Auth request payload with clinical justification | INT-PAC-001 / INT-PAC-002 |
Post-conditions:
prior_authorizationsrecord exists with final status (approved,denied, orunder_review)- If approved, auth number linked to encounter and available for claims
- If denied, physician notified and appeal workflow available
- All submissions and responses stored for audit
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Coverage rule check (auth required?) | < 2 seconds | N/A (system lookup) | Application logs |
| Draft auth record creation | < 1 second | N/A | prior_authorizations.created_at |
| Specialist reviews and attaches documentation | < 4 business hours from order | Supervisor notified at 2 hours; auto-escalate at 4 hours | prior_authorizations.created_at vs first prior_auth_requests.submission_datetime |
| Electronic auth submission to payer | < 5 seconds (network + submission) | Alert IT if average > 10 seconds | Submission timestamp in prior_auth_requests |
| Payer synchronous response (if applicable) | < 30 seconds | Timeout and queue for async follow-up | Response timestamp in prior_auth_requests |
| Payer async response turnaround | < 2 business days (per DHA/DOH guidelines) | Auth Specialist follows up at 1 business day; escalate to Supervisor at 2 business days | prior_auth_requests.response_datetime - submission_datetime |
| Peer-to-peer review scheduling | Within 1 business day of request | Supervisor escalation if not scheduled | prior_auth_requests.peer_review_scheduled timestamp |
| Total end-to-end (submission to final decision) | < 3 business days | RCM Director notified if > 5 business days | prior_authorizations status change timestamps |
State Transition Diagram
The prior authorization manages a distinct lifecycle from identification through resolution.
WF-PAC-003: Referral Management
Process Flow
Actor: Registration Clerk, Referring Physician, Specialist
Trigger: Patient needs referral for specialist consultation or facility-to-facility service, and payer requires referral per plan rules
Pre-conditions:
- Patient and referring provider exist in
patientsandproviders - Specialist provider exists or is created as external provider record
- Payer and plan known; coverage rules indicate whether referral is required
- Relevant clinical indication (ICD-10-AM) available from EHR
- Referring Physician creates a referral order in CPOE or provides an external referral letter; system captures key details (reason, target specialty, urgency).
- System checks
coverage_rulesfor the patient’s payer/plan to determine if a referral is required for the requested specialist/service. - Decision: Is referral required by payer?
- No → system records “referral not required” and may still create an internal referral for coordination; workflow ends.
- Yes → proceed to step 4. - Registration Clerk or Physician opens the Referral Management screen (SCR-PAC-004) and initiates a new referral.
- System pre-populates patient, referring provider, suspected specialist provider (or specialty), payer, and ICD-10-AM code; user selects specific specialist provider if not already specified.
- Clerk enters
service_type(from Referral Type Codes master data),authorized_visitsrequested, and proposedvalid_from/valid_todates. - System creates a
referralsrecord withstatus = 'pending_submission',authorized_visits,used_visits = 0. - If payer requires referral submission (often embedded in prior auth), system either:
- Submits referral details as part of prior auth (integration with WF-PAC-002), or
- Sends a standalone referral notification via payer portal/API if supported. - System updates
referrals.statusbased on payer response:approved,denied, orunder_review; storesreferral_numberif provided. - System notifies patient and specialist (via SMS/email/portal) of referral approval and shares key details (visits authorized, expiry date) in line with NABIDH/Malaffi policies.
- At each specialist visit check-in, system checks for active referral:
status = 'approved', within validity dates, andused_visits < authorized_visits. - Decision: Is there an active referral with remaining visits?
- Yes → increment
used_visitsand allow visit; update referral record. - No → flag “referral missing/expired” and prompt for new referral or payer exception.
- Yes → increment
- System generates alerts when
valid_tois approaching orused_visitsis close toauthorized_visitsto allow proactive renewal.
Data Modified:
referrals— INSERT (new referral), UPDATE (status, referral_number, used_visits, validity dates)appointments/encounters(scheduling) — UPDATE (referral linkage, referral status flags)
Mermaid Flowchart
Decision Points
- Referral required by payer?
- Based on payer rules; some plans require referrals only for out-of-network or certain specialties. - Active referral with remaining visits?
- If not, system blocks or warns at check-in depending on facility policy. - Referral handled standalone vs embedded in prior auth?
- Some payers treat referral as part of auth; system must follow payer-specific configuration.
Integration Points
| Target Module / System | Direction | Data Exchanged | Protocol / ID |
|---|---|---|---|
cpoe |
Inbound | Referral orders (reason, target specialty, ICD-10-AM) | INT-PAC-007 |
policy-contract-mgmt |
Read-only | Referral requirements per payer/plan/service | INT-PAC-006 |
scheduling |
Bi-dir | Referral linkage to appointments, check-in validation | Internal API |
billing-claims |
Outbound | Referral numbers for claims where required | INT-PAC-005 |
| Patient Portal | Outbound | Referral details and status for patient view | INT-PAC-008 |
Exception Handling
- Specialist not yet in provider master:
- System allows creation of external provider record with minimal required data; flags for credentialing follow-up.
- Payer denies referral:
- System records denial reason; notifies Physician; allows documentation of appeal or alternative plan.
- Referral expired mid-treatment:
- System alerts specialist office and patient; new referral workflow can be initiated.
- Data privacy:
- For sensitive referrals (e.g., mental health), system may restrict visibility to authorised roles only per UAE PDPL and facility policy.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper referral forms handed to patients | Electronic referral records in referrals with portal access |
Reduces lost referrals |
| Faxed referral letters between clinics | Secure electronic notifications and shared referral details | Faster coordination |
| Manual tick sheets tracking visits used vs authorised | Automated used_visits counter and alerts in HIS |
Prevents overuse and denials |
| Paper files with referral approvals | Digital referral numbers and statuses linked to encounters and claims | Improves auditability |
Remaining Paper Touchpoints: External referring providers may still send paper letters; these can be scanned and attached.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
cpoe |
Referral order (reason, target specialty, ICD-10-AM, urgency) | INT-PAC-007 / Internal API |
policy-contract-mgmt |
Referral requirements per payer/plan/service | INT-PAC-006 |
ehr-patient-mgmt |
Patient demographics, referring provider details | Internal API |
scheduling |
Specialist provider list, appointment availability | Internal API |
| Payer (eClaimLink / DOH / portal) | Referral approval/denial response, referral number | REST API / manual portal entry |
| User (Registration Clerk / Physician) | Service type, authorized visits, validity dates | UI form input (SCR-PAC-004) |
| Master Data | Referral Type Codes, payer referral configuration | referral_type_codes, payer config tables |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
referrals |
Referral record (status, referral_number, authorized/used visits, validity) | DB INSERT/UPDATE |
scheduling (appointments) |
Referral linkage, referral status flags for check-in | Internal API |
billing-claims |
Referral numbers for claims submission | INT-PAC-005 |
patient-portal |
Referral details and status for patient view | INT-PAC-008 (FHIR) |
| Patient / Specialist | Referral approval notification (SMS/email/portal) | Notification service |
Post-conditions:
referralsrecord exists with status (approved,denied, orunder_review)- If approved, referral linked to relevant appointments and available for claims
- Visit counter (
used_visits) initialized and tracked at each specialist check-in - Expiry alerts configured for proactive renewal
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Coverage rule check (referral required?) | < 2 seconds | N/A (system lookup) | Application logs |
| Referral record creation | < 1 second | N/A | referrals.created_at |
| Submission to payer (electronic) | < 5 seconds | Alert IT if > 10 seconds | Submission timestamp |
| Payer referral decision | < 2 business days | Auth Specialist follows up at 1 business day | Response timestamp vs submission |
| Patient/specialist notification | < 15 minutes after approval | Auto-send; alert if queued > 30 minutes | Notification delivery timestamp |
| Check-in referral validation | < 2 seconds | N/A (system lookup) | Application logs |
| Referral expiry alert generation | 7 days before valid_to |
Auto-alert; escalate if no action within 3 days | Alert creation timestamp |
WF-PAC-004: Patient Cost Estimation
Process Flow
Actor: Financial Counselor, Registration Clerk
Trigger: Patient requests cost estimate or is scheduled for high-cost procedure (e.g., surgery, MRI)
Pre-conditions:
- Patient and planned services known (from scheduling or CPOE orders)
- Payer and plan identified; recent eligibility check available or in progress
- Contracted fee schedules and coverage rules available from
policy-contract-mgmt - Patient informed that estimate is not a guarantee of payment (per payer and facility policy)
- Financial Counselor opens the Cost Estimator screen (SCR-PAC-005) for a specific patient and upcoming encounter.
- System retrieves planned services (CPT codes) from scheduling/CPOE and displays them in the estimator.
- System fetches contracted rates for each CPT from
policy-contract-mgmt(fee schedules) based on payer, plan, and facility. - System retrieves latest
eligibility_responsesfor the patient’s payer/plan to determine deductible remaining, co-pay, coinsurance, and annual max remaining. - Counselor can add or remove planned services (e.g., additional anaesthesia, implants) and adjust quantities.
- System calculates
estimated_charges(sum of contracted rates) and applies coverage logic to compute:
-estimated_payer_payment
-estimated_patient_responsibility
- Breakdown: deductible applied, co-pay, coinsurance. - System creates or updates a
cost_estimatesrecord with all calculated fields,estimate_datetime,valid_until(e.g., 30 days), and links topatient_id,encounter_id,payer_id. - Counselor reviews the estimate with the patient, using bilingual EN/AR display; system can generate a patient-friendly PDF or portal view.
- Patient acknowledges the estimate verbally or electronically; system records
acknowledged_by_patient(boolean) and user/time of acknowledgment. - Decision: Does patient request a payment plan or financial assistance?
- No → workflow ends with estimate stored.
- Yes → system creates a task or direct link to Financial Counseling workflow (WF-PAC-005).
- If services change before procedure (e.g., additional CPTs added), system detects changes and recalculates the estimate, creating a new version in
cost_estimatesor updating existing record with versioning.
Data Modified:
cost_estimates— INSERT (new estimate), UPDATE (recalculation, acknowledgment, validity)financial_counseling_records— INSERT (if counseling triggered)
Mermaid Flowchart
Decision Points
- Use existing eligibility vs require new check?
- If last eligibility is older than facility threshold (e.g., 30 days), system may prompt to re-verify before estimating. - Patient requests payment plan/assistance?
- If yes, triggers WF-PAC-005. - Services changed after estimate?
- If yes, system recalculates and flags prior estimate as superseded.
Integration Points
| Target Module / System | Direction | Data Exchanged | Protocol / ID |
|---|---|---|---|
scheduling |
Read-only | Planned procedures and appointments | INT-PAC-004 |
cpoe |
Read-only | Ordered services (CPT, ICD-10-AM) | Internal API |
policy-contract-mgmt |
Read-only | Fee schedules, contracted rates, coverage rules | Internal API |
billing-claims |
Outbound | Estimated patient responsibility for pre-collection planning | INT-PAC-005 |
| Patient Portal | Outbound | Cost estimate summary for patient view | INT-PAC-008 |
Exception Handling
- Missing fee schedule for CPT:
- System flags missing configuration; Counselor can enter a manual estimate with reason; record flagged for finance follow-up.
- Outdated eligibility data:
- System warns user and suggests running eligibility verification; user can proceed with disclaimer.
- Patient disputes estimate:
- Counselor can add notes in
cost_estimatesand adjust assumptions (e.g., out-of-network vs in-network) with clear documentation.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Verbal cost quotes with no documentation | Structured cost_estimates records with full breakdown |
Improves transparency and reduces disputes |
| Manual price lookups from printed fee schedules | Automated retrieval of contracted rates from master data | Reduces errors and staff time |
| Paper cost estimate forms signed by patients | Electronic acknowledgment stored in HIS, printable if needed | Better audit trail |
| Separate paper notes for assumptions and caveats | Structured notes and versioning within cost_estimates |
Supports KPI “Cost Estimate Accuracy” |
Remaining Paper Touchpoints: Patient may request printed estimate; otherwise digital via portal or email.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
scheduling / cpoe |
Planned services (CPT codes, quantities, encounter context) | INT-PAC-004 / Internal API |
policy-contract-mgmt |
Contracted rates (fee schedules), coverage rules | Internal API |
eligibility_responses |
Latest benefits (deductible remaining, copay, coinsurance, annual max) | DB read / Internal API |
ehr-patient-mgmt |
Patient demographics and insurance details | Internal API |
| User (Financial Counselor) | Service adjustments, quantity changes, assumptions | UI form input (SCR-PAC-005) |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
cost_estimates |
Estimate record (charges, payer payment, patient responsibility, breakdown, validity) | DB INSERT/UPDATE |
billing-claims |
Estimated patient responsibility for pre-collection planning | INT-PAC-005 |
patient-portal |
Cost estimate summary for patient view | INT-PAC-008 (FHIR) |
| Patient | Bilingual EN/AR estimate (screen display, PDF, portal) | UI + PDF generation |
financial_counseling_records |
Counseling task (if patient requests payment plan/assistance) | DB INSERT (triggers WF-PAC-005) |
Post-conditions:
cost_estimatesrecord exists with all calculated fields and validity period- Patient acknowledgment recorded (if obtained)
- If services change, estimate is recalculated and versioned
- If patient requests assistance, financial counseling task created
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Load planned services and payer data | < 3 seconds | N/A (system performance) | Application logs |
| Fetch contracted rates from Policy & Contracts | < 2 seconds | Alert IT if > 5 seconds | API response time |
| Retrieve latest eligibility benefits | < 2 seconds | N/A | DB query time |
| Calculate charges and patient responsibility | < 1 second | N/A | Application logs |
| Present estimate to patient | < 5 minutes (counselor review and explanation) | N/A (counselor-paced) | cost_estimates.estimate_datetime |
| Total end-to-end (screen open to estimate stored) | < 2 minutes (system time, excluding counselor review) | N/A | cost_estimates timestamps |
| Recalculation on service change | < 5 seconds after change detected | N/A | Application logs |
| Estimate validity period | 30 days from creation (configurable) | Alert if services scheduled beyond validity | cost_estimates.valid_until |
WF-PAC-005: Financial Counseling
Process Flow
Actor: Financial Counselor
Trigger: Patient identified as self-pay, high estimated out-of-pocket (OOP), uninsured, underinsured, or referred from eligibility/cost estimation workflows
Pre-conditions:
- Patient account and outstanding balances available from
billing-claims - Cost estimate or existing high balance identified
- Facility financial assistance policies and Financial Assistance Programs master data configured
- Patient consent to discuss financial details recorded per UAE PDPL
- Financial Counselor opens the Financial Counseling screen (SCR-PAC-006) for a specific patient.
- System retrieves patient’s financial history: outstanding balances, previous payment plans, prior charity applications from
billing-claimsandfinancial_counseling_records. - System displays recent
cost_estimatesand upcoming high-cost procedures, if any. - Counselor reviews patient’s situation with them (employment status, income range, dependents, residency status) and records summary in
patient_situation. - System suggests applicable options based on Financial Assistance Programs and Payment Plan Templates (e.g., 6-month instalment, 12-month instalment).
- Counselor presents options: payment plan, upfront discount per facility policy, charity care application, government assistance (e.g., local emirate support schemes).
- Decision: Which option(s) does the patient choose?
- Payment plan → step 8.
- Charity care → step 9.
- Immediate full payment or no arrangement → step 10. - For payment plan: Counselor configures
payment_plan_setup(amount, instalments, due dates) using template; system creates or references apayment_plan_idin billing system and links it infinancial_counseling_records. - For charity care: Counselor initiates
charity_application_id(in billing/finance module), uploads required documents, and records status; system links it infinancial_counseling_records. - Counselor documents
options_presentedandpatient_decision(e.g., “Accepted 12-month plan”, “Declined assistance”). - System creates a
financial_counseling_recordsentry withsession_datetime,counseling_type,notes, and links to any payment plan or charity application. - If electronic signature is supported, patient signs digitally on tablet; system stores signature reference and marks agreement as accepted.
- System notifies
billing-claimsof new arrangements for account handling and collections strategy.
Data Modified:
financial_counseling_records— INSERT (each counseling session)- Payment plan / charity tables (in
billing-claims) — INSERT/UPDATE (via integration)
Mermaid Flowchart
Decision Points
- Eligibility for assistance programs?
- System can pre-screen based on income/residency criteria; Counselor confirms. - Patient chooses payment plan vs charity vs no arrangement?
- Determines downstream billing strategy. - Digital signature available?
- If not, Counselor may record verbal agreement and follow facility policy.
Integration Points
| Target Module / System | Direction | Data Exchanged | Protocol / ID |
|---|---|---|---|
billing-claims |
Bi-dir | Account balances, payment plans, charity applications, updates | INT-PAC-005 |
| Patient Portal | Outbound | Summary of financial arrangements, payment plan schedule | FHIR / internal |
ehr-patient-mgmt |
Read-only | Demographics, contact details | Internal API |
Exception Handling
- Incomplete financial information:
- Counselor can proceed with partial data but must record limitations; system flags record as “provisional”.
- Patient declines to share financial details:
- Counselor records refusal; system marks as “no counseling” and informs billing to follow standard collections.
- Assistance program rules change:
- Master data update required; system should not allow use of expired templates.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper financial hardship applications | Electronic capture of applications and supporting documents | Easier tracking and reporting |
| Handwritten payment plan agreements | Structured payment plans linked to billing system | Clear terms, automated reminders |
| Paper counseling notes stored in physical files | financial_counseling_records with searchable notes |
Supports audits and quality review |
| Manual phone logs for follow-up | Task and reminder system integrated with HIS and portal | Better follow-through |
Remaining Paper Touchpoints: Some government assistance programs may still require paper forms; these can be scanned and referenced.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
billing-claims |
Patient account balances, payment history, outstanding amounts | INT-PAC-005 / Internal API |
cost_estimates |
Recent cost estimates for upcoming procedures | DB read |
ehr-patient-mgmt |
Patient demographics, contact details | Internal API |
| Master Data | Financial Assistance Programs, Payment Plan Templates | Configuration tables |
| User (Financial Counselor) | Patient situation (employment, income range, dependents, residency) | UI form input (SCR-PAC-006) |
| Patient | Financial details, option selection, digital signature | UI / tablet input |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
financial_counseling_records |
Session record (type, notes, options presented, patient decision, signature) | DB INSERT |
billing-claims (payment plans) |
Payment plan setup (amount, instalments, due dates) | INT-PAC-005 / Internal API |
billing-claims (charity) |
Charity care application (documents, status) | INT-PAC-005 / Internal API |
patient-portal |
Summary of financial arrangements, payment plan schedule | FHIR / Internal API |
| Patient | Digital or printed agreement summary | UI + optional PDF |
Post-conditions:
financial_counseling_recordsentry exists with session details- If payment plan accepted, plan created in billing system and linked
- If charity care initiated, application tracked with document references
- Billing notified of new arrangements for account handling
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Load financial history and estimates | < 3 seconds | N/A (system performance) | Application logs |
| Counselor reviews patient situation | 10-30 minutes (counselor-paced) | N/A | financial_counseling_records.session_datetime |
| System suggests assistance options | < 2 seconds | N/A | Application logs |
| Payment plan creation in billing | < 5 seconds | Alert IT if > 15 seconds | API response time |
| Charity care application initiation | < 5 seconds | N/A | Application logs |
| Digital signature capture | < 2 minutes (patient-paced) | N/A | Signature timestamp |
| Billing notification of arrangements | < 30 seconds (async) | Alert if not confirmed within 5 minutes | Integration event timestamp |
| Total counseling session | 15-45 minutes | N/A (patient-driven) | Session start/end timestamps |
WF-PAC-006: Pre-Registration
Process Flow
Actor: Registration Clerk, Patient (via Portal), System
Trigger: Appointment booked, scheduled procedure, or patient-initiated online pre-registration
Pre-conditions:
- Appointment exists in
appointments(scheduling) with date/time and visit type - Patient has contact details (mobile/email) in
ehr-patient-mgmt - Pre-registration question sets configured per visit type
- Patient portal account available or invitation process in place
- Consent and privacy notices aligned with UAE PDPL presented in portal
- When an appointment is created or updated, system evaluates visit type and lead time to determine if pre-registration is applicable.
- System creates a
pre_registration_recordsentry withstatus = 'invited', links topatient_idandappointment_id, and setsinvitation_sent_datetime. - System sends pre-registration invitation via SMS/email with secure link to Patient Portal (INT-PAC-008) and/or notifies Registration Clerk to perform phone-based pre-registration if patient has no portal access.
- Patient logs into portal and opens pre-registration; system presents configured Pre-Registration Question Sets (demographics, insurance, consents) in EN/AR.
- Patient updates demographics (address, phone, emergency contacts) and uploads insurance card images; system writes changes to
ehr-patient-mgmtvia internal APIs and marksdemographics_complete = truewhen required fields are filled. - Patient enters insurance details; system triggers an automatic eligibility check (WF-PAC-001) and, upon success, sets
insurance_verified = trueinpre_registration_records. - System checks coverage rules for scheduled services to identify any prior auth or referral requirements; if all required items are present and valid, sets
auth_verified = true. - Patient reviews and electronically signs consent forms (treatment, data processing per UAE PDPL, NABIDH/Malaffi data sharing where applicable); system records
consent_obtained = trueand stores consent artifacts in EHR. - Decision: Are all pre-registration components complete (demographics, insurance, auth/referral, consents)?
- Yes → system sets
status = 'complete'andcompleted_datetimeinpre_registration_records.
- No → system setsstatus = 'in_progress'and lists incomplete items. - For patients unable to use portal, Registration Clerk uses phone or in-person call to complete the same fields via SCR-PAC-007; system updates
pre_registration_recordsaccordingly. - On day of service, check-in screen shows pre-registration status; if complete, clerk can perform expedited check-in with minimal verification.
- System tracks pre-registration completion rate for KPI reporting.
Data Modified:
pre_registration_records— INSERT (new record), UPDATE (status, flags, timestamps)patients/patient_demographics/patient_identifiers(ehr-patient-mgmt) — UPDATE (demographics, insurance)eligibility_checks/eligibility_responses— INSERT (auto eligibility)
Mermaid Flowchart
Decision Points
- Pre-registration applicable?
- Based on visit type (e.g., elective vs emergency) and time until appointment. - Patient uses portal vs clerk-assisted?
- Determines whether data entry is patient-driven or staff-driven. - All components complete?
- Drives status and check-in workflow.
Integration Points
| Target Module / System | Direction | Data Exchanged | Protocol / ID |
|---|---|---|---|
scheduling |
Bi-dir | Appointment details, pre-reg status for dashboard | INT-PAC-004 |
ehr-patient-mgmt |
Bi-dir | Demographics, insurance, consents | Internal API |
patient-portal |
Bi-dir | Pre-reg forms, cost estimates, consents | INT-PAC-008 (FHIR) |
billing-claims |
Outbound | Pre-reg completion and eligibility status for financial clearance | INT-PAC-005 |
Exception Handling
- Patient does not respond to invitation:
- System flags appointment in Pre-Registration Dashboard (SCR-PAC-007) for clerk follow-up; reminder SMS/email may be sent.
- Eligibility or auth cannot be completed before visit:
- System flags encounter as not fully financially cleared; supervisor can override or reschedule per policy.
- Data conflicts with existing records (e.g., different Emirates ID):
- System prompts for manual review and may require identity verification at check-in.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper pre-admission packets mailed to patients | Online pre-registration via portal with structured forms | Faster, lower postage costs |
| Manual phone questionnaires recorded on paper | Electronic data entry by clerks with direct write to EHR | Reduces transcription errors |
| Wet signatures on consent forms stored in paper charts | Electronic consents stored in EHR with timestamps | Easier retrieval and audit |
| Paper copies of insurance cards | Digital uploads linked to patient record | No physical storage needed |
Remaining Paper Touchpoints: Patients without digital access may still sign paper consents at check-in; these can be scanned into the system.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
scheduling |
Appointment details (date, time, visit type, provider, department) | INT-PAC-004 / Internal API |
ehr-patient-mgmt |
Current patient demographics, insurance, contact info | Internal API |
policy-contract-mgmt |
Coverage rules for scheduled services (auth/referral requirements) | INT-PAC-006 |
patient-portal |
Completed pre-registration forms, updated demographics, insurance uploads, signed consents | INT-PAC-008 (FHIR) |
| Master Data | Pre-Registration Question Sets per visit type | Configuration tables |
| User (Registration Clerk) | Phone-based pre-reg data entry (for patients without portal access) | UI form input (SCR-PAC-007) |
| Patient | Demographics updates, insurance card images, consent signatures | Portal / phone |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
pre_registration_records |
Pre-reg record (status, flags, timestamps) | DB INSERT/UPDATE |
ehr-patient-mgmt (patients, demographics) |
Updated demographics, insurance, consents | Internal API |
eligibility_checks / eligibility_responses |
Auto-triggered eligibility verification results | DB INSERT (via WF-PAC-001) |
scheduling |
Pre-registration status for check-in dashboard | Internal API |
billing-claims |
Pre-reg completion and eligibility status for financial clearance | INT-PAC-005 |
| Patient | Pre-registration invitation (SMS/email with secure link) | Notification service |
Post-conditions:
pre_registration_recordsexists with status (invited,in_progress, orcomplete)- If complete, all components verified: demographics, insurance, eligibility, auth/referral, consents
- Day-of-service check-in is expedited for patients with complete pre-registration
- Pre-registration completion rate tracked for KPI reporting
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Pre-reg record creation after appointment booking | < 1 minute | N/A (automated) | pre_registration_records.created_at vs appointments.created_at |
| Invitation sent (SMS/email) | < 5 minutes after record creation | Alert if queued > 15 minutes | pre_registration_records.invitation_sent_datetime |
| Patient completes pre-registration (portal) | < 72 hours before appointment | Reminder at 48 hours; clerk follow-up at 24 hours | pre_registration_records.completed_datetime |
| Clerk phone-based pre-reg completion | < 15 minutes per patient | N/A (staff-paced) | Session duration |
| Auto eligibility check trigger | < 30 seconds after insurance data saved | Alert if delayed > 5 minutes | eligibility_checks.check_datetime |
| Auth/referral requirements check | < 5 seconds | N/A (system lookup) | Application logs |
| Pre-reg status sync to scheduling | < 30 seconds | Alert if sync delayed > 5 minutes | Integration event timestamp |
| Check-in with complete pre-reg | < 3 minutes (vs 10-15 minutes without) | N/A | Check-in duration metric |
State Transition Diagram
The pre-registration record manages a distinct lifecycle from invitation through check-in.