Denial Analysis Workflows
This document defines six core workflows for the Denial Analysis module of the Gates Group HIS. The module supports UAE revenue cycle operations by digitising denial intake, root cause analysis, appeals, prevention planning, and payer performance monitoring.
Regulatory context (UAE):
- UAE PDPL (Federal Decree-Law No. 45/2021): governs processing of patient and payer-related personal data in denial analytics and reporting.
- DHA eClaimLink / DOH eClaims (Shafafiya): define electronic claim and appeal formats and timelines for Dubai and Abu Dhabi.
- MOH / DOH / DHA: oversight of billing practices, clinical documentation standards, and auditability of write-offs and appeals.
- NABIDH / Malaffi: clinical data sources that may be referenced for medical necessity appeals (via other modules).
All workflows assume strict role-based access control (RBAC) and audit logging in line with UAE PDPL and local health authority policies.
WF-DENIALANALYSIS-001: Denial Receipt & Categorization (WF-DEN-001)
Process Flow
Actor: System (automated), Denial Analyst
Trigger: Claim denied or partially denied during payment posting in billing-claims
Pre-conditions:
- Claim exists in
billing-claims.claimsand is linked to: patients.patient_id(fromehr-patient-mgmt)payers.payer_id(frompolicy-contract-mgmt)- Payment posting process has received denial information from payer (eClaimLink / DOH eClaims / other).
- Payer-specific denial code mapping is configured in
denial_categories/ mapping tables.
Steps:
- System receives denial feed from
billing-claimswhen a claim (e.g., Claim #DXB-2026-000234) is posted with a denial or partial denial status. - System validates inbound data:
- Confirms
claim_idexists. - Confirmspatient_id,payer_id,facility_idare present. - Confirms denied amount > 0. - System creates a new record in
denial_recordswith: -claim_id,claim_line_id(if line-level denial), -patient_id,payer_id,facility_id, -denial_date(from payer remittance), -denial_codeanddenial_description, -denied_amountand initialstatus = 'NEW'. - System auto-maps payer denial code to internal
denial_category_idusing the Denial Code Mapping master data: - Example categories: Eligibility, Authorization, Coding, Medical Necessity, Timely Filing, Duplicate, Bundling. - System calculates financial impact:
- Stores
denied_amount, - Optionally calculates estimatedpatient_impact_amount(if patient liability increases) and stores in extended fields. - System determines whether denial is header-level (entire claim) or line-level and sets appropriate flags in
denial_records. - System assigns the denial to a Denial Analyst:
- Uses routing rules based on
denial_category_id,payer_id,facility_id, and workload. - Updatesassigned_analyst_idandstatus = 'ASSIGNED'. - System calculates appeal deadline:
- Queries
Appeal Deadline Rulesmaster data (from contracts viapolicy-contract-mgmt), - Setsappeal_deadline_dateindenial_records, - Starts internal “appeal clock” (days remaining). - System queues the denial for root cause analysis:
- Adds to the analyst’s worklist (screen
SCR-DEN-001), - Flags high-priority items (e.g., denied_amount > configured threshold, or appeal_deadline_date within X days). - Denial Analyst reviews the worklist, optionally adjusts priority, and confirms ownership of the denial.
- System logs all actions in an internal audit log (table in this module or shared) including user, timestamp, and changes for PDPL accountability.
- System notifies relevant stakeholders (optional configuration):
- Email/notification to Denial Manager for large denials (e.g., > AED 50,000),
- Dashboard widgets updated for real-time denial volume.
Data Modified:
denial_records— INSERT (new denial), UPDATE (assignment, status, appeal_deadline_date, priority)denial_trends— UPDATE/INSERT (aggregated counters for period, payer, category)payer_denial_scorecards— UPDATE (incremental metrics, if near-real-time)- Audit log table (module-level, e.g.,
denial_audit_log) — INSERT
Mermaid Flowchart
Decision Points
-
Validation success
- If claim/patient/payer references are valid → proceed to createdenial_records.
- If invalid → do not create denial; log error and notify Denial Manager and Billing team for data correction. -
Denial code mapping
- If payer denial code is mapped → setdenial_category_idand proceed.
- If not mapped → set category toUNMAPPED, flag for manual categorization, and optionally route to Senior Denial Analyst. -
Priority determination
- Ifdenied_amount≥ configured high-value threshold ORappeal_deadline_datewithin X days → mark as high priority and notify Denial Manager.
- Else → standard priority.
Integration Points
- Billing & Claims (
billing-claims) - Direction: Inbound
- Data: Claim denial details (claim status, denial codes, denied amounts, line-level info).
- Mechanism: Internal API / shared database (
INT-DEN-001). -
Trigger: Payment posting sets claim to denied/partially denied.
-
Policy & Contract Management (
policy-contract-mgmt) - Direction: Read
- Data: Appeal deadline rules per payer/contract.
- Mechanism: Internal API / shared database (
INT-DEN-002). - Trigger: Need to compute
appeal_deadline_date.
Exception Handling
- Missing or invalid references (claim, patient, payer, facility):
- System does not create
denial_records. - Error logged with details (e.g., Claim #AUH-2026-001122, Emirates ID 784-1990-1234567-1).
- Notification sent to Billing Supervisor and Denial Manager.
-
Once corrected in
billing-claims, denial feed is resent or reprocessed. -
Unmapped denial codes:
- Denial created with
denial_category_id = NULLandstatus = 'NEEDS_CATEGORY'. - Added to a special “Unmapped Denials” queue for Denial Manager.
-
Denial Code Mapping master data updated; system can retroactively re-categorise.
-
Appeal deadline rule missing:
- System sets
appeal_deadline_dateto NULL and flagsdeadline_status = 'UNKNOWN'. - Alert to Denial Manager and Contract Management team to configure rule.
-
Denial remains in worklist but highlighted as “Deadline Unknown”.
-
System / database error:
- Transaction rolled back; denial not created.
- Error logged with stack trace; IT support alerted.
- Billing-claims retains denial status and can re-trigger once resolved.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Manual denial logs kept in notebooks or binders | Automatic creation of denial_records from electronic remittance |
Eliminates transcription errors and delays. |
| Excel spreadsheets for denial categorisation and tracking | Centralised denial worklist (SCR-DEN-001) with filters and priorities |
Single source of truth; supports KPIs and dashboards. |
| Manual calculation of appeal deadlines from paper contracts | Automated deadline computation from contract rules | Reduces missed appeal windows and supports PDPL-compliant audit trails. |
| Email chains to assign denials to analysts | Rule-based assignment stored in denial_records.assigned_analyst_id |
Clear accountability and workload balancing. |
Remaining Paper Touchpoints: None — fully digital for receipt and categorisation.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| Billing & Claims (INT-DEN-001) | Claim denial details (claim_id, denial codes, denied amounts, line-level info, payer, plan) | Internal API / shared DB event |
| Billing & Claims | Claim header and line data (CPT, ICD-10-AM, charges, payments) | claims, claim_lines, payment_allocations tables |
| Policy & Contract Management (INT-DEN-002) | Appeal deadline rules per payer/contract | Internal API |
| Master Data | Denial code mappings (payer codes to internal categories) | denial_categories, denial_code_mappings tables |
| Master Data | Assignment rules (category, payer, facility, workload) | denial_assignment_rules table |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
denial_records |
New denial record (claim, payer, denial code, category, amount, status, assigned analyst, appeal deadline) | SQL INSERT |
denial_trends |
Aggregated counters by period, payer, category | SQL UPDATE / INSERT |
payer_denial_scorecards |
Incremental metrics update | SQL UPDATE |
| Denial Worklist (SCR-DEN-001) | New denial for analyst review | Worklist entry |
| Denial Manager (notification) | Alert for high-value denials (> AED 50,000) | Email / in-app notification |
| Audit log | All actions logged with user, timestamp, changes | SQL INSERT |
Post-conditions:
- Denial record exists with
status = 'ASSIGNED'and analyst ownership confirmed - Internal denial category mapped from payer denial code
- Appeal deadline calculated and appeal clock started
- Denial visible on analyst worklist with priority flag
- Denial trends and scorecards updated with new denial data
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Payment posting to denial record creation | < 15 minutes | If > 1 hour, alert integration team | denial_records.created_at minus billing posting timestamp |
| Denial code mapping (auto) | < 5 seconds | If unmapped, flag for manual categorization | denial_records.category_mapped_at |
| Analyst assignment (auto-rules) | < 1 minute | If no rule matched, assign to Senior Analyst pool | denial_records.assigned_at |
| Analyst acknowledgement of assignment | < 4 hours (business hours) | If > 8 hours, escalate to Denial Manager | denial_records.acknowledged_at |
| Appeal deadline calculation | < 1 minute | If deadline rules missing, flag as UNKNOWN; alert Contract team | denial_records.appeal_deadline_date |
| High-value denial notification | < 5 minutes after creation | Automatic for denials > AED 50,000 | Notification delivery timestamp |
State Transition Diagram
WF-DENIALANALYSIS-002: Root Cause Analysis (WF-DEN-002)
Process Flow
Actor: Denial Analyst, Denial Manager
Trigger: Denial categorized and assigned (status ASSIGNED in denial_records)
Pre-conditions:
denial_recordsrow exists with validclaim_id,payer_id,denied_amount.- Denial assigned to an analyst (
assigned_analyst_idnot NULL). - Analyst has
view_denialsandanalyze_root_causepermissions. - Access to claim, encounter, and contract details via:
billing-claims(claim details),ehr-patient-mgmt(clinical context via other modules),policy-contract-mgmt(contract terms).
Steps:
- Denial Analyst opens the Denial Worklist (
SCR-DEN-001) and selects a denial with statusASSIGNED. - System loads Denial Detail & Root Cause screen (
SCR-DEN-002) showing: - Claim header and line details (CPT, ICD-10-AM, charges), - Payer denial codes and narrative, - Patient demographics (e.g., Ahmed Al-Maktoum, Emirates ID 784-1985-1234567-2), - Encounter details (date of service, facility, provider). - Analyst reviews payer response and original claim submission, including any prior authorisation numbers and eligibility checks.
- Analyst investigates process flow:
- Front-end: registration, eligibility, authorisation (via
patient-accessand scheduling). - Mid-cycle: coding, documentation (via coding and clinical documentation modules). - Back-end: billing, claim submission timing and format (viabilling-claims). - Analyst identifies the primary root cause category (e.g., “Front-end – Eligibility not verified”) and selects from the
Root Cause Classificationmaster data. - Analyst documents detailed root cause in
denial_root_causes: -root_cause_category,root_cause_detail, -process_failure_point(e.g., “Pre-registration – insurance card not scanned”), -responsible_department(e.g., Patient Access, Coding, Billing), -identified_by(analyst user),identified_date. - System links
denial_root_causes.root_cause_idback todenial_records.root_cause_idand updatesis_preventablebased on analyst input. - Analyst determines whether the denial is preventable:
- If preventable → sets
is_preventable = TRUE. - If non-preventable (e.g., payer policy change, benefit limit reached) → setsis_preventable = FALSE. - Analyst recommends next action:
- Appeal (go to WF-DEN-003),
- Corrected claim resubmission (via
billing-claims), - Write-off (subject to approval thresholds), - No further action (e.g., non-appealable). Recommendation is recorded indenial_records.next_action. - System updates
denial_records.statusto:READY_FOR_APPEAL,READY_FOR_RESUBMISSION, orPENDING_WRITE_OFF_REVIEW.
- If the analyst identifies a systemic pattern (e.g., repeated eligibility denials for a specific clinic), they flag “Systemic Issue” in the UI.
- System prompts creation of a
denial_prevention_actionsrecord (see WF-DEN-005) and pre-populates category, payer, and description. - Denial Manager periodically reviews root cause distributions and systemic flags via dashboards, ensuring alignment with DOH/DHA audit expectations.
Data Modified:
denial_root_causes— INSERT (new root cause record)denial_records— UPDATE (root_cause_id,is_preventable,next_action,status,responsible_department)denial_prevention_actions— INSERT (if systemic issue flagged)denial_trends— UPDATE (root cause statistics)
Mermaid Flowchart
Decision Points
-
Preventable vs non-preventable
- If preventable → flagged for prevention metrics and potential action planning.
- If non-preventable → excluded from preventable denial KPIs. -
Systemic pattern
- If analyst flags systemic issue → auto-createdenial_prevention_actionsdraft and notify Denial Manager.
- If not systemic → no prevention action created. -
Next action selection
- If appeal recommended → denial routed to Appeal Management queue (WF-DEN-003).
- If corrected claim resubmission → task sent to Billing team; statusREADY_FOR_RESUBMISSION.
- If write-off → routed to Denial Manager/Finance for approval based onWrite-Off Approval Thresholds.
Integration Points
- EHR / Clinical Modules (via
ehr-patient-mgmtand others) - Direction: Read
- Data: Clinical notes, orders, documentation supporting medical necessity.
-
Used to determine if documentation gaps caused denial.
-
Patient Access
- Direction: Read
- Data: Eligibility checks, authorisation records.
-
Used to identify front-end failures.
-
Billing & Claims (
billing-claims) - Direction: Read/Notify
- Data: Claim submission history, resubmission options.
-
Used when recommending corrected claim resubmission.
-
Policy & Contract Management (
policy-contract-mgmt) - Direction: Read
- Data: Contract terms, coverage rules.
- Used to distinguish payer policy denials from internal process failures.
Exception Handling
- Insufficient data to determine root cause:
- Analyst sets
root_cause_category = 'UNKNOWN'and records notes. - Denial flagged for escalation to Senior Denial Analyst.
-
System tracks unresolved root causes for management review.
-
Conflicting information between systems (e.g., eligibility verified in Patient Access but payer denies for eligibility):
- Analyst records discrepancy in
denial_root_causes. - System can tag denial for payer dispute and contract review.
-
Data shared with Policy & Contract Management for future negotiations.
-
User session timeout / unsaved changes:
- Auto-save draft root cause notes every X minutes.
- If session expires, user can resume from last draft without data loss.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper root cause forms attached to remittance advices | Structured denial_root_causes entries linked to denial_records |
Enables analytics by department, category, and process failure point. |
| Handwritten notes in files or email threads | Standardised root cause fields and free-text notes stored centrally | Improves consistency and supports DOH/DHA audits. |
| Manual tallying of root causes in spreadsheets | Automated aggregation in denial_trends and dashboards |
Real-time KPIs like Preventable Denial Rate. |
| Paper-based escalation memos for systemic issues | In-system flagging and creation of denial_prevention_actions |
Direct linkage from individual denials to improvement projects. |
Remaining Paper Touchpoints: None — analysis and documentation are fully digital.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
denial_records |
Assigned denial with claim, payer, denial code, category, amount | denial_records table |
| Billing & Claims | Claim header/line details (CPT, ICD-10-AM, charges, submission history) | claims, claim_lines tables via INT-DEN-001 |
| EHR / Clinical Modules | Clinical notes, orders, documentation (for medical necessity assessment) | Internal API (read-only) |
| Patient Access | Eligibility verification records, authorization records | Internal API (read-only) via INT-DEN-003 |
| Policy & Contract Management (INT-DEN-002) | Contract terms, coverage rules, payer policies | Internal API |
| Master Data | Root cause classification categories | root_cause_classifications table |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
denial_root_causes |
Root cause record (category, detail, process failure point, responsible department) | SQL INSERT |
denial_records |
Updated root_cause_id, is_preventable, next_action, status | SQL UPDATE |
denial_prevention_actions |
Draft prevention action (if systemic issue flagged) | SQL INSERT |
denial_trends |
Updated root cause statistics | SQL UPDATE |
Post-conditions:
- Root cause identified and documented with classification and detail
- Denial marked as preventable or non-preventable
- Next action determined (appeal, resubmission, write-off, no action)
- Denial status updated to reflect recommended action
- Systemic issues flagged and prevention action drafted if applicable
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Analyst begins root cause analysis | < 24 hours after assignment | If > 48 hours, escalate to Denial Manager | denial_root_causes.identified_date minus denial_records.assigned_at |
| Root cause classification completion | < 2 business days | If > 3 days, escalate to Senior Denial Analyst | denial_root_causes.identified_date |
| Next action determination | Same session as root cause completion | If deferred > 4 hours, alert Denial Manager | denial_records.next_action update timestamp |
| Systemic issue flag and prevention action draft | Within root cause session | Automatic when systemic flag set | denial_prevention_actions.created_at |
| High-priority denials (appeal deadline < 14 days) | Root cause within 1 business day | Auto-escalate to Senior Analyst if not started within 4 hours | denial_records.appeal_deadline_date minus current date |
WF-DENIALANALYSIS-003: Appeal Preparation & Submission (WF-DEN-003)
Process Flow
Actor: Denial Analyst, Coding Specialist, Physician Advisor
Trigger: Root cause analysis recommends appeal (denial_records.next_action = 'APPEAL')
Pre-conditions:
denial_recordshas:status = 'READY_FOR_APPEAL',appeal_deadline_datenot passed.- Required roles:
- Denial Analyst with
prepare_appealsandsubmit_appeals, - Coding Specialist (for coding-related denials),
- Physician Advisor (for medical necessity denials).
- Appeal templates and rules configured in master data:
Appeal Letter Templates,Appeal Deadline Rules.
Steps:
- Denial Analyst opens the Appeal Management screen (
SCR-DEN-003) for a denial markedREADY_FOR_APPEAL. - System displays:
- Denial details and root cause,
- Days remaining until
appeal_deadline_date, - Suggested appeal level (e.g., first-level reconsideration) based on payer rules. - Analyst selects appeal level (first-level, second-level, external review) and confirms that the deadline has not passed.
- System checks if additional clinical or coding support is required: - If denial category is Coding → prompts involvement of Coding Specialist. - If Medical Necessity → prompts Physician Advisor involvement.
- Coding Specialist (if involved) reviews claim codes and: - Provides corrected CPT/ICD-10-AM codes and rationale, - Documents changes in the appeal record (not directly altering original claim yet).
- Physician Advisor (if involved) drafts or uploads a letter of medical necessity, ensuring clinical justification aligns with UAE standards and payer policies.
- Analyst selects appropriate appeal letter template (payer- and category-specific) from master data and merges: - Patient details (e.g., Fatima Al-Nahyan, Emirates ID 784-1992-7654321-3), - Claim and denial details, - Root cause explanation (if relevant), - Coding rationale and/or medical necessity narrative.
- System assembles supporting documentation: - Clinical notes, lab results, imaging reports (via other modules), - Authorisation records, eligibility proofs, - Any prior correspondence with payer.
- Analyst reviews the assembled appeal package and confirms submission method: - DHA eClaimLink (Dubai), - DOH eClaims / Shafafiya (Abu Dhabi), - Other payer portal or email/fax (if allowed).
- System creates an
appealsrecord with:denial_id,appeal_level,submission_method,submission_channel,supporting_docsreferences,appeal_letter_path,status = 'DRAFT'.
- Analyst submits the appeal:
- For eClaimLink / DOH eClaims → system calls respective APIs (
INT-DEN-004,INT-DEN-005) and receives tracking number. - For other methods → analyst records reference number manually.
- For eClaimLink / DOH eClaims → system calls respective APIs (
- System updates
appeals:- Sets
submission_date,status = 'SUBMITTED', - Stores
tracking_numberandsubmission_channel.
- Sets
- System sets
follow_up_datebased on payer-specific response timelines and adds the appeal to the follow-up queue (WF-DEN-004). - System updates
denial_records.status = 'UNDER_APPEAL'and logs all actions for PDPL-compliant audit.
Data Modified:
appeals— INSERT (new appeal), UPDATE (status, submission details, follow_up_date)denial_records— UPDATE (status = 'UNDER_APPEAL')appeal_outcomes— no change yet (created in WF-DEN-004)- Audit log — INSERT
Mermaid Flowchart
Decision Points
-
Appeal deadline check
- If current date >appeal_deadline_date→ system prevents electronic appeal submission, flags denial for write-off review, and records reason.
- If within deadline → proceed. -
Support required
- If coding-related → require Coding Specialist review before submission.
- If medical necessity → require Physician Advisor letter.
- Else → analyst may proceed alone. -
Submission success
- If eClaimLink / DOH eClaims API returns success → store tracking number and markSUBMITTED.
- If API fails → log error, allow retry, or switch to alternate submission channel (e.g., manual portal upload) with manual tracking number.
Integration Points
- Billing & Claims (
billing-claims) - Direction: Outbound (later)
- Data: Corrected codes and resubmission instructions when appeal involves corrected claims.
-
Trigger: Successful appeal that requires resubmission.
-
DHA eClaimLink (
INT-DEN-004) - Direction: Outbound / Inbound
- Data: Appeal submissions and tracking numbers; responses handled in WF-DEN-004.
-
Protocol: REST API, eClaimLink appeal endpoints.
-
DOH eClaims / Shafafiya (
INT-DEN-005) - Direction: Outbound / Inbound
- Data: Appeal submissions and tracking numbers.
-
Protocol: DOH eClaims API.
-
Clinical Data Sources (via other modules)
- Direction: Read
- Data: Clinical notes, lab results, imaging, authorisation records used as supporting documentation.
Exception Handling
- Appeal deadline passed:
- System blocks new appeal creation.
- Denial automatically routed to
PENDING_WRITE_OFF_REVIEW. -
Denial Manager notified; reason recorded for audit.
-
Missing required documentation:
- System validates required attachments based on denial category and payer rules.
-
If missing → prevents submission and highlights missing items (e.g., “Medical necessity letter required”).
-
API submission failure (eClaimLink / DOH eClaims):
- Error logged with response code.
- Appeal remains in
DRAFTorSUBMISSION_FAILEDstatus. -
Analyst can retry or switch to alternate channel (e.g., manual portal upload) and record external reference.
-
PDPL considerations:
- Only minimum necessary patient data included in appeal package.
- Access to appeal documents restricted to authorised roles; all downloads logged.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Typed or handwritten appeal letters printed and mailed/faxed | Auto-generated appeal letters using templates with electronic submission | Faster turnaround; consistent format per payer. |
| Physical folders of supporting clinical documents | Electronic attachment of clinical notes, labs, imaging, and auth records | Reduces risk of missing documents and supports PDPL-compliant access control. |
| Manual calendars for tracking appeal deadlines and follow-ups | System-managed follow_up_date and status tracking in appeals |
Minimises missed follow-ups; supports KPI measurement. |
| Fax confirmation sheets stored in binders | Electronic tracking numbers and submission logs | Improves traceability for DOH/DHA audits and payer disputes. |
Remaining Paper Touchpoints: Some payers may still require physical documentation or signed letters; system should allow recording of such external submissions but core process is digital.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
denial_records |
Denial with status = 'READY_FOR_APPEAL' and root cause |
denial_records table |
denial_root_causes |
Root cause details and recommended action | denial_root_causes table |
| Clinical Data Sources (via EHR) | Clinical notes, lab results, imaging reports, authorization records | Internal API (read-only) |
| Coding Specialist | Corrected CPT/ICD-10-AM codes and rationale (for coding denials) | Manual input on SCR-DEN-003 |
| Physician Advisor | Medical necessity letter (for medical necessity denials) | Document upload |
| Master Data | Appeal letter templates (payer- and category-specific, EN/AR) | appeal_letter_templates table |
| Policy & Contract Management (INT-DEN-002) | Appeal deadline rules, maximum appeal levels | Internal API |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
appeals |
Appeal record (denial_id, appeal_level, submission method, status, tracking number) | SQL INSERT |
| DHA eClaimLink (INT-DEN-004) | Appeal submission with supporting documentation | REST API (XML/JSON) |
| DOH eClaims / Shafafiya (INT-DEN-005) | Appeal submission with supporting documentation | REST API |
denial_records |
Updated status = 'UNDER_APPEAL' | SQL UPDATE |
| Audit log | Appeal preparation and submission actions | SQL INSERT |
Post-conditions:
- Appeal record created with tracking number from payer gateway
- Supporting documentation attached (clinical notes, corrected codes, necessity letter)
- Appeal submitted via appropriate channel (eClaimLink, DOH eClaims, or manual)
- Follow-up date set based on payer response timelines
- Denial status updated to
UNDER_APPEAL
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Root cause completion to appeal initiation | < 2 business days | If > 3 days, escalate to Denial Manager | appeals.created_at minus denial_root_causes.identified_date |
| Coding Specialist review (if needed) | < 2 business days | If > 3 days, escalate to Coding Supervisor | appeals.coding_review_completed_at |
| Physician Advisor letter (if needed) | < 3 business days | If > 5 days, escalate to Medical Director | appeals.physician_letter_completed_at |
| Appeal package assembly and review | < 1 business day after all inputs received | If > 2 days, alert Denial Manager | appeals.review_completed_at |
| Appeal submission to payer | < 1 business day after package reviewed | If > 2 days, alert Denial Manager | appeals.submission_date |
| Overall appeal preparation (root cause to submission) | < 50% of payer days-to-file | At 75% of deadline, system auto-escalates | appeals.submission_date minus denial_records.denial_date |
State Transition Diagram
WF-DENIALANALYSIS-004: Appeal Tracking & Resolution (WF-DEN-004)
Process Flow
Actor: Denial Analyst
Trigger: Appeal submitted, follow-up deadline reached, or payer response received
Pre-conditions:
appealsrecord exists withstatus = 'SUBMITTED'.denial_records.status = 'UNDER_APPEAL'.- Integration with eClaimLink / DOH eClaims active for applicable payers.
Steps:
- System runs scheduled jobs to:
- Check for appeals with
follow_up_date <= today, - Poll payer APIs (eClaimLink / DOH eClaims) for status updates where supported. - System updates
appeals.submission_status(e.g.,UNDER_REVIEW,ADDITIONAL_INFO_REQUESTED,RESOLVED) based on payer responses. - Denial Analyst opens Appeal Management screen (
SCR-DEN-003) to review appeals in the follow-up queue. - For appeals with
ADDITIONAL_INFO_REQUESTED: - Analyst gathers requested documents or clarifications. - System allows uploading additional documents and resubmitting via API or portal. -appealsrecord updated with new submission date and notes. - For appeals with
RESOLVEDstatus: - System prompts analyst to record outcome inappeal_outcomes:payer_decision(Overturned, Upheld, Partial),response_date,recovered_amount,adjustment_code,notes.
- Analyst verifies payment posting in
billing-claimsfor overturned or partial decisions: - Confirms that recovered amount matches payer decision. - If mismatch → flags discrepancy for Billing team. - System updates
denial_records: -resolution_type(Recovered, Partial Recovery, Write-off, No Action), -resolution_date, -recovered_amount, -status = 'CLOSED'(if no further appeal planned) orstatus = 'READY_FOR_NEXT_APPEAL_LEVEL'. - If payer decision is Upheld and further appeal is warranted:
- Analyst updates
denial_records.next_action = 'SECOND_LEVEL_APPEAL'. - Denial returns to WF-DEN-003 for higher-level appeal. - If payer decision is Upheld and no further appeal: - Denial may be routed to write-off workflow (outside this module) based on finance policy.
- System updates
denial_trendsandpayer_denial_scorecards:- Increments counts for appeals, success rates, average resolution time.
- System logs all actions and maintains a complete appeal history for each denial.
Data Modified:
appeals— UPDATE (status, submission_status, notes)appeal_outcomes— INSERT (new outcome record)denial_records— UPDATE (status,resolution_type,resolution_date,recovered_amount,next_action)denial_trends— UPDATEpayer_denial_scorecards— UPDATE
Mermaid Flowchart
Decision Points
-
Additional information requested
- If yes → analyst must provide requested documents; appeal remains open.
- If no → proceed to outcome handling. -
Payer decision
- Overturned / Partial → verify payment and record recovery.
- Upheld → decide on further appeal vs write-off. -
Further appeal
- If further appeal justified (based on contract, amount, and internal policy) → route back to WF-DEN-003 at higher level.
- If not → close denial and route to write-off if applicable.
Integration Points
- DHA eClaimLink / DOH eClaims
- Direction: Bidirectional
- Data: Appeal status updates, final decisions.
-
Trigger: Scheduled polling or webhook callbacks.
-
Billing & Claims (
billing-claims) - Direction: Read
- Data: Payment postings for recovered amounts.
- Used to validate
recovered_amountand update denial resolution.
Exception Handling
- No response from payer within expected timeframe:
- System flags appeal as “Overdue”.
- Analyst prompted to follow up via phone/email and record contact attempts.
-
Follow-up notes stored in
appealsor related notes table. -
Mismatch between payer decision and payment:
- Analyst records discrepancy in
appeal_outcomes.notes. - Denial flagged for Billing team investigation.
-
Status may remain open until resolved.
-
API polling failure:
- System logs error and retries with backoff.
- If persistent, alerts IT and Denial Manager; analysts can manually update status from payer portals.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper logs or spreadsheets tracking appeal status | Centralised appeals and appeal_outcomes tables with status fields |
Real-time visibility into appeal pipeline and KPIs. |
| Manual diaries or calendars for follow-up dates | Automated follow_up_date and queue-based worklists |
Reduces missed follow-ups and improves recovery rates. |
| Printed payer decision letters filed in cabinets | Electronic outcome records with scanned/attached decisions | Easier retrieval for audits and contract negotiations. |
| Ad-hoc email updates to management on appeal performance | Dashboards powered by denial_trends and payer_denial_scorecards |
Supports data-driven management and UAE regulator reporting. |
Remaining Paper Touchpoints: Some payers may still send paper decision letters; these can be scanned and attached to the appeal record.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
appeals |
Submitted appeals with status = 'SUBMITTED' |
appeals table |
| DHA eClaimLink (INT-DEN-004) | Payer status updates and decisions (via polling or webhook) | REST API response |
| DOH eClaims / Shafafiya (INT-DEN-005) | Payer status updates and decisions | REST API response |
| Billing & Claims (INT-DEN-001) | Payment postings for recovered amounts | payments, payment_allocations tables |
denial_records |
Denial details for context | denial_records table |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
appeals |
Updated status (UNDER_REVIEW, ADDITIONAL_INFO_REQUESTED, RESOLVED) | SQL UPDATE |
appeal_outcomes |
Payer decision, response date, recovered amount, adjustment code | SQL INSERT |
denial_records |
Updated resolution_type, resolution_date, recovered_amount, status | SQL UPDATE |
denial_trends |
Updated appeal success rates and resolution times | SQL UPDATE |
payer_denial_scorecards |
Updated appeal and recovery metrics | SQL UPDATE |
| Billing & Claims (INT-DEN-001) | Flags for corrected claim resubmission or write-off | Internal API event |
Post-conditions:
- Appeal outcome recorded with payer decision and financial impact
- Denial resolved with final status (RECOVERED, WRITE_OFF_APPROVED, CLOSED)
- Payment recovery verified against billing postings
- Denial trends and payer scorecards updated with outcome data
- If further appeal warranted, denial routed back to WF-003
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Payer status polling | Every 24 hours (configurable) | If no update > 30 days, flag as "stale" | appeals.last_poll_datetime |
| Follow-up on overdue appeals | Within 2 business days of follow_up_date | If > 5 days overdue, escalate to Denial Manager | appeals.follow_up_date vs current date |
| Additional info response to payer | < 5 business days after request | If > 7 days, escalate to Senior Analyst | appeals.additional_info_submitted_at |
| Outcome recording after payer decision | < 1 business day | If > 2 days, alert Denial Manager | appeal_outcomes.created_at minus payer decision date |
| Payment recovery verification | < 3 business days after payer decision | If > 5 days, alert AR Specialist | appeal_outcomes.payment_verified_at |
| Overall appeal cycle time (submission to resolution) | < 45 days (target) | If > 60 days, flag for management review | appeal_outcomes.response_date minus appeals.submission_date |
WF-DENIALANALYSIS-005: Denial Prevention Action Planning (WF-DEN-005)
Process Flow
Actor: Denial Manager, Revenue Cycle Manager, Department Heads
Trigger: Trend analysis identifies recurring denial pattern (via dashboards or systemic flags from WF-DEN-002)
Pre-conditions:
denial_trendspopulated with historical data by period, payer, category, department.- Root cause data available in
denial_root_causes. - Denial Manager has
configure_rules,create_prevention_plans, andview_analyticspermissions.
Steps:
- Denial Manager opens the Denial Trend Dashboard (
SCR-DEN-004) and filters by period (e.g., last quarter), payer, and category. - System displays: - Denial rate trends, - Top denial reasons, - Financial impact by category, department, provider.
- Manager identifies a significant recurring pattern (e.g., high eligibility denials for outpatient radiology in Dubai).
- System allows drill-down to underlying denials and root causes to confirm pattern and quantify impact (denial count, denied amount, preventable proportion).
- Manager decides to initiate a prevention action and opens the Prevention Action Tracker (
SCR-DEN-006). - System pre-populates a new
denial_prevention_actionsrecord with: -denial_category_id,payer_id(if payer-specific), - Baselinepre_intervention_ratefromdenial_trends, - Description template. - Manager defines the action:
-
action_type(e.g., Training, Process Change, System Configuration, Payer Escalation), - Detaileddescription, -responsible_party(e.g., Patient Access Manager), -target_date. - System sets
status = 'PLANNED'and notifies the responsible party and relevant Department Head. - Responsible party implements the action (outside system, e.g., training sessions, workflow changes, new eligibility checks).
- Once implemented, responsible party updates the action in the system:
- Sets
completion_date, - Changes
status = 'COMPLETED', - Adds implementation notes.
- Sets
- After a defined monitoring period, System recalculates:
post_intervention_ratefromdenial_trends,- ROI using KPI formula:
(reduction_in_denied_amount - implementation_cost) / implementation_cost * 100.
- Manager reviews results on the dashboard:
- If effective → marks action as
SUCCESSFUL. - If not → marks as
INEFFECTIVEand may plan additional actions.
- If effective → marks action as
- System stores all prevention actions and outcomes for continuous improvement and for demonstrating compliance and proactive management to DOH/DHA/MOH auditors.
Data Modified:
denial_prevention_actions— INSERT (new actions), UPDATE (status, dates, rates, ROI)denial_trends— UPDATE (post-intervention metrics)- Possibly a
prevention_action_notestable — INSERT
Mermaid Flowchart
Decision Points
-
Pattern significance and preventability
- If pattern is minor or non-preventable → no action created; monitored only.
- If significant and preventable → prevention action initiated. -
Effectiveness of intervention
- If post-intervention denial rate and denied amount decrease as targeted → action markedSUCCESSFUL.
- If not → action markedINEFFECTIVEand may trigger additional interventions.
Integration Points
- All RCM modules
- Direction: Outbound (conceptual)
- Data: Prevention actions may require changes in Patient Access, Coding, Billing, or Contract Management workflows.
-
Trigger: Implementation of process changes (e.g., new eligibility checks, coding guidelines).
-
Policy & Contract Management
- Direction: Outbound
- Data: Denial patterns and prevention actions may inform contract renegotiations.
Exception Handling
- Insufficient data to measure impact:
- If monitoring period too short or volume too low, system flags “Insufficient data”.
-
Manager can extend monitoring period or adjust evaluation criteria.
-
Action not implemented by target date:
- System sends reminders to responsible party and escalates to Denial Manager / Revenue Cycle Manager.
-
statusremainsPLANNEDwith overdue flag. -
Incorrect configuration of action parameters:
- Manager can edit action details; system logs all changes for audit.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Paper-based improvement plans and meeting minutes | Structured denial_prevention_actions records with statuses and owners |
Clear accountability and traceability of improvement initiatives. |
| Manual before/after comparisons in Excel | Automated pre_intervention_rate and post_intervention_rate from denial_trends |
Objective measurement of impact and ROI. |
| Ad-hoc reporting to leadership on denial reduction efforts | Dashboards showing action effectiveness and ROI | Supports strategic planning and regulator/board reporting. |
| Informal follow-up on whether actions were implemented | System reminders, status tracking, and escalation | Ensures actions are actually executed and sustained. |
Remaining Paper Touchpoints: None — planning and tracking are fully digital; some training materials may still be printed but are outside the HIS scope.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
denial_trends |
Historical denial data by period, payer, category, department | denial_trends table |
denial_root_causes |
Root cause data with preventable flags | denial_root_causes table |
denial_records |
Individual denial records for drill-down | denial_records table |
| Denial Trend Dashboard (SCR-DEN-004) | Manager-selected filters (period, payer, category) | UI interaction |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
denial_prevention_actions |
Prevention action record (type, description, responsible party, target date, baseline rate) | SQL INSERT |
denial_trends |
Post-intervention metrics (after monitoring period) | SQL UPDATE |
| Denial Manager (notification) | Prevention action assignments and reminders | Email / in-app notification |
| Department Heads (notification) | Action assignments requiring their team's implementation | Email / in-app notification |
| Dashboards | Action effectiveness and ROI metrics | Dashboard display |
Post-conditions:
- Prevention action created with clear owner, target date, and baseline metrics
- Responsible party notified and action tracked in system
- Post-intervention rates measured after monitoring period
- Action effectiveness assessed (SUCCESSFUL or INEFFECTIVE)
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Trend identification to action creation | < 5 business days after trend confirmed | If > 10 days, escalate to Revenue Cycle Manager | denial_prevention_actions.created_at |
| Action plan definition (type, owner, target) | < 3 business days after creation | If > 5 days, alert Denial Manager | denial_prevention_actions.defined_at |
| Implementation by responsible party | By target_date | If overdue, system sends reminders; if > 14 days overdue, escalate to Revenue Cycle Manager | denial_prevention_actions.completion_date vs target_date |
| Post-intervention monitoring period | 60-90 days after implementation | Automatic measurement at period end | denial_prevention_actions.monitoring_end_date |
| Effectiveness assessment | < 5 business days after monitoring period | If > 10 days, alert Denial Manager | denial_prevention_actions.assessed_at |
WF-DENIALANALYSIS-006: Payer Denial Scorecard Generation (WF-DEN-006)
Process Flow
Actor: Denial Manager, Revenue Cycle Manager
Trigger: Monthly/quarterly reporting cycle or on-demand payer performance review
Pre-conditions:
denial_records,appeals,appeal_outcomes, anddenial_trendspopulated for the reporting period.payer_denial_scorecardstable available.- Access to payer master data from
policy-contract-mgmt.
Steps:
- Denial Manager opens the Payer Scorecard screen (
SCR-DEN-005) and selects reporting period (e.g., Q1 2026) and facilities (e.g., Dubai and Abu Dhabi hospitals). - System aggregates data by payer:
-
total_claims(frombilling-claims), -total_denialsanddenial_rate, -total_denied_amount, -total_recoveredfromappeal_outcomes. - System calculates payer-specific metrics: - Denial rate by category (eligibility, coding, etc.), - Appeal rate and appeal success rate, - Average appeal resolution time, - Preventable denial proportion.
- System writes or updates
payer_denial_scorecardsrows for each payer: -payer_id,period_start,period_end, - Calculated metrics andrankbased on denial impact. - Manager reviews payer ranking and can: - Filter by payer type (e.g., THIQA, Daman, Oman Insurance), - Drill down into specific denial categories or departments.
- System allows exporting scorecards to PDF/Excel for sharing with Contract Management and leadership.
- Revenue Cycle Manager uses scorecards in strategic meetings: - Identifies payers with high denial rates or low appeal success, - Prepares talking points for contract renegotiations.
- System can generate summary reports highlighting: - Top 5 payers by denied amount, - Payers with improving or worsening trends, - Recommendations for contract clauses or operational changes.
- Manager may annotate scorecards with comments (e.g., “Daman – discuss timely filing window extension”) stored in the system.
- System archives historical scorecards for trend analysis over multiple periods.
Data Modified:
payer_denial_scorecards— INSERT/UPDATE (per payer per period)denial_trends— READ (no change)- Optional
scorecard_notestable — INSERT
Mermaid Flowchart
Decision Points
-
Drill-down requirement
- If manager needs more detail → drill-down to category/department/provider level.
- If not → use high-level scorecard. -
Payer ranking criteria
- Default ranking by total denied amount; manager can switch to denial rate or preventable denial rate.
Integration Points
- Billing & Claims (
billing-claims) - Direction: Read
-
Data: Total claims submitted per payer and period.
-
Policy & Contract Management (
policy-contract-mgmt) - Direction: Read / Outbound
- Data: Payer master data and contract details; scorecards shared for renegotiation planning (
INT-DEN-002).
Exception Handling
- Incomplete data for period:
- System warns if payment posting or denial data is incomplete (e.g., month still open).
-
Manager can proceed with partial data (flagged) or wait until period close.
-
Payer master data mismatch:
- If payer_id in denials not found in payer master → flagged as data quality issue.
- Denial Manager and Master Data team notified to correct mapping.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Manually compiled payer reports in spreadsheets and slide decks | Automated payer_denial_scorecards with on-demand dashboards |
Reduces preparation time and errors; supports near real-time insights. |
| Printed scorecards shared in meetings | Digital scorecards with drill-down and export options | Enables interactive analysis and secure sharing. |
| Informal notes on payer behaviour kept in notebooks | Structured annotations stored with scorecards | Preserves institutional knowledge and supports negotiation history. |
Remaining Paper Touchpoints: Some leadership meetings may still use printed scorecard summaries, but source data and generation are fully digital.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
denial_records |
All denial records for the reporting period | denial_records table |
appeals / appeal_outcomes |
Appeal submissions and outcomes for the period | appeals, appeal_outcomes tables |
denial_trends |
Pre-aggregated denial metrics | denial_trends table |
| Billing & Claims (INT-DEN-001) | Total claims submitted per payer and period | claims table (read-only) |
| Policy & Contract Management (INT-DEN-002) | Payer master data and contract details | Internal API |
| Denial Manager | Selected reporting period, facilities, filters | UI interaction on SCR-DEN-005 |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
payer_denial_scorecards |
Payer-level metrics (denial rate, appeal rate, success rate, amounts, rank) | SQL INSERT / UPDATE |
| Scorecard exports | PDF/Excel reports for Contract Management and leadership | Export file |
| Policy & Contract Management (INT-DEN-002) | Scorecard data for contract renegotiation planning | Internal API / shared DB |
| Dashboards | Payer ranking and trend visualizations | Dashboard display |
scorecard_notes |
Manager annotations and comments | SQL INSERT |
Post-conditions:
- Payer scorecards generated and stored for the reporting period
- Payer ranking calculated based on denial impact
- Scorecards available for drill-down, export, and sharing
- Historical scorecards archived for trend analysis across periods
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Period close to scorecard generation | < 5 business days after period end | If > 10 days, alert Revenue Cycle Manager | payer_denial_scorecards.generated_at |
| Data aggregation and metric calculation | < 30 minutes per run | If > 2 hours, alert IT (performance issue) | payer_denial_scorecards.computation_duration_ms |
| Scorecard review by Denial Manager | < 3 business days after generation | If > 5 days, alert Revenue Cycle Manager | payer_denial_scorecards.reviewed_at |
| Scorecard distribution to stakeholders | < 2 business days after review | If > 5 days, alert Denial Manager | Export/distribution timestamp |
| Contract team receives scorecard data | < 5 business days after period end | If > 10 days, alert Policy & Contract Manager | INT-DEN-002 outbound timestamp |