Denial Analysis Workflows

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.claims and is linked to:
  • patients.patient_id (from ehr-patient-mgmt)
  • payers.payer_id (from policy-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:

  1. System receives denial feed from billing-claims when a claim (e.g., Claim #DXB-2026-000234) is posted with a denial or partial denial status.
  2. System validates inbound data: - Confirms claim_id exists. - Confirms patient_id, payer_id, facility_id are present. - Confirms denied amount > 0.
  3. System creates a new record in denial_records with: - claim_id, claim_line_id (if line-level denial), - patient_id, payer_id, facility_id, - denial_date (from payer remittance), - denial_code and denial_description, - denied_amount and initial status = 'NEW'.
  4. System auto-maps payer denial code to internal denial_category_id using the Denial Code Mapping master data: - Example categories: Eligibility, Authorization, Coding, Medical Necessity, Timely Filing, Duplicate, Bundling.
  5. System calculates financial impact: - Stores denied_amount, - Optionally calculates estimated patient_impact_amount (if patient liability increases) and stores in extended fields.
  6. System determines whether denial is header-level (entire claim) or line-level and sets appropriate flags in denial_records.
  7. System assigns the denial to a Denial Analyst: - Uses routing rules based on denial_category_id, payer_id, facility_id, and workload. - Updates assigned_analyst_id and status = 'ASSIGNED'.
  8. System calculates appeal deadline: - Queries Appeal Deadline Rules master data (from contracts via policy-contract-mgmt), - Sets appeal_deadline_date in denial_records, - Starts internal “appeal clock” (days remaining).
  9. 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).
  10. Denial Analyst reviews the worklist, optionally adjusts priority, and confirms ownership of the denial.
  11. System logs all actions in an internal audit log (table in this module or shared) including user, timestamp, and changes for PDPL accountability.
  12. 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

flowchart TD A["Billing-Claims posts payment<br/>with denial info"] --> B["Validate claim & patient/payer refs"] B -->|"Valid"| C["Create denial_records row"] B -->|"Invalid"| X["Log error & send alert<br/>to Denial Manager"] C --> D["Map payer denial code<br/>to internal category"] D -->|"Mapping found"| E["Set denial_category_id"] D -->|"No mapping"| D1["Flag as 'UNMAPPED'<br/>category & alert analyst"] E --> F["Calculate financial impact"] F --> G["Determine header vs line-level denial"] G --> H["Assign analyst based on<br/>category/payer/rules"] H --> I["Lookup appeal deadline rules<br/>from contracts"] I --> J["Set appeal_deadline_date<br/>and start appeal clock"] J --> K["Add to analyst worklist<br/>(status = ASSIGNED)"] K --> L{"High priority?"} L -->|"Yes"| M["Notify Denial Manager"] L -->|"No"| N["Standard queue"] M --> O["Update denial_trends & scorecards"] N --> O O --> Y["Ready for Root Cause Analysis"]

Decision Points

  1. Validation success
    - If claim/patient/payer references are valid → proceed to create denial_records.
    - If invalid → do not create denial; log error and notify Denial Manager and Billing team for data correction.

  2. Denial code mapping
    - If payer denial code is mapped → set denial_category_id and proceed.
    - If not mapped → set category to UNMAPPED, flag for manual categorization, and optionally route to Senior Denial Analyst.

  3. Priority determination
    - If denied_amount ≥ configured high-value threshold OR appeal_deadline_date within 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 = NULL and status = '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_date to NULL and flags deadline_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

stateDiagram-v2 [*] --> NEW : Denial feed received from Billing & Claims NEW --> VALIDATION_ERROR : Missing or invalid claim/patient/payer references NEW --> ASSIGNED : Validated, categorized, and assigned to analyst VALIDATION_ERROR --> ASSIGNED : Data corrected and reprocessed ASSIGNED --> UNDER_ANALYSIS : Analyst begins root cause analysis (WF-002) UNDER_ANALYSIS --> READY_FOR_APPEAL : Root cause complete, appeal recommended UNDER_ANALYSIS --> READY_FOR_RESUBMISSION : Corrected claim resubmission needed UNDER_ANALYSIS --> PENDING_WRITE_OFF_REVIEW : Write-off recommended READY_FOR_APPEAL --> UNDER_APPEAL : Appeal submitted (WF-003) UNDER_APPEAL --> APPEAL_RESOLVED : Payer decision received (WF-004) APPEAL_RESOLVED --> RECOVERED : Payment recovered (overturned/partial) APPEAL_RESOLVED --> WRITE_OFF_APPROVED : Appeal upheld, write-off processed APPEAL_RESOLVED --> NEXT_LEVEL_APPEAL : Further appeal warranted NEXT_LEVEL_APPEAL --> UNDER_APPEAL : Higher-level appeal submitted READY_FOR_RESUBMISSION --> RESUBMITTED : Corrected claim sent to Billing RESUBMITTED --> CLOSED : Resubmission adjudicated PENDING_WRITE_OFF_REVIEW --> WRITE_OFF_APPROVED : Finance approves write-off PENDING_WRITE_OFF_REVIEW --> READY_FOR_APPEAL : Manager overrides to appeal RECOVERED --> CLOSED : Financial posting confirmed WRITE_OFF_APPROVED --> CLOSED : Write-off posted CLOSED --> [*]

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_records row exists with valid claim_id, payer_id, denied_amount.
  • Denial assigned to an analyst (assigned_analyst_id not NULL).
  • Analyst has view_denials and analyze_root_cause permissions.
  • 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:

  1. Denial Analyst opens the Denial Worklist (SCR-DEN-001) and selects a denial with status ASSIGNED.
  2. 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).
  3. Analyst reviews payer response and original claim submission, including any prior authorisation numbers and eligibility checks.
  4. Analyst investigates process flow: - Front-end: registration, eligibility, authorisation (via patient-access and scheduling). - Mid-cycle: coding, documentation (via coding and clinical documentation modules). - Back-end: billing, claim submission timing and format (via billing-claims).
  5. Analyst identifies the primary root cause category (e.g., “Front-end – Eligibility not verified”) and selects from the Root Cause Classification master data.
  6. 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.
  7. System links denial_root_causes.root_cause_id back to denial_records.root_cause_id and updates is_preventable based on analyst input.
  8. Analyst determines whether the denial is preventable: - If preventable → sets is_preventable = TRUE. - If non-preventable (e.g., payer policy change, benefit limit reached) → sets is_preventable = FALSE.
  9. 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 in denial_records.next_action.
  10. System updates denial_records.status to:
    • READY_FOR_APPEAL, READY_FOR_RESUBMISSION, or PENDING_WRITE_OFF_REVIEW.
  11. If the analyst identifies a systemic pattern (e.g., repeated eligibility denials for a specific clinic), they flag “Systemic Issue” in the UI.
  12. System prompts creation of a denial_prevention_actions record (see WF-DEN-005) and pre-populates category, payer, and description.
  13. 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

