Your Revenue Cycle Management Data Template
Your Revenue Cycle Management Data Template
- Recommended attributes to collect
- Key activities to track for process discovery
- Detailed extraction guidance for R1 RCM
Revenue Cycle Management Attributes
| Name | Description | ||
|---|---|---|---|
| Activity Name ActivityName | The name of the specific business event or task that occurred at a point in time within the revenue cycle process. | ||
| Description This attribute describes a single step or milestone within the revenue cycle management process for a given billing event. Activities represent the work being done, such as 'Charges Captured', 'Claim Submitted', or 'Payment Posted'. Analyzing the sequence of activities is the core of process mining. It allows for the discovery of the actual process flow, identification of bottlenecks where activities take too long to start, and detection of rework loops where activities are repeated unnecessarily, like 'Claim Denied' followed by 'Denial Rework Started'. Why it matters It defines the steps in the process, allowing for the visualization of the process map, calculation of transition times, and identification of process deviations and rework. Where to get This information is typically derived from event logs, status change records, or transaction codes within various R1 RCM modules. It may require mapping from technical codes to business-friendly names. Examples Charges CapturedClaim SubmittedPayer Adjudication ReceivedPayment PostedAccount Closed | |||
| Billing Event BillingEvent | The unique identifier for a single billable service or item, serving as the primary case identifier for tracking the entire revenue cycle. | ||
| Description The Billing Event ID represents a distinct instance of a service or product delivery that results in a charge. It acts as the central thread connecting all related activities, from the initial service rendering and charge capture through claim submission, payment posting, and eventual account closure. In process mining, analyzing the lifecycle of each Billing Event allows for a comprehensive view of the end-to-end revenue cycle. It is used to trace the complete journey of a single charge, identify common pathways, measure cycle times between key milestones, and understand variations that lead to delays or revenue leakage. Why it matters This identifier is essential for grouping all related activities into a single case, enabling a complete and accurate process analysis of the revenue cycle for each billable event. Where to get This is the primary key linking various tables related to patient encounters, charges, claims, and payments. Consult R1 RCM documentation for the specific field, often related to an encounter or claim identifier. Examples BE-2023-0012345BE-2023-0054321BE-2024-0098765 | |||
| Event Time EventTime | The timestamp indicating when a specific activity or event occurred. | ||
| Description Event Time provides the precise date and time that an activity was recorded in the system. This temporal information is fundamental for understanding the process from a time-based analysis. In process mining, this timestamp is used to order events chronologically and calculate durations between activities, which is critical for performance analysis. It enables the calculation of key metrics like cycle time, processing time, and wait time, which are essential for identifying bottlenecks and measuring efficiency. Why it matters This timestamp is the foundation for all time-related analysis, including calculating cycle times, identifying bottlenecks, and monitoring process performance against SLAs. Where to get Typically found as a 'Creation Date', 'Timestamp', or 'Last Update Date' field associated with each transaction or status change record in R1 RCM. Examples 2023-10-26T10:00:00Z2023-10-27T14:35:10Z2023-11-05T09:12:45Z | |||
| Last Data Update LastDataUpdate | The timestamp of the most recent data refresh or extraction from the source system. | ||
| Description This attribute indicates the last time the data for the process mining analysis was updated. It provides context on the freshness of the data being analyzed. This information is important for reporting and dashboarding, as it tells the user how current the process insights are. It helps manage expectations about the data's timeliness and ensures that decisions are made based on an understood timeframe. Why it matters Provides crucial context on data freshness, ensuring that analysts and stakeholders are aware of how up-to-date the process insights are. Where to get This timestamp is generated during the data extraction, transformation, and loading (ETL) process and is usually applied to the entire dataset. Examples 2024-05-20T08:00:00Z2024-05-21T08:00:00Z | |||
| Source System SourceSystem | The system of record from which the event data was extracted. | ||
| Description This attribute identifies the source application or module that generated the data for a particular event. In a complex environment like healthcare, data may come from an EMR, a billing module, a claims clearinghouse, or a collections platform. Understanding the source system is crucial for data validation and for analyzing process variations that may be specific to certain systems. It helps in troubleshooting data inconsistencies and understanding the technological landscape of the process. Why it matters Identifies the origin of the data, which is crucial for data governance, validation, and understanding how different systems interact within the end-to-end process. Where to get This is often a static value added during the data extraction process, identifying the system (e.g., 'R1 RCM') from which the data originates. Examples R1 RCMCernerEpic | |||
| Assigned User AssignedUser | The user ID or name of the employee who performed the activity. | ||
| Description This attribute identifies the individual responsible for executing a specific task in the process. This could be the biller who created the claim, the analyst who reworked a denial, or the specialist who posted a payment. Analyzing by user helps to understand workload distribution, individual performance, and training needs. It can highlight which users are most efficient or which may be associated with higher error rates, enabling targeted management and process improvement efforts. Why it matters Enables analysis of team and individual performance, workload distribution, and helps identify training opportunities or user-specific process deviations. Where to get Typically found as a 'UserID', 'Processor', or 'UpdatedBy' field in transaction logs within R1 RCM. Examples jdoeasmithp.jonesBOT_RPA01 | |||
| Billing Department BillingDepartment | The department or functional team responsible for performing the activity. | ||
| Description This attribute specifies the organizational unit, such as 'Charge Entry', 'Claims Submission', or 'Denial Management', that executed a particular process step. It helps in understanding how work is handed off between different teams. This is crucial for analyzing departmental throughput and identifying cross-functional bottlenecks. By filtering the process map by department, organizations can see where handoffs are smooth and where delays occur, supporting resource allocation and organizational process optimization. Why it matters Allows for analysis of process performance by organizational unit, helping to identify team-specific bottlenecks, resource constraints, or best practices. Where to get This may be derived from the user's profile in R1 RCM or stored as a 'Department Code' in the transaction data. Examples Charge CaptureClaims ManagementDenial & AppealsPayment Posting | |||
| Denial Reason Code DenialReasonCode | A standardized code from the payer explaining why a claim was denied. | ||
| Description When a payer denies a claim, they provide a reason code, such as a CARC (Claim Adjustment Reason Code), to explain the decision. These codes are standardized and indicate issues like 'Service Not Covered' or 'Duplicate Claim'. This attribute is extremely important for denial management. By analyzing the frequency of different denial reason codes, organizations can identify and address the root causes of denials, whether they are related to patient eligibility, coding errors, or lack of medical necessity. This directly supports efforts to reduce rework and accelerate cash flow. Why it matters Provides the specific reason for claim denials, enabling root cause analysis to reduce future denials, decrease rework, and improve first-pass payment rates. Where to get This information is received in the electronic remittance advice (ERA or 835 file) from the payer and is stored in the claims management module of R1 RCM. Examples CO-16: Claim/service lacks information needed for adjudication.PR-97: The benefit for this service is included in the payment/allowance for another service.CO-22: This care may be covered by another payer per coordination of benefits.OA-18: Exact duplicate claim/service. | |||
| Invoice Amount InvoiceAmount | The total monetary value of the charges on the invoice or claim. | ||
| Description This attribute represents the total billed amount for the services rendered in a given billing event. It reflects the revenue expected from the claim. Analyzing the invoice amount is critical for financial process mining. It allows for prioritizing high-value claims, understanding the financial impact of process delays or denials, and segmenting the process based on value. For instance, an analysis might reveal that claims over a certain amount follow a different, more manual process path. Why it matters Provides financial context to the process, enabling analysis of how process variations impact revenue, and helps prioritize high-value cases for improvement. Where to get Located in the main claim or invoice header table in R1 RCM, often named 'TotalBilledAmount' or similar. Examples 150.002500.7585.5012000.00 | |||
| Invoice Status InvoiceStatus | The current status of the invoice or claim in its lifecycle. | ||
| Description This attribute indicates the last known state of a billing event, such as 'Submitted', 'Paid', 'Denied', or 'In Collections'. It provides a snapshot of where an invoice is in the process at a given time. Invoice status is vital for creating aging reports and monitoring the health of accounts receivable. In process mining, it can be used to filter for cases that are stuck in a particular state or to analyze the outcomes of different process variants, for example, comparing the paths of 'Paid' vs. 'Denied' claims. Why it matters Provides a current-state view of each case, essential for building aging reports and analyzing the final outcomes of different process paths. Where to get This is typically a status field on the main claim or account record in R1 RCM. Examples Pending SubmissionSubmitted to PayerDeniedPaid in FullIn Collections | |||
| Payer Name PayerName | The name of the insurance company, government entity, or patient responsible for payment. | ||
| Description This attribute identifies the primary payer for the claim. This could be a commercial insurer like Aetna, a government payer like Medicare, or the patient themselves for self-pay portions. Analyzing the process by payer is fundamental to revenue cycle management. It can reveal that certain payers have higher denial rates, longer payment cycles, or more complex submission requirements. These insights allow the organization to tailor its processes and resources to manage payer-specific behaviors effectively. Why it matters Enables segmentation of the process by payer to identify payer-specific delays, denial patterns, or payment behaviors, which is crucial for optimizing revenue. Where to get Found in the patient's insurance or demographic information linked to the claim in R1 RCM. Examples MedicareUnitedHealthcareBlue Cross Blue ShieldAetnaSelf-Pay | |||
| Adjustment Amount AdjustmentAmount | The monetary value of an adjustment made to the account balance. | ||
| Description This attribute captures the value of any financial adjustments made to a patient's account after the initial billing. Adjustments can be positive or negative and include contractual allowances, write-offs, or corrections. Tracking adjustment amounts is critical for understanding revenue integrity. High levels of negative adjustments can indicate revenue leakage due to issues like incorrect charge capture or uncollectible debt. Analyzing this data helps identify the financial impact of billing errors and collection inefficiencies. Why it matters Quantifies revenue leakage and financial corrections, helping to pinpoint the monetary impact of billing inaccuracies, contractual obligations, or bad debt. Where to get Found in the transaction logs related to account adjustments or payment posting in R1 RCM. Examples -50.2520.00-1200.00 | |||
| Adjustment Reason AdjustmentReason | The reason provided for a financial adjustment, such as 'Contractual Allowance' or 'Bad Debt Write-off'. | ||
| Description This attribute provides context for why a financial adjustment was made to an account. Reasons are often standardized codes or descriptions that categorize the type of adjustment. Analyzing adjustment reasons helps to diagnose the root causes of revenue leakage. For example, a high frequency of 'Small Balance Write-off' might suggest an inefficient collections process for small amounts, while frequent 'Contractual Allowances' are an expected part of payer negotiations. This analysis supports the Billing Adjustments & Compliance Audit dashboard. Why it matters Explains the 'why' behind revenue adjustments, helping to identify root causes of revenue loss, such as contractual issues, billing errors, or collection failures. Where to get This is typically a code or text field in the same transaction record as the AdjustmentAmount in R1 RCM. Examples Contractual AllowanceBad Debt Write-offSmall Balance Write-offBilling Error Correction | |||
| Collection Outcome CollectionOutcome | The final result of collection activities for an outstanding balance. | ||
| Description This attribute describes the outcome of efforts to collect payment on an overdue account. Possible outcomes include 'Paid in Full', 'Settled', 'Placed in Bad Debt', or 'Unresolved'. Tracking collection outcomes is essential for evaluating the effectiveness of the collections process. By analyzing which activities lead to which outcomes, organizations can optimize their collection strategies, improve recovery rates, and make informed decisions about when to cease collection efforts and write off balances. This supports the Collection Activity Performance dashboard. Why it matters Measures the effectiveness of the collections process by tracking the final resolution of overdue accounts, helping to optimize collection strategies. Where to get This is likely a status field on the patient account or in a dedicated collections module within R1 RCM. Examples Paid in FullSettled for Lower AmountSent to External AgencyWritten Off to Bad Debt | |||
| Is Automated IsAutomated | A flag indicating if the activity was performed by an automated system or a human user. | ||
| Description This boolean attribute distinguishes between tasks executed by software automation, such as an RPA bot for claim submission, and tasks performed manually by an employee. Analyzing this attribute is key to understanding the impact and effectiveness of automation initiatives. It allows for comparing the speed, cost, and error rates of automated versus manual processes, helping to identify new opportunities for automation and measure the ROI of existing bots. Why it matters Distinguishes between human and system-driven activities, which is critical for measuring the impact of automation on process efficiency, cost, and quality. Where to get This can be derived from the 'AssignedUser' field, where specific user IDs are reserved for bots (e.g., 'BOT_RPA01'). Alternatively, some systems have a dedicated field to flag automated transactions. Examples truefalse | |||
| Is Rework IsRework | A calculated flag that identifies activities that are part of a rework loop, such as resubmitting a denied claim. | ||
| Description This attribute is a boolean flag that is typically calculated during process mining analysis. It becomes 'true' if an activity is a repetition of a previous step or is part of a sequence that indicates correction of an error, for example, any activity following 'Claim Denied'. Identifying rework is one of the most powerful capabilities of process mining. It quantifies the amount of wasted effort, time, and resources in a process. By flagging rework, organizations can focus their improvement efforts on preventing the errors that cause it in the first place, leading to significant efficiency gains. Why it matters Helps quantify the frequency and impact of rework, such as claim denials, allowing for targeted analysis to reduce inefficiencies and wasted effort. Where to get This is not a field in the source system. It is calculated by the process mining tool based on the sequence of activities, such as detecting when a 'Claim Submitted' activity occurs more than once for the same case. Examples truefalse | |||
| Patient ID PatientId | The unique identifier for the patient who received the service. | ||
| Description This attribute is the unique ID assigned to a patient within the healthcare system, often referred to as the Medical Record Number (MRN). While individual patient care is not the focus, the Patient ID can be used to analyze recurring billing issues for the same patient over time. It can also help segment the process by patient demographics or history if linked to other patient data, potentially uncovering systemic issues affecting certain patient groups. Why it matters Allows for analysis of billing events at the patient level, helping to identify recurring issues or patterns for specific patients over multiple encounters. Where to get This identifier is a core part of the patient demographic data linked to every encounter and claim in R1 RCM. Examples MRN837262MRN937281MRN103847 | |||
| Service Code ServiceCode | The billing code for the specific service or procedure provided, such as a CPT or HCPCS code. | ||
| Description Service codes, like CPT (Current Procedural Terminology) codes, are standardized medical codes used to report medical, surgical, and diagnostic procedures and services to payers for reimbursement. Analyzing the process by service code is essential for identifying billing issues related to specific types of care. It can highlight which procedures are most often denied, have the longest payment cycles, or require the most rework, allowing for targeted improvements in coding and billing practices. Why it matters Enables process analysis based on the type of service rendered, which is key to identifying denial patterns or payment delays associated with specific procedures. Where to get This information is found at the line-item level for each charge or claim within R1 RCM. Examples 992139928573560 | |||
| Service To Payment Cycle Time ServiceToPaymentCycleTime | The total calculated duration from when a service was rendered to when the final payment was posted. | ||
| Description This metric measures the end-to-end duration of the revenue cycle for a single billing event. It represents the total time it takes for an organization to convert a provided service into cash. This is a critical Key Performance Indicator (KPI) for financial health. Analyzing this duration helps identify major areas for process acceleration. By breaking down the cycle time into its component parts, such as 'time to bill' and 'time to pay', organizations can pinpoint the biggest opportunities to improve cash flow. Why it matters This is a critical, high-level KPI that measures the overall efficiency of the cash conversion cycle, directly impacting the organization's cash flow. Where to get This is a calculated metric. It is the time difference between the timestamp of the 'Service Rendered' activity and the 'Payment Posted' activity for a given Billing Event. Examples 35 days 8 hours92 days 4 hours15 days 12 hours | |||
Revenue Cycle Management Activities
| Activity | Description | ||
|---|---|---|---|
| Account Closed | The billing event is fully resolved with a zero balance, and the account is formally closed. This signifies the successful completion of the revenue cycle for this specific encounter. | ||
| Why it matters This is the primary 'happy path' end event for the process. Measuring the Account Closure Cycle Time helps ensure administrative tasks are completed efficiently and records are finalized. Where to get This event is inferred when the account balance reaches zero and a final status of 'Closed' or 'Paid in Full' is applied. The timestamp is taken from the last financial transaction that zeroed out the balance. Capture Inferred when the account balance becomes zero and a 'Closed' status is applied, along with a final activity timestamp. Event type inferred | |||
| Charges Captured | This activity signifies the formal recording of all billable services, procedures, and supplies for a patient encounter. It is a critical data entry step that translates clinical activities into financial transactions. | ||
| Why it matters Marks the handoff from clinical to financial operations. It is the start point for measuring invoice and claim generation cycle times and helps identify charge entry backlogs. Where to get Captured within R1 RCM's charge entry module or received via an interface from an EHR. The event is typically marked by a specific transaction log or the creation timestamp of the charge record. Capture Identified by the creation timestamp of the charge transaction record in the billing table. Event type explicit | |||
| Claim Submitted | The generated claim is electronically submitted to the responsible payer, such as an insurance company. This marks the first external communication in the billing process to secure reimbursement. | ||
| Why it matters A critical milestone that starts the clock on payer reimbursement. Tracking this helps monitor submission backlogs and ensures timely filing compliance with payers. Where to get This event is recorded as an explicit transaction when the claim is transmitted to a clearinghouse. The system logs the submission timestamp and confirmation details. Capture Logged explicitly as a transaction with a submission timestamp when the claim is sent via the clearinghouse. Event type explicit | |||
| Payment Posted | The received payment is officially applied to the patient's account, reducing the outstanding balance. This is the final step in reconciling a payment with the services that were billed. | ||
| Why it matters This activity provides the end point for calculating Service-to-Payment and Payment Posting cycle times. It confirms that revenue is recognized and accounts are accurately updated. Where to get This is recorded as an explicit financial transaction in the R1 RCM patient accounting module. Each posting includes a date, amount, and source. Capture Recorded as a specific transaction with a posting date when a user or automated process applies the payment. Event type explicit | |||
| Payment Received | A payment is received from either a payer or a patient. This event marks the receipt of funds, but the funds have not yet been applied to the specific account or service lines. | ||
| Why it matters Represents cash inflow. The time gap between 'Payment Received' and 'Payment Posted' is a key metric for understanding back-office efficiency and cash reconciliation delays. Where to get Captured from electronic remittance files from payers or from processing patient payments. The event corresponds to the deposit date or file receipt date. Capture Logged from the ERA file's payment effective date or the transaction date of a patient payment. Event type explicit | |||
| Service Rendered | Represents the point at which a billable service or procedure is completed for a patient. This event is often captured from a clinical or scheduling system and serves as the trigger for the revenue cycle. | ||
| Why it matters This is the starting point for the Service-to-Payment cycle time KPI. Analyzing the time from this event helps identify front-end delays in the revenue cycle. Where to get Typically sourced from an Electronic Health Record (EHR) or a practice management system integrated with R1 RCM. It is often inferred from a 'Service Date' or 'Procedure Completed' timestamp in the patient's record. Capture Inferred from the 'Date of Service' timestamp associated with the patient encounter. Event type inferred | |||
| Account Adjustment Made | A non-payment transaction is posted to the account to change the balance. This can include contractual adjustments based on payer agreements, small balance write-offs, or corrections. | ||
| Why it matters High volumes of adjustments can indicate issues with fee schedules, contract management, or billing errors. Tracking adjustments is critical for analyzing revenue integrity. Where to get Recorded as a specific transaction type in the patient accounting module of R1 RCM. Each adjustment has a code, an amount, and a posting date. Capture Logged as a distinct adjustment transaction, identifiable by a unique transaction code. Event type explicit | |||
| Account Placed in Bad Debt | All collection efforts have been exhausted, and the remaining account balance is deemed uncollectible. The balance is written off as bad debt, representing a final revenue loss. | ||
| Why it matters This represents a negative process outcome and direct revenue loss. Analyzing which cases end in bad debt can reveal patterns in non-payment and opportunities to improve collections. Where to get This is typically an explicit transaction in R1 RCM where the outstanding balance is moved to a specific bad debt category, often triggered by a user or automated aging rules. Capture Logged as a specific financial transaction to write off the balance, often associated with a transfer to an external collections agency. Event type explicit | |||
| Claim Created | A formal billing claim is generated in the system based on the captured charges. This involves compiling patient demographics, insurance information, and service codes into a standardized format. | ||
| Why it matters This is a key internal milestone before external submission. Delays here can point to issues with coding, data validation, or system configuration that slow down the entire billing process. Where to get This is an internal system event within R1 RCM. It's likely captured as a status change on the billing account or by the creation timestamp of the claim entity itself. Capture Inferred from the status change to 'Claim Generated' or the creation timestamp of the claim record. Event type inferred | |||
| Claim Denied | The payer has refused to pay for the claim, either in full or for specific line items. The denial reason is captured, initiating a rework and appeals process. | ||
| Why it matters This activity highlights revenue leakage and process inefficiency. Analyzing denial reasons is essential for identifying root causes and improving first-pass claim acceptance rates. Where to get This is not a discrete event, but rather a status inferred from the details within a processed ERA file. Specific denial codes within the remittance data trigger a status change on the claim. Capture Inferred from denial codes present in the processed ERA file, which change the claim's status to 'Denied'. Event type inferred | |||
| Collection Activity Started | The patient's account has become delinquent, and proactive collection efforts are initiated. This can range from automated reminder letters to placement with a collections specialist. | ||
| Why it matters Marks the beginning of the cost-intensive collections process. Analyzing the effectiveness and cycle time of these activities helps optimize strategies for recovering bad debt. Where to get This event is likely logged or inferred from a status change when an account is moved into a collections work queue or assigned a collections status code within R1 RCM. Capture Inferred from a status change on the account to a 'Collections' or 'Delinquent' status. Event type inferred | |||
| Denial Rework Started | A user or automated workflow begins investigating and resolving a denied claim. This may involve correcting coding, submitting documentation, or appealing the payer's decision. | ||
| Why it matters Tracks the start of the costly rework loop for denied claims. Measuring the time spent in this phase is key to understanding the efficiency of the denial management team. Where to get This event is often inferred from a change in the denied claim's status to 'Rework in Progress' or 'Under Review' within an R1 RCM work queue or denial management module. Capture Inferred from a status change in a denial management work queue or by the first user action on a denied claim. Event type inferred | |||
| Patient Statement Generated | After insurance adjudication, a statement is created for the patient detailing the remaining balance they are responsible for. This could be for co-pays, deductibles, or non-covered services. | ||
| Why it matters This activity initiates the patient payment portion of the revenue cycle. Analyzing its timing and frequency is important for managing patient collections and cash flow. Where to get Typically captured as a logged event when a batch process is run to create and print or electronically send patient statements. R1 RCM would record the date the statement was generated. Capture Logged as a transaction when the batch process to generate patient statements is run. Event type explicit | |||
| Payer Adjudication Received | The system receives a response from the payer regarding the submitted claim, often in an Electronic Remittance Advice (ERA) file. This response details what was paid, denied, or adjusted. | ||
| Why it matters This event is a crucial fork in the process, determining whether the next step is payment posting or denial management. Analyzing this helps understand payer behavior and payment velocity. Where to get Captured when an electronic remittance file, such as an ANSI 835 file, from the payer is processed by R1 RCM. The event is marked by the processing timestamp of this file. Capture Logged upon ingestion and processing of the Electronic Remittance Advice (ERA/835) file. Event type explicit | |||
Extraction Guides
Steps
- Log in to the R1 RCM platform with a user account that has permissions to access the business intelligence or reporting modules.
- Navigate to the reporting section of the platform. This may be labeled as "Business Intelligence", "Reporting Portal", or "Analytics".
- Locate the tool for creating a new custom report or query. This allows you to define the specific data fields and logic for the extraction.
- Since R1 RCM does not provide a pre-built, unified event log, you must construct one by combining data from different sources. The provided query configuration uses a UNION ALL approach to merge events from various business objects into a single chronological log.
- Copy the complete query provided in the "Query" section of this document and paste it into the custom report's query editor or configuration interface.
- Configure the report parameters, especially the date range. Set the
'{StartDate}'and'{EndDate}'placeholders in the query to define the time period for the extraction, such as the last 6 months. - Add any other necessary filters to the report configuration, such as filtering for specific facilities, departments, or payer groups to narrow the scope of the data.
- Execute the report. This will run the query against the R1 RCM database and generate the results based on your specified parameters.
- Once the report has finished running, find the option to export the data. Select CSV (Comma Separated Values) as the export format, as it is directly compatible with ProcessMind.
- Download the generated CSV file and open it to perform a quick review. Ensure the column headers match the required attributes:
BillingEvent,ActivityName,EventTime,SourceSystem, andLastDataUpdate. - Verify that the date and time formats in the
EventTimeandLastDataUpdatecolumns are consistent before uploading the file to ProcessMind.
Configuration
- Prerequisites: A user account with sufficient permissions to access and create custom reports within the R1 RCM Business Intelligence module is required.
- Report Type: Use a custom query or advanced report builder that allows for complex data retrieval and the use of UNION ALL statements to combine different data sets.
- Date Range: To manage performance and data volume, it is critical to filter by a specific time period. We recommend starting with a 3 to 6 month window for the initial analysis. Apply the date filter to the primary timestamp field for each activity.
- Key Filters: Beyond the date range, consider applying filters for
Facility ID,Payer Type, orBilling Departmentto focus the analysis on specific operational areas and reduce the size of the export. - Export Format: Always select CSV as the output format. This ensures a clean, structured file that can be easily parsed by process mining tools.
- Scheduling: If the R1 RCM reporting module supports it, consider scheduling this report to run on a recurring basis (e.g., weekly or monthly) to automate data refreshes for continuous monitoring.
a Sample Query config
SELECT
c.ClaimID AS BillingEvent,
'Service Rendered' AS ActivityName,
c.ServiceDate AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
c.ClinicianID AS AssignedUser,
d.DepartmentName AS BillingDepartment,
c.TotalChargeAmount AS InvoiceAmount,
p.PayerName AS PayerName,
'Rendered' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [ServiceAndChargeData] c
JOIN [Departments] d ON c.DepartmentID = d.DepartmentID
JOIN [Payers] p ON c.PayerID = p.PayerID
WHERE c.ServiceDate BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
c.ClaimID AS BillingEvent,
'Charges Captured' AS ActivityName,
c.ChargeEntryTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
c.ChargeEntryUserID AS AssignedUser,
d.DepartmentName AS BillingDepartment,
c.TotalChargeAmount AS InvoiceAmount,
p.PayerName AS PayerName,
'Open' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [ServiceAndChargeData] c
JOIN [Departments] d ON c.DepartmentID = d.DepartmentID
JOIN [Payers] p ON c.PayerID = p.PayerID
WHERE c.ChargeEntryTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
cl.ClaimID AS BillingEvent,
'Claim Created' AS ActivityName,
cl.CreationTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
cl.CreatedByUserID AS AssignedUser,
cl.BillingDepartment AS BillingDepartment,
cl.TotalAmount AS InvoiceAmount,
cl.PayerName AS PayerName,
'Created' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [ClaimsData] cl
WHERE cl.CreationTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
cl.ClaimID AS BillingEvent,
'Claim Submitted' AS ActivityName,
cl.SubmissionTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
cl.SubmittedByUserID AS AssignedUser,
cl.BillingDepartment AS BillingDepartment,
cl.TotalAmount AS InvoiceAmount,
cl.PayerName AS PayerName,
'Submitted' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [ClaimsData] cl
WHERE cl.SubmissionTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
era.ClaimID AS BillingEvent,
'Payer Adjudication Received' AS ActivityName,
era.ReceivedTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
'System' AS AssignedUser,
pa.BillingDepartment AS BillingDepartment,
pa.InvoiceAmount AS InvoiceAmount,
era.PayerName AS PayerName,
'Adjudicated' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [RemittanceAdvice] era
JOIN [PatientAccounts] pa ON era.ClaimID = pa.BillingEvent
WHERE era.ReceivedTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
d.ClaimID AS BillingEvent,
'Claim Denied' AS ActivityName,
d.DenialTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
'System' AS AssignedUser,
cl.BillingDepartment AS BillingDepartment,
cl.TotalAmount AS InvoiceAmount,
cl.PayerName AS PayerName,
'Denied' AS InvoiceStatus,
d.ReasonCode AS DenialReasonCode
FROM [DenialsLog] d
JOIN [ClaimsData] cl ON d.ClaimID = cl.ClaimID
WHERE d.DenialTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
dr.ClaimID AS BillingEvent,
'Denial Rework Started' AS ActivityName,
dr.ReworkStartTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
dr.AssignedUserID AS AssignedUser,
cl.BillingDepartment AS BillingDepartment,
cl.TotalAmount AS InvoiceAmount,
cl.PayerName AS PayerName,
'In Rework' AS InvoiceStatus,
dr.OriginalDenialCode AS DenialReasonCode
FROM [DenialRework] dr
JOIN [ClaimsData] cl ON dr.ClaimID = cl.ClaimID
WHERE dr.ReworkStartTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
ps.PatientAccountID AS BillingEvent,
'Patient Statement Generated' AS ActivityName,
ps.GenerationTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ps.GeneratedByUserID AS AssignedUser,
pa.BillingDepartment AS BillingDepartment,
ps.StatementBalance AS InvoiceAmount,
'Patient' AS PayerName,
'Patient Billed' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [PatientStatements] ps
JOIN [PatientAccounts] pa ON ps.PatientAccountID = pa.BillingEvent
WHERE ps.GenerationTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
p.AssociatedClaimID AS BillingEvent,
'Payment Received' AS ActivityName,
p.ReceiptTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
p.ProcessedByUserID AS AssignedUser,
pa.BillingDepartment AS BillingDepartment,
p.PaymentAmount AS InvoiceAmount,
p.PayerName AS PayerName,
'Payment Pending' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [PaymentsLog] p
JOIN [PatientAccounts] pa ON p.AssociatedClaimID = pa.BillingEvent
WHERE p.ReceiptTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
pt.ClaimID AS BillingEvent,
'Payment Posted' AS ActivityName,
pt.PostingTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
pt.PostedByUserID AS AssignedUser,
pa.BillingDepartment AS BillingDepartment,
pt.PostedAmount AS InvoiceAmount,
pt.PayerName AS PayerName,
'Partially Paid' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [PaymentTransactions] pt
JOIN [PatientAccounts] pa ON pt.ClaimID = pa.BillingEvent
WHERE pt.PostingTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
a.ClaimID AS BillingEvent,
'Account Adjustment Made' AS ActivityName,
a.AdjustmentTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
a.AdjusterID AS AssignedUser,
pa.BillingDepartment AS BillingDepartment,
a.AdjustmentAmount AS InvoiceAmount,
pa.PayerName AS PayerName,
'Adjusted' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [Adjustments] a
JOIN [PatientAccounts] pa ON a.ClaimID = pa.BillingEvent
WHERE a.AdjustmentTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
ca.PatientAccountID AS BillingEvent,
'Collection Activity Started' AS ActivityName,
ca.ActivityTimestamp AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
ca.AssignedAgentID AS AssignedUser,
'Collections' AS BillingDepartment,
pa.CurrentBalance AS InvoiceAmount,
'Patient' AS PayerName,
'In Collections' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [CollectionsActivity] ca
JOIN [PatientAccounts] pa ON ca.PatientAccountID = pa.BillingEvent
WHERE ca.ActivityTimestamp BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
pa.BillingEvent AS BillingEvent,
'Account Placed in Bad Debt' AS ActivityName,
pa.BadDebtPlacementDate AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
pa.BadDebtUserID AS AssignedUser,
'Finance' AS BillingDepartment,
pa.CurrentBalance AS InvoiceAmount,
'Patient' AS PayerName,
'Bad Debt' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [PatientAccounts] pa
WHERE pa.BadDebtPlacementDate BETWEEN '{StartDate}' AND '{EndDate}'
UNION ALL
SELECT
pa.BillingEvent AS BillingEvent,
'Account Closed' AS ActivityName,
pa.ClosureDate AS EventTime,
'R1 RCM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
'System' AS AssignedUser,
pa.BillingDepartment AS BillingDepartment,
0 AS InvoiceAmount,
pa.PayerName AS PayerName,
'Closed' AS InvoiceStatus,
NULL AS DenialReasonCode
FROM [PatientAccounts] pa
WHERE pa.ClosureDate BETWEEN '{StartDate}' AND '{EndDate}' AND pa.CurrentBalance = 0;