Policy & Contract Management Workflows
This document defines six core workflows for the Policy & Contract Management (policy-contract-mgmt) module. Each workflow includes process steps, decision points, integration hooks, exception handling, and the paperless transformation achieved by the HIS.
Regulatory context (UAE): UAE PDPL (Federal Decree-Law No. 45/2021) for processing payer and contract data; MOH, DOH (Abu Dhabi), and DHA (Dubai) regulations for payer licensing and tariff usage; DOH Shafafiya and DHA eClaimLink eClaims frameworks for payer connectivity; NABIDH (Dubai) and Malaffi (Abu Dhabi) HIE environments for consistent payer identifiers across systems.
WF-POLICYCONTRACTMGMT-001: Payer Onboarding
Process Flow
Actor: RCM Manager, Contract Analyst
Trigger: New insurance payer identified for contracting (e.g., new DHA-licensed insurer or TPA)
Pre-conditions:
- Facility has strategic approval to work with the payer
- DHA/DOH/MOH payer license details available
- At least one responsible internal owner assigned (RCM Manager)
- RCM Manager opens Payer Master List (SCR-PCM-001) and clicks “Add New Payer”.
- System checks if payer name, DHA/DOH license, or TPA name already exists in
payers(to prevent duplicates). - If no duplicate found, Contract Analyst enters payer demographics on Payer Detail / Onboarding (SCR-PCM-002):
- English/Arabic names, payer type (insurer/TPA/government), payer class (e.g., THIQA, private), DHA/DOH license numbers, TPA affiliation. - System validates mandatory fields and license formats (e.g., DOH payer code, DHA payer ID) and saves to
payers(INSERT). - Contract Analyst records contact details and key roles (medical director, claims manager, IT contact) in
payer_contacts(multiple INSERTs). - RCM Manager configures payer classification and network status (in-network, out-of-network, tier) and saves to
payer_networksfor each facility (INSERT). - System prompts to configure submission requirements:
- eClaimLink / Shafafiya routing, submission channels (portal/API), batch size limits, resubmission rules → stored inpayers(UPDATE) and related config tables (module-specific). - System calls System Administrator workflow (or config screen) to set up technical connectivity:
- eClaimLink credentials, DOH eClaims credentials, endpoints, certificates (stored in secure config, not in business tables). - Contract Analyst defines high-level authorization and formulary constraints (e.g., “MRI requires auth”, “non-formulary biologics require prior auth”) as initial
coverage_rulesandprior_auth_rules(INSERT). - System runs a test eligibility transaction via eClaimLink or DOH eClaims using a test Emirates ID and plan code to validate connectivity (INT-PCM-004/005).
- If test passes, RCM Manager marks payer as “Active for eligibility” and “Active for claims” in
payers(UPDATE). - System notifies Billing & Claims and Patient Access modules via internal API (INT-PCM-001/002) that a new payer is available, pushing payer and plan metadata.
- Contract Analyst uploads any supporting documents (e.g., payer manuals) to document repository and links them to the payer record (metadata INSERT in a
payer_documentstable if present).
Data Modified:
payers— INSERT, then UPDATEpayer_contacts— INSERTpayer_networks— INSERTcoverage_rules— INSERT (initial high-level rules)prior_auth_rules— INSERT (initial high-level rules)- (Config tables for connectivity, e.g.,
payer_connectivity_settings— INSERT/UPDATE, if defined in this module)
Mermaid Flowchart
Decision Points
-
Duplicate payer check
- If payer with same name/license exists → user must decide to edit existing or cancel onboarding.
- If user edits existing → workflow becomes an update, not a new INSERT. -
Validation of payer details
- If mandatory fields missing or license format invalid → system blocks save and highlights fields.
- If all valid → proceed to create payer record. -
Connectivity test outcome
- If eligibility test fails (timeout, authentication error, schema error) → system logs error, shows details, and allows retry after correction.
- If test succeeds → payer can be activated for eligibility and claims.
Integration Points
- Billing & Claims module (
billing-claims): - Direction: Outbound (INT-PCM-001)
- Data: Payer master (
payers), network status (payer_networks), submission requirements -
Trigger: Payer activated for claims.
-
Patient Access module (
patient-access): - Direction: Outbound (INT-PCM-002)
- Data: Payer and plan metadata for eligibility checks
-
Trigger: Payer activated for eligibility.
-
DHA eClaimLink:
- Direction: Bidirectional (INT-PCM-004)
- Data: Eligibility requests/responses, connectivity configuration
-
Trigger: Connectivity test, later eligibility checks.
-
DOH eClaims (Shafafiya):
- Direction: Bidirectional (INT-PCM-005)
- Data: Eligibility requests/responses, connectivity configuration
- Trigger: Connectivity test, later eligibility checks.
Exception Handling
- Duplicate payer detected:
- System prevents creation of a new row; user can only update existing payer or cancel.
-
Audit log records attempted duplicate creation (user, timestamp, values).
-
Validation failures:
-
Missing license numbers, invalid email/phone formats, or unsupported payer type → inline error messages; no DB write.
-
Connectivity test failure:
- System captures error code and message from eClaimLink/DOH eClaims.
- Payer remains in “Draft” status; cannot be used for eligibility or claims.
-
System suggests checking credentials/endpoints; allows re-run.
-
PDPL-related issues:
- If user attempts to store personal contact data without consent flag (if modeled) → system prompts to confirm lawful basis (contractual necessity / legitimate interest) and logs consent/legal basis.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Payer information folders with printed letters and manuals | Structured payers and payer_contacts records with attached digital documents |
Centralised, searchable, and version-controlled; easier audits by DHA/DOH |
| Manual binders listing payer submission rules | Configurable submission requirements and routing in system | Reduces claim rejections due to outdated rules |
| Email chains for connectivity setup | Configured connectivity profiles with test transactions and audit logs | Traceable setup; easier troubleshooting and compliance evidence |
| Physical network participation letters | payer_networks records with effective dates and tiers |
Enables real-time in-/out-of-network checks in Patient Access and Billing |
Remaining Paper Touchpoints: Some payers may still send original signed letters or stamps; these can be scanned and attached, but originals may be retained for legal purposes.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| RCM Manager | Strategic approval and payer identification | Manual initiation |
| DHA/DOH/MOH | Payer license details, payer codes, TPA affiliation | External reference documents |
| Contract Analyst | Payer demographics (names EN/AR, type, class, contacts) | SCR-PCM-002 form |
| Contract Analyst | Submission requirements, routing config, initial coverage/prior auth rules | SCR-PCM-002 form |
| System Administrator | eClaimLink / DOH eClaims credentials, endpoints, certificates | Secure config |
| DHA eClaimLink / DOH eClaims | Test eligibility response | REST API (INT-PCM-004/005) |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
payers |
Payer master record (demographics, license, status) | SQL INSERT / UPDATE |
payer_contacts |
Contact records for key payer personnel | SQL INSERT |
payer_networks |
Network status and tier per facility | SQL INSERT |
coverage_rules |
Initial high-level coverage rules | SQL INSERT |
prior_auth_rules |
Initial prior auth requirements | SQL INSERT |
Billing & Claims (billing-claims) |
Payer and plan metadata notification | Internal API (INT-PCM-001) |
Patient Access (patient-access) |
Payer and plan metadata for eligibility | Internal API (INT-PCM-002) |
Post-conditions:
- Payer record exists with status "Active" for both eligibility and claims
- Connectivity to DHA eClaimLink or DOH eClaims validated via test transaction
- Billing & Claims and Patient Access modules notified of new payer availability
- Initial coverage and prior auth rules configured and ready for use
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Payer demographic entry and validation | < 1 business day | None — analyst workflow | payers.created_at |
| Connectivity setup and test transaction | < 2 business days from payer entry | Alert IT if test fails after 3 attempts | payer_connectivity_settings.test_datetime |
| Full payer activation (eligibility + claims) | < 5 business days from initiation | Alert RCM Manager if not active within 5 days | payers.activated_datetime |
| Downstream module notification | < 1 minute from activation | Retry with backoff; alert IT if > 10 min | integration_message_log.sent_at |
State Transition Diagram
WF-POLICYCONTRACTMGMT-002: Contract Negotiation & Creation
Process Flow
Actor: Contract Manager, Finance Director
Trigger: New contract period, service expansion, or payer request
Pre-conditions:
- Payer record exists and is active in
payers - Facilities participating in the contract are defined in
facilities(fromehr-patient-mgmt) - Strategic approval to negotiate with the payer
- Contract Manager opens Contract Management (SCR-PCM-003) and clicks “New Contract”.
- System prompts for payer, facilities, contract type (fee-for-service, per diem, case rate, capitation, % of tariff), and effective/expiry dates; user enters details.
- System checks for overlapping active contracts for the same payer/facility/contract type in
contracts. - If no conflicting contract, system creates a contract shell in
contracts(INSERT) with status =Draftand version = 1. - Contract Manager opens Contract Detail / Editor (SCR-PCM-004) and defines:
- Rate methodology, payment terms (days to pay), dispute resolution clauses, covered services, exclusions. - Fee Schedule Analyst imports or manually enters fee schedule:
- Import DHA/DOH tariff or custom CSV → system maps CPT codes and createscontract_fee_schedules(INSERT) andfee_schedule_items(bulk INSERT). - System validates fee schedule (duplicate CPT codes, missing rates, invalid modifiers) and flags issues for correction.
- Contract Manager configures service-specific modifiers and exceptions (e.g., weekend surcharge, ICU uplift) by updating
fee_schedule_itemsand/or related exception tables (UPDATE/INSERT). - Contract Manager sets approval chain (e.g., Legal, RCM Manager, Finance Director) in an approval workflow table and routes contract for review (status →
In Review). - Approvers review contract terms and fee schedules; they can request changes (status →
Revision Requested) or approve. Each action is logged incontract_amendmentsorcontract_approval_log(INSERT). - After internal approvals, Contract Manager generates a contract PDF from the system and sends to payer for signature (via secure email/portal).
- Once payer signs (digitally or on paper), Contract Manager uploads signed document and records digital signature metadata or “wet signature received” in
contracts(UPDATE: document_path, approved_by, approved_date, status =Pending Activation). - Finance Director performs final review; if acceptable, they set status to
Activeand confirm activation date incontracts(UPDATE). - System publishes associated fee schedules (
contract_fee_schedules.status→Active) and notifies Billing & Claims module via INT-PCM-001 that new contracted rates are available.
Data Modified:
contracts— INSERT, multiple UPDATEscontract_fee_schedules— INSERT, UPDATEfee_schedule_items— INSERT, UPDATEcontract_amendments— INSERT (for negotiated changes before activation)contract_approval_log(if defined) — INSERT
Mermaid Flowchart
Decision Points
-
Overlapping contract detection
- If overlapping active contract exists → user must decide to proceed (e.g., for specific services) or cancel.
- If proceed → system may require justification and flags potential conflicts. -
Fee schedule validation
- If validation fails (duplicate CPT, missing rates, invalid dates) → user must correct before proceeding.
- If passes → workflow continues to approval. -
Internal and payer approvals
- If any approver rejects or requests revision → contract returns to Draft/In Review with recorded amendment.
- If all approve and payer signs → contract can move to Pending Activation and then Active.
Integration Points
- Billing & Claims module (
billing-claims): - Direction: Outbound (INT-PCM-001)
- Data: Active contracts (
contracts), fee schedules (contract_fee_schedules,fee_schedule_items), payment terms. -
Trigger: Contract status changes to
Active. -
Denial Analysis module (
denial-analysis): - Direction: Outbound (INT-PCM-003)
- Data: Contract terms and fee schedules for mapping denials to contract clauses.
- Trigger: Contract activation or amendment.
Exception Handling
- Overlapping contracts not allowed by policy:
-
System can enforce hard stop based on facility configuration; user must end-date old contract or adjust dates.
-
Fee schedule import errors:
-
Malformed CSV, missing required columns → system rejects file and shows detailed error report; no partial imports.
-
Approval workflow misconfiguration:
-
If approval chain missing required role (e.g., Finance Director) → system prevents routing until fixed.
-
Document upload failure:
- If signed PDF upload fails (network/storage error) → system keeps contract in
Pending Activationand logs error; user can retry.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Printed contract drafts circulated for review | Online contract editor with tracked changes and approval workflow | Shortens review cycles; full audit trail for DOH/DHA audits |
| Paper fee schedule spreadsheets in binders | contract_fee_schedules and fee_schedule_items with versioning |
Enables automated charge capture and variance analysis |
| Physical signatures and couriered contracts | Digital signature metadata and scanned PDFs linked to contracts |
Faster execution; easier retrieval during payer disputes |
| Manual email threads for approvals | Structured approval workflow with status and timestamps | Clear accountability and PDPL-compliant audit logging |
Remaining Paper Touchpoints: Some payers may insist on wet signatures; originals may still be stored physically but are scanned and linked in the system.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
payers |
Active payer record | DB record |
facilities |
Participating facilities | DB record (from ehr-patient-mgmt) |
| Contract Manager | Contract type, terms, payment terms, covered services, exclusions | SCR-PCM-003 / SCR-PCM-004 form |
| Fee Schedule Analyst | Fee schedule data (DHA/DOH tariff import or custom CSV) | CSV / tariff file import |
| Fee Schedule Analyst | Service-specific modifiers and exceptions | SCR-PCM-005 form |
| Approvers (Legal, RCM Manager, Finance Director) | Approval or revision request decisions | Approval workflow |
| Payer | Signed contract document | PDF upload / digital signature |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
contracts |
Contract record with terms, status, version | SQL INSERT / UPDATE |
contract_fee_schedules |
Fee schedule metadata (name, tariff base, effective dates) | SQL INSERT / UPDATE |
fee_schedule_items |
CPT-to-rate mappings with modifiers | SQL bulk INSERT / UPDATE |
contract_amendments |
Negotiation changes and approval log entries | SQL INSERT |
Billing & Claims (billing-claims) |
Active contract and fee schedule notification | Internal API (INT-PCM-001) |
Denial Analysis (denial-analysis) |
Contract terms for denial mapping | Internal API (INT-PCM-003) |
Post-conditions:
- Contract exists with status "Active" and associated fee schedules published
- All internal approvals recorded with timestamps and approver identities
- Payer-signed document linked to contract record
- Billing & Claims and Denial Analysis modules notified of new rates
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Contract shell creation (Draft) | < 1 business day | None — manager workflow | contracts.created_at |
| Fee schedule import and validation | < 2 business days | Alert if import errors unresolved > 2 days | contract_fee_schedules.created_at |
| Internal approval cycle | < 5 business days per approver | Reminder at 3 days; escalate to CFO at 5 days | contract_approval_log.action_datetime |
| Payer signature turnaround | < 15 business days | Alert Contract Manager at 10 days; escalate at 15 days | contracts.approved_date |
| Fee schedule publication to Billing | < 1 hour from activation | Alert IT if > 1 hour | contract_fee_schedules.published_datetime |
State Transition Diagram
WF-POLICYCONTRACTMGMT-003: Fee Schedule Management
Process Flow
Actor: Fee Schedule Analyst, RCM Manager
Trigger: Annual CPT update, DHA/DOH tariff revision, or contract renegotiation
Pre-conditions:
- Contract exists in
contracts(statusDraft,In Review, orActive) - Latest DHA/DOH tariff files or CPT updates available
- Fee Schedule Analyst opens Fee Schedule Editor (SCR-PCM-005) for a selected contract.
- System displays existing
contract_fee_schedulesandfee_schedule_itemsfor that contract, if any. - Analyst chooses to import base fee schedule (DHA tariff, DOH tariff, or custom) or create manually.
- If importing, system parses the file, maps payer/service categories to CPT codes, and creates/updates
contract_fee_schedules(INSERT/UPDATE) andfee_schedule_items(bulk INSERT). - System runs validation checks:
- CPT code exists in CPT master
- No duplicate CPT+modifier for same fee schedule
- Rates are non-negative and within configured bounds. - Analyst applies rate adjustments according to contract methodology (e.g., 120% of DHA tariff, 90% of DOH tariff, or fixed rates) using bulk update tools; system updates
fee_schedule_items(UPDATE). - Analyst configures bundling/unbundling rules (e.g., CCI-like edits) in a rules table or within
coverage_rules(INSERT/UPDATE). - System generates an impact analysis report comparing old vs. new rates, showing expected revenue change per service category.
- Analyst reviews impact; if acceptable, submits fee schedule for approval (status in
contract_fee_schedules→Pending Approval). - RCM Manager reviews fee schedule details and impact report; they can approve or reject. Decision is logged in an approval log table.
- If rejected, Analyst adjusts rates and resubmits; if approved, system sets
contract_fee_schedules.status→Activeand updates effective/expiry dates. - System notifies Billing & Claims module of updated rates via INT-PCM-001 and stores previous fee schedule version as historical (status →
Archived).
Data Modified:
contract_fee_schedules— INSERT, UPDATEfee_schedule_items— INSERT, UPDATEcoverage_rulesorbundling_rules(if separate) — INSERT, UPDATEfee_schedule_approval_log(if defined) — INSERT
Mermaid Flowchart
Decision Points
-
Import vs manual creation
- If import fails due to mapping issues → user must correct mapping or choose manual entry.
- If import succeeds → system pre-populates items for further adjustment. -
Validation of fee schedule items
- If validation fails (invalid CPT, negative rate, duplicate entries) → user must fix before proceeding.
- If passes → proceed to rate methodology and impact analysis. -
Approval decision
- If RCM Manager rejects → Analyst must adjust and resubmit.
- If approved → schedule becomes Active and previous versions are archived.
Integration Points
- Billing & Claims module (
billing-claims): - Direction: Outbound (INT-PCM-001)
- Data: Updated fee schedules and rates.
-
Trigger: Fee schedule status changes to
Active. -
Denial Analysis module (
denial-analysis): - Direction: Outbound (INT-PCM-003)
- Data: Updated rates for underpayment and denial pattern analysis.
- Trigger: Fee schedule activation.
Exception Handling
- File import errors:
-
System provides row-level error report (e.g., unknown CPT, missing rate); partial imports can be rolled back to maintain consistency.
-
Rate calculation overflow or extreme values:
-
If calculated rate exceeds configured thresholds (e.g., > 500% of base tariff) → system flags as potential configuration error and requires explicit override.
-
Concurrent edits:
- If two users edit the same fee schedule, system uses optimistic locking (version/timestamp); second user is prompted to reload.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Printed tariff books and binders | Centralised digital tariff and fee schedule repository | Faster lookup; ensures single source of truth |
| Excel spreadsheets emailed between finance and RCM | In-system fee schedule editor with audit trail | Eliminates version confusion and email errors |
| Manual revenue impact calculations | Automated impact analysis reports | Supports data-driven negotiation and planning |
| Paper sign-off sheets for fee changes | Electronic approval workflow with timestamps | Improves governance and compliance with internal policies |
Remaining Paper Touchpoints: None — fully digital once tariff files are received in electronic format from DHA/DOH.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
contracts |
Active or draft contract record | DB record |
| DHA/DOH | Tariff files (DHA tariff, DOH tariff) | CSV / structured file |
| Fee Schedule Analyst | Custom rate adjustments, bundling rules, modifier exceptions | SCR-PCM-005 form |
| CPT Master | Valid CPT codes and descriptions | Master data table |
| RCM Manager | Approval or rejection of fee schedule | Approval workflow |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
contract_fee_schedules |
Fee schedule metadata with status and effective dates | SQL INSERT / UPDATE |
fee_schedule_items |
CPT-to-rate mappings (bulk) | SQL bulk INSERT / UPDATE |
coverage_rules / bundling_rules |
Bundling and unbundling rules | SQL INSERT / UPDATE |
Billing & Claims (billing-claims) |
Updated fee schedule notification | Internal API (INT-PCM-001) |
Denial Analysis (denial-analysis) |
Updated rates for analysis | Internal API (INT-PCM-003) |
| Previous fee schedule | Archived version (status = "Archived") | SQL UPDATE |
Post-conditions:
- Active fee schedule published with current effective dates
- Previous version archived with historical rates preserved
- Impact analysis report generated and stored
- Billing & Claims notified with updated CPT-to-rate mappings
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Tariff file import and parsing | < 30 minutes for standard DHA/DOH tariff | Alert if import errors persist > 1 hour | contract_fee_schedules.import_datetime |
| Fee schedule validation | < 15 minutes (automated) | Manual review if > 100 errors | fee_schedule_items.validation_datetime |
| Rate methodology application | < 1 business day | None — analyst workflow | fee_schedule_items.updated_at |
| Impact analysis report generation | < 10 minutes | Alert IT if > 30 min | Report generation timestamp |
| RCM Manager approval | < 3 business days | Reminder at 2 days; escalate to Finance Director at 3 days | fee_schedule_approval_log.action_datetime |
| Publication to Billing | < 1 hour from approval | Alert IT if > 1 hour | contract_fee_schedules.published_datetime |
State Transition Diagram
WF-POLICYCONTRACTMGMT-004: Coverage Rule Configuration
Process Flow
Actor: Contract Analyst, Utilization Management Lead
Trigger: Contract specifies coverage rules; payer updates coverage policies
Pre-conditions:
- Payer and relevant plans exist in
payersandinsurance_plans - Contract and fee schedules defined for the payer
- Clinical coding standards (ICD-10-AM, CPT, SNOMED CT) available in master data
- Contract Analyst opens Coverage Rule Builder (SCR-PCM-006) and selects payer and plan.
- System loads existing
coverage_rulesandprior_auth_rulesfor that payer/plan. - Analyst chooses rule type (e.g., medical necessity, frequency limit, age/gender restriction, benefit limit).
- Analyst defines criteria:
- CPT codes or ranges, ICD-10-AM diagnosis codes, age range, gender, frequency limits (e.g., 1 MRI per 6 months), service category. - System validates codes against master tables and checks for conflicting rules (e.g., overlapping CPT+ICD combinations with different outcomes).
- Analyst specifies whether prior authorization is required (
requires_prior_authflag) and links toprior_auth_ruleswhere applicable. - Utilization Management Lead configures prior auth details: auth method (portal/phone/fax/auto-approve), turnaround days, valid duration, documentation required in
prior_auth_rules(INSERT/UPDATE). - Analyst defines benefit limits (annual maximums, visit caps, lifetime maximums) and links them to plan coverage level in
coverage_rules. - System provides a test claim feature: user enters sample patient demographics, CPT, ICD-10-AM codes, and plan; system simulates coverage decision using the configured rules.
- If test results are not as expected, Analyst adjusts rules and re-tests until desired behavior is achieved.
- Once validated, Analyst sets rule status to
Activeand effective date incoverage_rulesandprior_auth_rules(UPDATE). - System publishes rules to Patient Access and CPOE modules via INT-PCM-002 and INT-PCM-006 for real-time eligibility and order-time decision support.
Data Modified:
coverage_rules— INSERT, UPDATEprior_auth_rules— INSERT, UPDATEcoverage_rule_test_log(if defined) — INSERT
Mermaid Flowchart
Decision Points
-
Rule validation and conflict detection
- If conflicting rules exist (e.g., one rule says auth required, another says not required for same CPT/ICD/plan) → system prompts user to resolve conflict (prioritisation or consolidation). -
Test claim outcome
- If simulated claim result does not match payer policy → rules must be adjusted.
- If correct → rules can be activated. -
Prior auth requirement
- Ifrequires_prior_auth = true→ prior auth details must be configured; system enforces completeness.
- If false → prior auth rules may be disabled for that service.
Integration Points
- Patient Access module (
patient-access): - Direction: Outbound (INT-PCM-002)
- Data: Coverage rules and prior auth requirements for eligibility estimation and pre-registration.
-
Trigger: Rule activation or update.
-
CPOE module (
cpoe): - Direction: Outbound (INT-PCM-006)
- Data: Coverage and prior auth rules for order-time decision support (e.g., “MRI brain requires prior auth for this plan”).
-
Trigger: Rule activation or update.
-
Billing & Claims module (
billing-claims): - Direction: Outbound (INT-PCM-001/003)
- Data: Coverage rules for claim edits and pre-submission checks.
- Trigger: Rule activation or update.
Exception Handling
- Invalid or deprecated codes:
-
If CPT/ICD-10-AM codes are not found or are expired, system blocks rule creation and suggests valid alternatives.
-
Rule circularity or excessive complexity:
-
If rule combinations create loops or unresolvable logic, system warns and prevents activation until simplified.
-
PDPL considerations:
- Test claim simulations use anonymised or synthetic patient data where possible; if real data is used, access is logged and restricted by role.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Payer coverage manuals and printed benefit booklets | Configurable coverage_rules and prior_auth_rules with effective dates |
Ensures up-to-date rules across all front-end systems |
| Manual prior auth checklists | Structured prior auth requirements with documentation fields | Reduces missed documentation and denials |
| Ad-hoc phone calls to confirm coverage | Real-time rule-based eligibility and order-time checks | Improves patient financial transparency and reduces surprises |
| Paper notes on frequency limits and caps | System-enforced frequency and benefit limits | Prevents over-utilisation and non-covered services before they occur |
Remaining Paper Touchpoints: Some payers may still issue paper policy circulars; these are scanned and used as reference but rules are implemented digitally.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
payers, insurance_plans |
Payer and plan identifiers | DB records |
contracts, contract_fee_schedules |
Contract and fee schedule context | DB records |
| Contract Analyst | Rule criteria (CPT codes/ranges, ICD-10-AM, age, gender, frequency limits) | SCR-PCM-006 form |
| CPT Master, ICD-10-AM Master | Valid clinical codes for rule definition | Master data tables |
| Utilization Management Lead | Prior auth configuration (method, turnaround, documentation required) | SCR-PCM-006 form |
| Contract Analyst | Test claim parameters for simulation | SCR-PCM-006 test claim form |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
coverage_rules |
Active coverage rules with effective dates | SQL INSERT / UPDATE |
prior_auth_rules |
Prior auth requirements and configuration | SQL INSERT / UPDATE |
Patient Access (patient-access) |
Coverage and prior auth rules for eligibility | Internal API (INT-PCM-002) |
CPOE (cpoe) |
Coverage rules for order-time decision support | Internal API (INT-PCM-006) |
Billing & Claims (billing-claims) |
Coverage rules for claim edits | Internal API (INT-PCM-001/003) |
Post-conditions:
- Coverage rules active with correct effective dates
- Prior auth requirements linked to appropriate services and plans
- Test claim simulation validated expected behavior
- Patient Access, CPOE, and Billing modules have current rule sets
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Rule definition and code validation | < 2 business days | None — analyst workflow | coverage_rules.created_at |
| Conflict detection and resolution | < 1 business day | Alert UM Lead if > 5 conflicts unresolved | coverage_rules.validation_datetime |
| Prior auth configuration | < 1 business day | None — UM Lead workflow | prior_auth_rules.configured_datetime |
| Test claim simulation | < 5 minutes per scenario | None — immediate feedback | coverage_rule_test_log.test_datetime |
| Rule publication to downstream modules | < 5 minutes from activation | Retry with backoff; alert IT if > 15 min | integration_message_log.sent_at |
WF-POLICYCONTRACTMGMT-005: Contract Renewal / Amendment
Process Flow
Actor: Contract Manager, Finance Director
Trigger: Contract approaching expiration, rate adjustment needed, or scope change
Pre-conditions:
- Active contract exists in
contractswith upcoming expiry date - Payer performance data available from Billing & Claims and Denial Analysis
- System runs a daily job to identify contracts expiring in 90/60/30 days and populates Contract Renewal Alerts (SCR-PCM-008).
- Contract Manager reviews expiring contracts list with days to expiry and performance summary (volume, denial rate, reimbursement variance).
- For a selected contract, system retrieves aggregated metrics from
reimbursement_ratesand denial data (via Denial Analysis integration). - Contract Manager generates a renewal proposal with recommended rate adjustments (e.g., +5% on imaging, +3% on inpatient per diem) using built-in tools.
- System simulates financial impact of proposed changes and displays summary.
- Contract Manager decides whether to proceed with amendment or full new contract version.
- If amendment:
- System creates a new record incontract_amendments(INSERT) capturing amendment type, description, old_value, new_value, effective_date.
- Contract terms and relevantfee_schedule_itemsare updated (UPDATE). - If new version:
- System creates a newcontractsrow with parent_contract_id referencing the previous contract, version incremented, statusDraft.
- Existing fee schedules are cloned to newcontract_fee_schedulesandfee_schedule_items(INSERT). - Contract Manager routes amendment or new version through the same approval workflow as WF-PCM-002 (internal approvals, payer negotiation).
- Once approved internally and signed by payer, system updates
contractsand/orcontract_amendmentswith approved_by, approved_date, and status. - System sets new effective date and ensures old contract is end-dated appropriately (status →
ExpiredorSuperseded). - Updated fee schedules are activated (
contract_fee_schedules.status→Active) and previous ones archived. - System notifies Billing & Claims and Denial Analysis modules of new terms and effective dates.
Data Modified:
contracts— INSERT (new version), UPDATE (status, expiry)contract_amendments— INSERT, UPDATEcontract_fee_schedules— INSERT (cloned), UPDATEfee_schedule_items— INSERT (cloned), UPDATEreimbursement_rates— may be recalculated downstream, not directly modified here
Mermaid Flowchart
Decision Points
-
Proceed with change vs monitor
- If performance is acceptable and payer relationship strategic → may choose to renew as-is (no amendment).
- If underpayment or high denial rate → proceed with amendment or new version. -
Amendment vs new version
- Minor changes (e.g., small rate adjustments) → amendment.
- Major structural changes (contract type, facilities, methodology) → new contract version. -
Approval outcome
- If not approved internally or payer rejects → proposal must be revised or contract may lapse; system can escalate alerts.
Integration Points
- Billing & Claims module (
billing-claims): - Direction: Bidirectional (INT-PCM-001/003)
- Data Inbound: Claims data for performance metrics.
- Data Outbound: Updated contract terms and fee schedules.
-
Trigger: Renewal analysis and post-approval activation.
-
Denial Analysis module (
denial-analysis): - Direction: Bidirectional (INT-PCM-003)
- Data Inbound: Denial patterns and root causes.
- Data Outbound: Updated contract/amendment details for future analysis.
- Trigger: Renewal analysis and contract changes.
Exception Handling
- Missed renewal (contract expires):
-
If contract reaches expiry without renewal → system sets status to
Expiredand flags all related encounters/claims as out-of-contract; alerts Billing & Patient Access. -
Incorrect effective dates:
-
If new effective date overlaps with previous contract version → system warns and requires explicit override or adjustment.
-
Amendment without approval:
- System prevents activation of amendment changes until all required approvals are recorded.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Manual spreadsheets tracking contract expiry dates | Automated renewal alerts with days-to-expiry | Reduces risk of unintentional lapses in coverage |
| Paper-based renewal proposals and memos | In-system proposals with simulated impact and stored rationale | Supports transparent, data-driven negotiations |
| Printed contract addenda and physical filing | contract_amendments records with linked documents |
Easier retrieval during disputes and audits |
| Ad-hoc email chains for approvals | Structured approval workflow with status and timestamps | Strengthens internal controls and PDPL-compliant audit trails |
Remaining Paper Touchpoints: Some payers may still sign paper addenda; originals may be stored physically but scanned into the system.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| System (daily job) | Contracts expiring within 90/60/30 days | Automated scan of contracts.expiry_date |
| Billing & Claims | Claims volume, denial rate, reimbursement variance by payer | Internal API / shared DB (INT-PCM-001) |
| Denial Analysis | Denial patterns and root causes per payer/contract | Internal API (INT-PCM-003) |
reimbursement_rates |
Expected vs actual rates, variance data | DB records |
| Contract Manager | Renewal proposal with recommended rate adjustments | SCR-PCM-008 proposal tool |
| Approvers | Approval or rejection decisions | Approval workflow |
| Payer | Signed amendment or new contract | PDF upload / digital signature |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
contracts |
New version or updated contract record | SQL INSERT / UPDATE |
contract_amendments |
Amendment records with old/new values | SQL INSERT |
contract_fee_schedules |
Cloned or updated fee schedules | SQL INSERT / UPDATE |
fee_schedule_items |
Cloned or updated rate items | SQL INSERT / UPDATE |
| Billing & Claims | Updated terms and effective dates | Internal API (INT-PCM-001) |
| Denial Analysis | Updated contract details for future analysis | Internal API (INT-PCM-003) |
Post-conditions:
- Renewed or amended contract active with new effective dates
- Previous contract end-dated appropriately (Expired or Superseded)
- Updated fee schedules activated and previous versions archived
- All downstream modules notified of new terms
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| 90-day renewal alert generation | Daily at 02:00 UAE time | None — automated | contracts.expiry_date minus current date |
| Performance data aggregation for renewal analysis | < 1 business day | Alert if data unavailable | reimbursement_rates.period_end |
| Renewal proposal creation | < 5 business days from alert | Reminder at 3 days; escalate to Finance Director at 5 days | Proposal creation timestamp |
| Internal approval cycle | < 5 business days per approver | Reminder at 3 days; escalate to CFO at 5 days | contract_approval_log.action_datetime |
| Payer negotiation and signature | < 30 business days | Alert at 15 days; escalate at 30 days (risk of lapse) | contracts.approved_date |
| Fee schedule activation after approval | < 1 hour | Alert IT if > 1 hour | contract_fee_schedules.published_datetime |
WF-POLICYCONTRACTMGMT-006: Payer Performance Monitoring
Process Flow
Actor: RCM Manager, Finance Director
Trigger: Monthly/quarterly review cycle or ad-hoc performance review request
Pre-conditions:
- Claims and payment data available in Billing & Claims module
- Contracts and fee schedules configured in this module
- Denial data available from Denial Analysis module
- On a scheduled basis (e.g., monthly), system aggregates claims data by payer from Billing & Claims into
reimbursement_rates(INSERT/UPDATE). - For each payer/contract/CPT, system calculates:
- Expected rate (fromfee_schedule_items)
- Actual average rate (from paid claims)
- Variance percentage, claim count, period_start, period_end. - RCM Manager opens Payer Performance Dashboard (SCR-PCM-007).
- System displays payer scorecards: denial rate, average days to payment, reimbursement variance, volume trends, top denial reasons (via Denial Analysis integration).
- User filters by period, payer, payer class (e.g., THIQA, private), and facility.
- System highlights underperforming payers/contracts based on thresholds (e.g., variance < 98%, denial rate > 15%, average days to pay > contract terms).
- RCM Manager drills down into a specific payer to view service-level performance (by CPT/service category) using
reimbursement_rates. - System allows export of detailed data for further analysis (subject to PDPL and role-based access).
- Finance Director reviews high-level dashboards and identifies payers requiring renegotiation or operational interventions.
- For payers flagged as underperforming, RCM Manager can initiate a Contract Renewal / Amendment workflow (WF-PCM-005) directly from the dashboard.
- System logs all dashboard views and exports for audit purposes.
Data Modified:
reimbursement_rates— INSERT, UPDATEpayer_performance_audit_log(if defined) — INSERT
Mermaid Flowchart
Decision Points
-
Threshold-based underperformance
- If payer metrics fall outside configured thresholds → flagged as underperforming.
- If within thresholds → monitored only. -
Need for renegotiation
- If variance is minor and operational issues (e.g., coding) are root cause → focus on internal process improvement.
- If systemic underpayment or long days to pay → initiate contract renegotiation. -
Data export
- If user requests export → system checks role and PDPL permissions; may anonymise or restrict data for non-RCM roles.
Integration Points
- Billing & Claims module (
billing-claims): - Direction: Inbound (INT-PCM-001)
- Data: Claims, payments, and remittance information used to compute
reimbursement_rates. -
Trigger: Scheduled aggregation job.
-
Denial Analysis module (
denial-analysis): - Direction: Inbound (INT-PCM-003)
- Data: Denial codes, reasons, and patterns per payer.
- Trigger: Dashboard load and drill-down.
Exception Handling
- Missing or delayed claims data:
-
If Billing & Claims data not available for the period → system marks metrics as incomplete and displays warning.
-
Contract or fee schedule changes mid-period:
-
System uses effective dates to align expected rates with claim dates; if misalignment detected, it flags potential configuration issues.
-
Performance calculation errors:
- If division by zero or inconsistent data → system logs error and excludes affected records from KPIs, showing partial data warning.
Paperless Transformation
| Previously Paper-Based | Now Digital In-System | Notes |
|---|---|---|
| Manual Excel-based payer performance reports | Automated reimbursement_rates and dashboards |
Reduces manual effort and errors; supports timely decisions |
| Printed monthly reports circulated to leadership | Interactive dashboards with drill-down and export | Enables on-demand analysis and scenario planning |
| Ad-hoc notes on underperforming payers | Structured flags and links to renewal workflows | Ensures follow-up and traceability of actions |
| Paper files of remittance advices | Digital integration with Billing & Claims data | Facilitates accurate variance analysis and dispute preparation |
Remaining Paper Touchpoints: None — performance monitoring is fully digital; any printed reports are optional and generated from the system.
Inputs and Outputs
Inputs:
| Source | Data Element | Format |
|---|---|---|
| Billing & Claims | Claims data, payment outcomes, remittance information | Internal API / shared DB (INT-PCM-001) |
| Denial Analysis | Denial codes, reasons, patterns per payer | Internal API (INT-PCM-003) |
contracts, contract_fee_schedules |
Expected rates and contract terms | DB records |
fee_schedule_items |
CPT-to-rate mappings for variance calculation | DB records |
| RCM Manager / Finance Director | Filter criteria (period, payer, facility, payer class) | SCR-PCM-007 dashboard filters |
Outputs:
| Destination | Data Element | Format |
|---|---|---|
reimbursement_rates |
Aggregated expected vs actual rates, variance, claim counts | SQL INSERT / UPDATE |
| SCR-PCM-007 Dashboard | Payer scorecards, variance charts, denial summaries | Interactive dashboard |
payer_performance_audit_log |
Dashboard access and export events | SQL INSERT |
| WF-PCM-005 | Triggered renewal/amendment workflow for underperforming payers | Workflow initiation |
Post-conditions:
reimbursement_ratescurrent as of last aggregation job- Underperforming payers flagged based on configured thresholds
- Dashboard reflects accurate payer scorecards for the selected period
- All data exports and dashboard views logged for audit
SLA and Timing
| Step | Target Time | Escalation | Measurement Source |
|---|---|---|---|
| Nightly claims aggregation job | Complete by 04:00 UAE time | Auto-retry once at 04:15; alert Finance/RCM if still failing by 05:00 | reimbursement_rates.aggregation_datetime |
| Dashboard load time | < 5 seconds for summary view | Alert IT if > 10s average | Application performance monitoring |
| Drill-down to service-level detail | < 3 seconds | Alert IT if > 8s | Application performance monitoring |
| Data export generation | < 2 minutes for standard report | Alert if > 5 min | Export generation timestamp |
| Underperformance flag refresh | Within 1 hour of aggregation completion | None — automated | reimbursement_rates.flagged_at |