flowchart TD A["Analyst opens assigned denial"] --> B["Load claim & denial details"] B --> C["Review payer response & original claim"] C --> D["Investigate front/mid/back-end processes"] D --> E["Select root cause category<br/>from master data"] E --> F["Document root cause detail<br/>in denial_root_causes"] F --> G["Link root_cause_id to denial_records"] G --> H{"Preventable?"} H -->|"Yes"| H1["Set is_preventable = TRUE"] H -->|"No"| H2["Set is_preventable = FALSE"] H1 --> I H2 --> I I["Select recommended next action"] --> J{"Systemic pattern detected?"} J -->|"Yes"| K["Create denial_prevention_actions draft"] J -->|"No"| L["Skip prevention action"] K --> M["Update denial_records.status<br/>to next workflow state"] L --> M M --> N["Update denial_trends & dashboards"] N --> O["Ready for Appeal/Resubmission/Write-off"]

Decision Points

  1. Preventable vs non-preventable
    - If preventable → flagged for prevention metrics and potential action planning.
    - If non-preventable → excluded from preventable denial KPIs.

  2. Systemic pattern
    - If analyst flags systemic issue → auto-create denial_prevention_actions draft and notify Denial Manager.
    - If not systemic → no prevention action created.

  3. Next action selection
    - If appeal recommended → denial routed to Appeal Management queue (WF-DEN-003).
    - If corrected claim resubmission → task sent to Billing team; status READY_FOR_RESUBMISSION.
    - If write-off → routed to Denial Manager/Finance for approval based on Write-Off Approval Thresholds.

Integration Points

  • EHR / Clinical Modules (via ehr-patient-mgmt and 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_records has:
  • status = 'READY_FOR_APPEAL',
  • appeal_deadline_date not passed.
  • Required roles:
  • Denial Analyst with prepare_appeals and submit_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:

  1. Denial Analyst opens the Appeal Management screen (SCR-DEN-003) for a denial marked READY_FOR_APPEAL.
  2. 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.
  3. Analyst selects appeal level (first-level, second-level, external review) and confirms that the deadline has not passed.
  4. 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.
  5. 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).
  6. Physician Advisor (if involved) drafts or uploads a letter of medical necessity, ensuring clinical justification aligns with UAE standards and payer policies.
  7. 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.
  8. System assembles supporting documentation: - Clinical notes, lab results, imaging reports (via other modules), - Authorisation records, eligibility proofs, - Any prior correspondence with payer.
  9. 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).
  10. System creates an appeals record with:
    • denial_id, appeal_level, submission_method, submission_channel,
    • supporting_docs references, appeal_letter_path,
    • status = 'DRAFT'.
  11. 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.
  12. System updates appeals:
    • Sets submission_date, status = 'SUBMITTED',
    • Stores tracking_number and submission_channel.
  13. System sets follow_up_date based on payer-specific response timelines and adds the appeal to the follow-up queue (WF-DEN-004).
  14. 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

flowchart TD A["Analyst opens denial<br/>READY_FOR_APPEAL"] --> B["Show appeal options & deadline"] B --> C{"Deadline passed?"} C -->|"Yes"| X["Cannot appeal<br/>flag for write-off review"] C -->|"No"| D["Select appeal level"] D --> E["Check if coding/clinical support needed"] E -->|"Coding"| F["Route to Coding Specialist<br/>for code review"] E -->|"Medical Necessity"| G["Route to Physician Advisor<br/>for necessity letter"] E -->|"Neither"| H["Proceed with analyst only"] F --> H G --> H H --> I["Select appeal letter template<br/>and merge data"] I --> J["Attach supporting docs<br/>(clinical, auth, eligibility)"] J --> K["Create appeals record<br/>status = DRAFT"] K --> L["Submit via eClaimLink/DOH eClaims/other"] L --> M{"API submission success?"} M -->|"Yes"| N["Store tracking number<br/>status = SUBMITTED"] M -->|"No"| Y["Log error, show retry/alt method"] N --> O["Set follow_up_date<br/>per payer rules"] O --> P["Update denial_records.status<br/>= UNDER_APPEAL"] P --> Q["Add to appeal follow-up queue"]

Decision Points

  1. 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.

  2. Support required
    - If coding-related → require Coding Specialist review before submission.
    - If medical necessity → require Physician Advisor letter.
    - Else → analyst may proceed alone.

  3. Submission success
    - If eClaimLink / DOH eClaims API returns success → store tracking number and mark SUBMITTED.
    - 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 DRAFT or SUBMISSION_FAILED status.
  • 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

stateDiagram-v2 [*] --> INITIATED : Analyst opens denial for appeal preparation INITIATED --> DEADLINE_PASSED : Appeal deadline has expired DEADLINE_PASSED --> [*] : Route to write-off review INITIATED --> SUPPORT_REQUESTED : Coding or clinical support needed INITIATED --> DRAFTING : No additional support needed SUPPORT_REQUESTED --> CODING_REVIEW : Routed to Coding Specialist SUPPORT_REQUESTED --> PHYSICIAN_REVIEW : Routed to Physician Advisor CODING_REVIEW --> DRAFTING : Corrected codes provided PHYSICIAN_REVIEW --> DRAFTING : Medical necessity letter provided DRAFTING --> PACKAGE_ASSEMBLED : Template merged, docs attached, letter complete PACKAGE_ASSEMBLED --> SUBMITTED : Sent via eClaimLink/DOH eClaims/portal PACKAGE_ASSEMBLED --> SUBMISSION_FAILED : API error during submission SUBMISSION_FAILED --> SUBMITTED : Retry succeeds or alternate channel used SUBMITTED --> FOLLOW_UP_SCHEDULED : Follow-up date set per payer rules FOLLOW_UP_SCHEDULED --> [*] : Proceed to WF-004 (Appeal Tracking)

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:

  • appeals record exists with status = 'SUBMITTED'.
  • denial_records.status = 'UNDER_APPEAL'.
  • Integration with eClaimLink / DOH eClaims active for applicable payers.

Steps:

  1. System runs scheduled jobs to: - Check for appeals with follow_up_date <= today, - Poll payer APIs (eClaimLink / DOH eClaims) for status updates where supported.
  2. System updates appeals.submission_status (e.g., UNDER_REVIEW, ADDITIONAL_INFO_REQUESTED, RESOLVED) based on payer responses.
  3. Denial Analyst opens Appeal Management screen (SCR-DEN-003) to review appeals in the follow-up queue.
  4. For appeals with ADDITIONAL_INFO_REQUESTED: - Analyst gathers requested documents or clarifications. - System allows uploading additional documents and resubmitting via API or portal. - appeals record updated with new submission date and notes.
  5. For appeals with RESOLVED status: - System prompts analyst to record outcome in appeal_outcomes:
    • payer_decision (Overturned, Upheld, Partial),
    • response_date, recovered_amount, adjustment_code, notes.
  6. Analyst verifies payment posting in billing-claims for overturned or partial decisions: - Confirms that recovered amount matches payer decision. - If mismatch → flags discrepancy for Billing team.
  7. System updates denial_records: - resolution_type (Recovered, Partial Recovery, Write-off, No Action), - resolution_date, - recovered_amount, - status = 'CLOSED' (if no further appeal planned) or status = 'READY_FOR_NEXT_APPEAL_LEVEL'.
  8. 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.
  9. If payer decision is Upheld and no further appeal: - Denial may be routed to write-off workflow (outside this module) based on finance policy.
  10. System updates denial_trends and payer_denial_scorecards:
    • Increments counts for appeals, success rates, average resolution time.
  11. 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 — UPDATE
  • payer_denial_scorecards — UPDATE

Mermaid Flowchart

flowchart TD A["Scheduled job checks appeals<br/>and polls payer APIs"] --> B["Update appeal statuses"] B --> C["Analyst reviews follow-up queue"] C --> D{"Status = ADDITIONAL_INFO_REQUESTED?"} D -->|"Yes"| E["Collect additional docs<br/>and resubmit"] D -->|"No"| F{"Status = RESOLVED?"} E --> G["Update appeals record<br/>with new submission"] G --> H["Wait for next response"] H --> A F -->|"Yes"| I["Enter outcome in appeal_outcomes"] F -->|"No"| H I --> J{"Payer decision?"} J -->|"Overturned/Partial"| K["Verify payment posted<br/>in billing-claims"] J -->|"Upheld"| L["Decide on further appeal<br/>or write-off"] K --> M["Update denial_records<br/>recovered_amount & resolution_type"] L --> N{"Further appeal?"} N -->|"Yes"| O["Set next_action = SECOND_LEVEL_APPEAL"] N -->|"No"| P["Set resolution_type = Write-off/No Action"] M --> Q["Set status = CLOSED or READY_FOR_NEXT_APPEAL_LEVEL"] O --> Q P --> Q Q --> R["Update denial_trends & payer_scorecards"] R --> S["Appeal lifecycle complete<br/>or next level initiated"]

Decision Points

  1. Additional information requested
    - If yes → analyst must provide requested documents; appeal remains open.
    - If no → proceed to outcome handling.

  2. Payer decision
    - Overturned / Partial → verify payment and record recovery.
    - Upheld → decide on further appeal vs write-off.

  3. 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_amount and 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 appeals or 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_trends populated with historical data by period, payer, category, department.
  • Root cause data available in denial_root_causes.
  • Denial Manager has configure_rules, create_prevention_plans, and view_analytics permissions.

Steps:

  1. Denial Manager opens the Denial Trend Dashboard (SCR-DEN-004) and filters by period (e.g., last quarter), payer, and category.
  2. System displays: - Denial rate trends, - Top denial reasons, - Financial impact by category, department, provider.
  3. Manager identifies a significant recurring pattern (e.g., high eligibility denials for outpatient radiology in Dubai).
  4. System allows drill-down to underlying denials and root causes to confirm pattern and quantify impact (denial count, denied amount, preventable proportion).
  5. Manager decides to initiate a prevention action and opens the Prevention Action Tracker (SCR-DEN-006).
  6. System pre-populates a new denial_prevention_actions record with: - denial_category_id, payer_id (if payer-specific), - Baseline pre_intervention_rate from denial_trends, - Description template.
  7. Manager defines the action: - action_type (e.g., Training, Process Change, System Configuration, Payer Escalation), - Detailed description, - responsible_party (e.g., Patient Access Manager), - target_date.
  8. System sets status = 'PLANNED' and notifies the responsible party and relevant Department Head.
  9. Responsible party implements the action (outside system, e.g., training sessions, workflow changes, new eligibility checks).
  10. Once implemented, responsible party updates the action in the system:
    • Sets completion_date,
    • Changes status = 'COMPLETED',
    • Adds implementation notes.
  11. After a defined monitoring period, System recalculates:
    • post_intervention_rate from denial_trends,
    • ROI using KPI formula: (reduction_in_denied_amount - implementation_cost) / implementation_cost * 100.
  12. Manager reviews results on the dashboard:
    • If effective → marks action as SUCCESSFUL.
    • If not → marks as INEFFECTIVE and may plan additional actions.
  13. 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_notes table — INSERT

Mermaid Flowchart

flowchart TD A["Manager opens Denial Trend Dashboard"] --> B["Identify recurring denial pattern"] B --> C["Drill down to root causes & impact"] C --> D{"Pattern significant & preventable?"} D -->|"No"| X["Monitor only<br/>no action created"] D -->|"Yes"| E["Open Prevention Action Tracker"] E --> F["Create denial_prevention_actions<br/>with baseline rate"] F --> G["Define action type, responsible party,<br/>target date"] G --> H["Set status = PLANNED & notify stakeholders"] H --> I["Responsible party implements change"] I --> J["Update action: status = COMPLETED,<br/>completion_date"] J --> K["After monitoring period,<br/>system recalculates rates & ROI"] K --> L{"Improvement achieved?"} L -->|"Yes"| M["Mark action SUCCESSFUL"] L -->|"No"| N["Mark action INEFFECTIVE<br/>consider new actions"] M --> O["Update dashboards & reports"] N --> O O --> P["Continuous improvement cycle"]

Decision Points

  1. Pattern significance and preventability
    - If pattern is minor or non-preventable → no action created; monitored only.
    - If significant and preventable → prevention action initiated.

  2. Effectiveness of intervention
    - If post-intervention denial rate and denied amount decrease as targeted → action marked SUCCESSFUL.
    - If not → action marked INEFFECTIVE and 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.
  • status remains PLANNED with 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, and denial_trends populated for the reporting period.
  • payer_denial_scorecards table available.
  • Access to payer master data from policy-contract-mgmt.

Steps:

  1. 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).
  2. System aggregates data by payer: - total_claims (from billing-claims), - total_denials and denial_rate, - total_denied_amount, - total_recovered from appeal_outcomes.
  3. 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.
  4. System writes or updates payer_denial_scorecards rows for each payer: - payer_id, period_start, period_end, - Calculated metrics and rank based on denial impact.
  5. Manager reviews payer ranking and can: - Filter by payer type (e.g., THIQA, Daman, Oman Insurance), - Drill down into specific denial categories or departments.
  6. System allows exporting scorecards to PDF/Excel for sharing with Contract Management and leadership.
  7. Revenue Cycle Manager uses scorecards in strategic meetings: - Identifies payers with high denial rates or low appeal success, - Prepares talking points for contract renegotiations.
  8. 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.
  9. Manager may annotate scorecards with comments (e.g., “Daman – discuss timely filing window extension”) stored in the system.
  10. 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_notes table — INSERT

Mermaid Flowchart

flowchart TD A["Manager selects period & facilities<br/>on Payer Scorecard screen"] --> B["Aggregate claims & denials by payer"] B --> C["Calculate denial & appeal metrics"] C --> D["Update payer_denial_scorecards table"] D --> E["Display payer ranking & metrics"] E --> F{"Manager wants drill-down?"} F -->|"Yes"| G["Drill into categories/departments/providers"] F -->|"No"| H["Proceed to export/reporting"] G --> H H --> I["Export to PDF/Excel & share<br/>with Contract Management"] I --> J["Use in contract negotiations<br/>and strategic planning"] J --> K["Archive scorecards for<br/>historical trend analysis"]

Decision Points

  1. Drill-down requirement
    - If manager needs more detail → drill-down to category/department/provider level.
    - If not → use high-level scorecard.

  2. 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
content/rcm/denial-analysis/01-workflows.md Generated 2026-02-20 22:54