Data Template: Claims Processing
Your Claims Processing Data Template
- Recommended attributes to collect
- Key activities to track
- Extraction guidance for Duck Creek Claims
Claims Processing Attributes
| Name | Description | ||
|---|---|---|---|
Activity Name ActivityName | The name of the business activity or event that occurred at a specific point in time for a claim. | ||
Description This attribute describes a specific step or task performed within the claims process, such as 'Claim Submitted', 'Adjuster Assigned', or 'Payment Issued'. Each activity represents a distinct point in the claim's lifecycle. Analyzing the sequence and frequency of these activities is the core of process mining. It allows for the discovery of process models, identification of bottlenecks, detection of rework loops, and analysis of process deviations against a standard model. Why it matters The Activity Name defines the steps in the process flow, which is fundamental for discovering, analyzing, and monitoring the claims process. Where to get Typically derived from event logs, transaction names, or status change records within Duck Creek Claims. This may require mapping from multiple source fields or tables. Examples Claim SubmittedAdjuster AssignedInvestigation StartedPayment IssuedClaim Closed | |||
Claim ID ClaimId | The unique identifier for a single insurance claim, serving as the primary case identifier. | ||
Description The Claim ID is the fundamental key that links all events and activities associated with a single insurance claim from submission to closure. It ensures that the entire lifecycle of a claim can be tracked cohesively. In process mining analysis, this attribute is essential for constructing the case view, allowing analysts to trace the complete journey of each claim, measure end-to-end cycle times, and analyze process variants. Why it matters This is the essential Case ID that connects all related events in the process, enabling a complete, end-to-end view of the claim's lifecycle. Where to get This is a primary key in the main claim entity or table within Duck Creek Claims. Consult system documentation for the specific table and field name. Examples CL-2023-001234CL-2023-005678CL-2024-009101 | |||
Event Time EventTime | The timestamp indicating when a specific activity or event occurred. | ||
Description Event Time provides the precise date and time for each activity recorded in the claim's lifecycle. This temporal information is critical for performance analysis. In analysis, this timestamp is used to calculate cycle times between activities, identify wait times, measure overall case duration, and analyze process performance over different time periods. It is the backbone of any time-based process metric. Why it matters This timestamp is crucial for calculating all time-based metrics, such as cycle times and durations, enabling performance analysis and bottleneck identification. Where to get This is a standard timestamp field associated with event or transaction logs in Duck Creek Claims. Look for fields like 'CreateDate', 'Timestamp', or 'EventDate'. Examples 2023-10-26T10:00:00Z2023-10-26T14:35:10Z2023-10-27T09:15:00Z | |||
Assigned Adjuster AssignedAdjuster | The name or ID of the claims adjuster responsible for handling the claim at a given activity. | ||
Description This attribute identifies the user or resource performing an activity. It can change throughout the claim lifecycle as the case is handed off between different adjusters or teams. This is essential for analyzing resource performance, workload distribution, and handoffs. Dashboards focusing on adjuster throughput, workload variance, and identifying bottlenecks often rely heavily on this attribute to understand how work is allocated and processed by individuals. Why it matters Enables analysis of resource performance, workload balancing, and collaboration patterns, helping to identify bottlenecks and training needs. Where to get Consult Duck Creek Claims documentation. Look for user, owner, or assignee fields in tables related to claim tasks, events, or the primary claim entity. Examples John SmithJane DoeRobert Brownadjuster_1138 | |||
Claim Severity ClaimSeverity | A classification of the claim's financial or operational complexity, such as Low, Medium, or High. | ||
Description Claim Severity provides an indication of the anticipated impact or complexity of a claim. It can be based on the initial loss estimate, the nature of the incident, or other predefined business rules. This attribute is vital for performance analysis, as high-severity claims typically require more steps, longer processing times, and specialized resources. Segmenting KPIs by severity helps to set realistic performance targets and understand how complexity impacts process efficiency and outcomes. Why it matters Helps to segment claims by complexity, allowing for more nuanced performance analysis and realistic benchmarking of cycle times and costs. Where to get Consult Duck Creek Claims documentation. This may be a dedicated field or derived from the initial loss reserve amount. Examples LowMediumHighCatastrophic | |||
Claim Status ClaimStatus | The overall status of the claim at a given point in time, such as Open, Pending, or Closed. | ||
Description Claim Status represents the current state of the claim in its lifecycle. It provides a high-level summary of where the claim is in the overall process. This attribute is useful for creating high-level views of the claim inventory and for filtering cases. It's particularly important for identifying the final outcome of a claim (e.g., 'Closed - Paid', 'Closed - Denied'), which is essential for outcome analysis and understanding rejection rates. Why it matters Provides a snapshot of the claim's current state and final outcome, crucial for outcome analysis and filtering cases. Where to get Consult Duck Creek Claims documentation. This is a fundamental field on the main claim record. Examples OpenPending - Awaiting InfoClosed - SettledClosed - Denied | |||
Claim Type ClaimType | The category of the insurance claim, such as Auto, Property, or Liability. | ||
Description Claim Type classifies claims based on the line of business or the nature of the loss. This is a fundamental dimension for segmenting and analyzing claim data. This attribute is used to compare process performance across different types of claims. For example, an 'Auto - Total Loss' claim follows a very different process and has different KPIs than a 'Property - Water Damage' claim. Analyzing by Claim Type provides context and allows for more meaningful performance comparisons and tailored process improvement initiatives. Why it matters This is a critical dimension for segmenting analysis, as different claim types often have distinct processes, SLAs, and complexity levels. Where to get Consult Duck Creek Claims documentation. This is a core attribute on the main claim record. Examples Personal Auto - CollisionCommercial Property - FireWorkers CompensationGeneral Liability | |||
Department Department | The department or team responsible for the activity or the claim at a given time. | ||
Description This attribute specifies the functional group or department, such as 'Initial Intake', 'Investigation Unit', or 'Settlement Team', that is handling the claim. It provides an organizational context to the process flow. Analyzing by department is key to understanding process performance at an aggregate level. It helps identify inter-departmental bottlenecks, measure team-level efficiency, and understand how work flows across the organization. Why it matters Allows for performance analysis by functional area, highlighting cross-departmental handoffs and team-specific bottlenecks. Where to get Consult Duck Creek Claims documentation. This information is often associated with the assigned user's profile or a queue/workgroup assignment. Examples Auto ClaimsProperty Claims - Large LossSpecial Investigations UnitPayment Processing | |||
Loss Amount LossAmount | The estimated or actual financial amount of the loss reported in the claim. | ||
Description This attribute represents the initial estimated value of the loss associated with the claim. It is a key financial metric that often influences the claim's routing, severity, and required level of investigation. In analysis, the loss amount is used to segment claims and understand how financial impact correlates with process behavior. For example, higher value claims may follow different paths or have longer cycle times. It provides crucial financial context to the operational process data. Why it matters Provides financial context to the claim, allowing for analysis of how the value of a claim impacts its processing path, duration, and outcome. Where to get Consult Duck Creek Claims documentation. This is a core financial field on the claim, often referred to as 'Reported Loss' or 'Initial Reserve'. Examples 1500.0025000.50125000.00 | |||
End Time EndTime | The timestamp indicating when an activity was completed. | ||
Description This attribute marks the completion time of an activity. While StartTime indicates when an activity began, EndTime provides the other side of the duration calculation for that specific task. In process mining, having both a start and end time for activities allows for a much deeper analysis of performance. It enables the precise calculation of 'Processing Time' (the active work time on a task) versus 'Waiting Time' (the time spent between tasks). This distinction is crucial for accurately identifying bottlenecks. Why it matters Enables the calculation of precise activity processing times, distinguishing active work time from idle/wait time, which is critical for accurate bottleneck analysis. Where to get May be available as a separate timestamp field in event logs or can be derived as the StartTime of the next activity in the sequence for the same case. Examples 2023-10-26T10:05:12Z2023-10-26T15:00:00Z2023-10-27T11:20:30Z | |||
Is Automated IsAutomated | A boolean flag indicating if the activity was performed automatically by the system without human intervention. | ||
Description This flag distinguishes between tasks completed by human users and those executed by system automation, such as automated notifications, initial data validation, or straight-through processing steps. Analyzing this attribute is key to understanding the level of automation in the claims process. It helps measure the impact of automation initiatives, identifies opportunities for further automation, and ensures that automated steps are performing as expected without creating downstream issues. Why it matters Helps measure the impact of automation on efficiency and cost, and identifies opportunities for straight-through processing. Where to get This information might be inferred from the 'user' associated with an event (e.g., 'SYSTEM' or 'BATCH'), or from a specific flag on the event record. Examples truefalse | |||
Is On Time Resolution IsOnTimeResolution | A calculated flag that indicates whether a claim was closed on or before its resolution target date. | ||
Description This boolean attribute is derived by comparing the timestamp of the 'Claim Closed' activity with the 'ResolutionTargetDate' for that claim. It flags each claim as either on-time (true) or late (false). This attribute directly supports the 'On-Time Claim Resolution Rate' KPI. It allows for easy aggregation and visualization of SLA adherence in dashboards, and enables drill-down analysis to identify common characteristics of late claims (e.g., specific claim types, departments, or process paths). Why it matters Directly measures SLA compliance at a per-claim level, enabling powerful filtering and root cause analysis for overdue claims. Where to get This is not a source system field. It is calculated during data preparation by comparing the final activity's timestamp to the 'ResolutionTargetDate' field. Examples truefalse | |||
Is Rework IsRework | A calculated flag indicating if an activity is part of a rework loop. | ||
Description This boolean attribute is set to true if an activity is repeated for a claim after other, different activities have already occurred. For example, if the process goes from 'Loss Assessed' back to 'Investigation Started'. This attribute is essential for quantifying and analyzing rework. It supports the 'Claim Rework Rate' KPI and the 'Claim Rework & Reprocessing Patterns' dashboard by allowing direct filtering and highlighting of activities and cases involving rework. This helps pinpoint inefficiencies and quality issues in the process. Why it matters Quantifies rework at the activity level, making it easy to measure, visualize, and analyze the causes and impacts of process inefficiencies. Where to get This is not a source system field. It is calculated during data preparation using algorithms that detect repeated sequences of activities within a case. Examples truefalse | |||
Last Data Update LastDataUpdate | The timestamp of the most recent data refresh from the source system. | ||
Description This attribute indicates when the dataset was last updated. It provides a reference point for the freshness of the data being analyzed. In dashboards and analysis, this is used to inform users about the recency of the insights. It helps manage expectations about whether the latest transactions are included in the process view. Why it matters Informs users about the freshness of the data, which is critical for interpreting the analysis and making timely decisions. Where to get This timestamp is generated during the data extraction, transformation, and loading (ETL) process and is usually stored in the metadata of the dataset. Examples 2024-05-21T02:00:00Z | |||
Policy Number PolicyNumber | The unique identifier of the insurance policy under which the claim was filed. | ||
Description This attribute links the claim back to the originating insurance policy. It provides context about the coverage, terms, and customer associated with the claim. While not always used directly in process flow analysis, the Policy Number is invaluable for enriching the claim data. It allows for joining with policy and customer data to analyze how process performance varies by customer segment, policy type, or policy age, providing a more holistic business view. Why it matters Links the claim to the customer and policy, enabling broader analysis of how process performance impacts different customer segments or policy types. Where to get Consult Duck Creek Claims documentation. This is a standard reference field on the main claim entity. Examples PA-987654321CP-123456789WC-555444333 | |||
Processing Time ProcessingTime | The duration of active work for a specific activity, calculated as End Time minus Start Time. | ||
Description Processing Time, also known as active time or handling time, measures how long a resource was actively working on a specific task. It is calculated by subtracting the This metric is a core component of performance analysis. It helps distinguish between inefficiencies caused by long-running tasks (high processing time) versus delays caused by waiting for resources or information (high waiting time). This is crucial for pinpointing the true source of bottlenecks. Why it matters Measures the active work time for an activity, helping to differentiate between inefficient tasks and long wait times in bottleneck analysis. Where to get This is not a source system field. It is calculated during data preparation by subtracting the 'StartTime' from the 'EndTime' for each activity. Examples 360086400300 | |||
Rejection Reason RejectionReason | The specific reason a claim was denied or rejected. | ||
Description When a claim decision is made to deny a claim, this attribute provides the underlying reason for that decision. This is typically selected from a predefined list of codes or descriptions. Analyzing rejection reasons is critical for the 'Claim Decision & Rejection Insights' dashboard. It helps identify common issues with submissions, potential fraud patterns, or areas where policy language may be unclear. This insight can drive improvements in the intake process or underwriting rules. Why it matters Explains why claims are denied, providing actionable insights to improve the intake process, reduce invalid submissions, and identify training opportunities. Where to get Consult Duck Creek Claims documentation. This field is typically populated when a claim's status is moved to 'Denied' or a similar state. Examples Not a Covered PerilPolicy ExpiredDuplicate ClaimSuspected Fraud | |||
Resolution Target Date ResolutionTargetDate | The target date by which the claim is expected to be resolved, based on SLAs or internal goals. | ||
Description This attribute stores the deadline for claim closure. This date is often determined by regulatory requirements, service level agreements (SLAs), or internal key performance indicators (KPIs), and may vary based on claim type or severity. This is the basis for calculating the 'On-Time Claim Resolution Rate' KPI and supporting the 'Claim Resolution Target Adherence' dashboard. It allows for proactive monitoring of claims at risk of breaching their SLA and helps prioritize work. Why it matters Enables the measurement of performance against service level agreements (SLAs) and internal targets, which directly impacts customer satisfaction and compliance. Where to get Consult Duck Creek Claims documentation. This may be a specific SLA date field or calculated based on the claim submission date and business rules. Examples 2023-11-15T23:59:59Z2024-01-20T23:59:59Z2024-03-01T23:59:59Z | |||
Settlement Amount SettlementAmount | The final financial amount agreed upon to settle the claim. | ||
Description This attribute records the value of the settlement that was calculated and authorized for payment. This is a key outcome-based metric for each claim that results in a payment. This attribute is crucial for financial analysis and for dashboards like 'Payment Authorization & Issuance Time'. It can be compared with the initial 'Loss Amount' to analyze reserve accuracy and is fundamental to understanding the financial outcomes of the claims process. Why it matters Represents the key financial outcome of a claim, essential for financial reporting and analyzing the accuracy of initial loss estimates. Where to get Consult Duck Creek Claims documentation. This information is typically stored in financial transaction or payment-related tables associated with the claim. Examples 1450.7522000.00115800.20 | |||
Source System SourceSystem | The system from which the event data was extracted. | ||
Description This attribute identifies the source application where the claim data originated. For this context, it will consistently be 'Duck Creek Claims'. While it may seem redundant if all data comes from one system, it is crucial for data governance, traceability, and in scenarios where data might be merged from multiple systems in the future. It provides context for the data's origin and structure. Why it matters Provides essential data lineage and context, which is critical for data governance and troubleshooting, especially in environments with multiple integrated systems. Where to get This is typically a static value added during the data extraction and transformation process to label the origin of the data. Examples Duck Creek Claims | |||
Claims Processing Activities
| Activity | Description | ||
|---|---|---|---|
Claim Closed | This is the final activity, marking the administrative closure of the claim file after payment has been issued or the claim has been settled. It's captured by the final status update to 'Closed'. | ||
Why it matters This activity marks the successful end of the process. It is the end-point for calculating the 'Average End-to-End Claim Cycle Time' and other key duration metrics. Where to get Inferred from the timestamp of the final status change to 'Closed' or 'Settled' in the claim's main data table. Capture Inferred from the claim's final status being set to 'Closed'. Event type inferred | |||
Claim Decision Made | This activity represents the official decision on the claim, such as 'Approved', 'Partially Approved', or 'Denied'. This is a pivotal milestone inferred from a change to a final decision status. | ||
Why it matters This is a key decision-making milestone. The time leading up to this point and the outcome of the decision are central to process analysis and efficiency. Where to get Inferred from a change in a dedicated 'Claim Decision' or 'Claim Status' field to a terminal state like 'Approved' or 'Denied'. The timestamp of this change is captured. Capture Inferred from an update to the claim's primary status or decision field. Event type inferred | |||
Claim Denied | This activity represents an alternative end to the process where the claim is officially denied. This is captured when the claim's final status is set to 'Denied' or 'Rejected'. | ||
Why it matters This is a critical outcome that needs separate analysis. Understanding why and when claims are denied helps improve intake processes and manage compliance. Where to get Inferred from the timestamp of the final status change of the claim to a 'Denied', 'Rejected', or 'Closed without Payment' status in the claim entity table. Capture Inferred from the claim's final status being a denial reason. Event type inferred | |||
Claim Submitted | This is the first event, representing the First Notice of Loss (FNOL) being received by the insurer. It is typically captured as an explicit transaction when an agent or policyholder enters the initial claim information into the system. | ||
Why it matters This activity marks the start of the entire claims lifecycle. Analyzing the time from this event to others is crucial for understanding total processing duration and intake efficiency. Where to get This is usually an explicit event recorded in a claims or FNOL log table when a new claim record is first created in Duck Creek Claims. Capture Event logged upon initial creation of a new claim record. Event type explicit | |||
Payment Authorized | Represents the formal approval for the calculated settlement amount to be paid. This is often a distinct step involving a manager or a separate authority, captured as an explicit approval transaction. | ||
Why it matters This is a key control point and potential bottleneck before payment. The duration from 'Claim Decision Made' to this point is measured by the 'Average Claim Approval Time' KPI. Where to get This is typically an explicit event in a workflow or financial module where a user with specific permissions approves the payment. It would be found in an approvals log. Capture An explicit approval event recorded in a workflow or transaction log. Event type explicit | |||
Payment Issued | This activity marks the execution of the financial transaction to pay the claim. It's a clear, explicit event generated when the payment is dispatched via check, EFT, or other methods. | ||
Why it matters This signifies the completion of the financial obligation for an approved claim. The time from 'Payment Authorized' to 'Payment Issued' reveals the efficiency of the finance department. Where to get Captured from the financial transaction table in Duck Creek Claims, which logs all outgoing payments with a specific transaction code and timestamp. Capture A discrete financial transaction log entry is created when payment is processed. Event type explicit | |||
Additional Information Received | Marks the receipt of the requested information, which allows the claim processing to continue. This might be logged manually by the adjuster or automatically if the information is submitted via a digital portal. | ||
Why it matters The time between 'Information Requested' and 'Information Received' is a critical waiting period. Analyzing this duration helps identify external dependencies and communication bottlenecks. Where to get This can be an explicit event from a document management system integration, or a manual log entry or status change made by the adjuster upon receipt of documents. Capture Logged event upon document upload or manual entry by an adjuster. Event type explicit | |||
Additional Information Requested | This activity occurs when the adjuster determines that more information is needed and sends a request to the policyholder or a third party. This is often an explicit event linked to the system's communication or correspondence module. | ||
Why it matters High frequency of this activity can indicate issues with the initial data collection process. It also introduces significant waiting time, impacting overall cycle time. Where to get Captured from logs related to outbound communications (e.g., letters, emails) or a specific 'Request for Information' transaction in Duck Creek Claims. Capture Logged when a correspondence or task for requesting information is generated. Event type explicit | |||
Adjuster Assigned | This event captures the assignment of a claims adjuster or handler to the registered claim. The system records this assignment, creating a clear handoff point and establishing ownership for the claim's lifecycle. | ||
Why it matters Crucial for analyzing resource allocation, adjuster workload, and identifying delays in claim assignment. It is a key handoff point that can introduce waiting time. Where to get Tracked via an update to the 'Assigned Adjuster' field in the main claim data table. A history or audit log for this field provides the timestamp. Capture Logged in an audit trail when the adjuster field is populated or changed. Event type explicit | |||
Claim Registered | Marks the formal acceptance and registration of the submitted claim, at which point a unique Claim ID is officially assigned. This is often an automated system event following initial data validation. | ||
Why it matters Formalizes the start of the claim and triggers downstream processes like adjuster assignment. The time between submission and registration can indicate initial data quality or system load issues. Where to get Inferred from the timestamp when the primary Claim ID is generated and the claim status moves from 'pending' or 'submitted' to 'open' or 'registered' in the main claim entity table. Capture Derived from the creation timestamp of the primary claim record or a status change to 'Open'. Event type inferred | |||
Initial Review Completed | Represents the completion of the first comprehensive review of the claim by the assigned adjuster. This is typically inferred when the claim status changes after assignment, such as moving from 'Assigned' to 'Under Review' or 'Investigation'. | ||
Why it matters This milestone helps measure the time-to-first-action by an adjuster and can indicate potential backlogs in their workload. It's the first major human-driven checkpoint. Where to get Inferred from a status change in the claim status field, for example, a transition to 'Initial Review Complete' or 'Pending Information'. The timestamp of this status change is used. Capture Inferred from change in claim status field after adjuster assignment. Event type inferred | |||
Investigation Completed | Represents the conclusion of the investigation activities, where all necessary facts have been gathered. This is typically inferred when the claim status moves from 'Under Investigation' to a decision-making status like 'Pending Decision'. | ||
Why it matters Completing the investigation is a major milestone that unblocks the decision-making and settlement phases. Delays here have a significant downstream impact. Where to get Inferred from the timestamp of a claim status update from an 'investigation' state to a 'review' or 'decision' state. Capture Derived from a change in claim status indicating the end of investigation activities. Event type inferred | |||
Investigation Started | This activity signifies the beginning of the formal investigation phase of the claim. It is often inferred from a change in the claim's status to 'Under Investigation' or a similar state. | ||
Why it matters This marks the start of a resource-intensive phase. Measuring the duration of the investigation is key to the 'Average Investigation Duration' KPI and helps manage a critical part of the process. Where to get Inferred from the timestamp of a claim status update to 'Investigation in Progress' or 'Pending Inspection' in the main claim status field. Capture Derived from a change in claim status indicating the start of investigation activities. Event type inferred | |||
Loss Assessed | This milestone marks the point where financial reserves are set or updated based on the investigation findings. It signifies the estimation of the claim's financial impact and is captured when reserve amounts are entered or adjusted. | ||
Why it matters This is a critical financial checkpoint in the process. Analyzing when this occurs provides insight into the speed of financial evaluation and its accuracy. Where to get This is often an explicit financial transaction recorded in the claim's financial transaction log or reserve history table within Duck Creek Claims. Capture Logged financial transaction for setting or updating claim reserves. Event type explicit | |||
Settlement Calculated | Following an approval decision, this activity represents the calculation of the final settlement or payment amount. This can be an explicit step or inferred from the finalization of payment amounts in the system's financial module. | ||
Why it matters This activity is crucial for measuring the 'Settlement Rework Rate' KPI. Multiple occurrences of this event for a single claim indicate inefficiencies, errors, or negotiations in the settlement phase. Where to get Can be an explicit transaction log entry or inferred from updates to the 'Settlement Amount' field in the claim's financial data. Audit logs on this field are the primary source. Capture Logged event when the final payment amount is calculated and saved. Event type explicit | |||
Extraction Guides
Steps
- Access the Duck Creek Data Hub Configuration Utility: Log in to the Duck Creek environment and navigate to the Data Hub application. You will need appropriate permissions to create or modify data export configurations.
- Create a New Data Export Job: Within the Data Hub utility, initiate the process to create a new export job. Give it a descriptive name, such as
ProcessMind_Claims_Event_Log_Export. - Define the Data Source: Configure the job to connect to the primary Data Hub SQL database. You will need to provide the server name, database name, and credentials for a user with read access to the relevant schemas.
- Input the Extraction Query: Navigate to the query definition section of the export job. Copy the complete script from the
querysection below and paste it into the query editor. - Set Query Parameters: Locate the parameter section in the configuration. Define and set values for the
@StartDateand@EndDateparameters referenced in the query to specify the desired extraction date range. For example,'2023-01-01'and'2023-12-31'. - Map Output Columns: Configure the output file settings. Ensure the columns defined in the
SELECTstatement (ClaimId,ActivityName,EventTime, etc.) are mapped correctly to the columns in the output file. The header names in the output file should match these names exactly. - Configure the Output File: Specify the output format as CSV. Set the delimiter to a comma (
,) and the character encoding to UTF-8 to ensure compatibility with ProcessMind. - Define the Destination: Specify the file path or network location where the generated CSV file will be saved. Ensure the system has write permissions to this location.
- Schedule the Export Job: Configure the job's schedule. For initial analysis, you can run it manually. For ongoing monitoring, set up a recurring schedule (e.g., daily or weekly).
- Execute and Retrieve the File: Run the job to generate the event log file. Once completed, retrieve the CSV file from the destination specified in step 8.
- Prepare for Upload: Before uploading to ProcessMind, open the CSV file to perform a final check. Verify that the headers are correct, the date format is consistent (
YYYY-MM-DD HH:MI:SS), and the data appears as expected.
Configuration
- Prerequisites: Access to the Duck Creek Data Hub module is required. The user or service account running the export job must have read permissions on the Data Hub's underlying database tables (e.g.,
[DataHubSchema].[FactClaimTransaction],[DataHubSchema].[DimClaim],[DataHubSchema].[DimStatusHistory]). - Date Range Configuration: The query uses
@StartDateand@EndDateparameters. It is crucial to set these to define the extraction window. For a first analysis, a period of 6-12 months is recommended to capture enough completed and in-progress cases. - Filtering: The query includes a placeholder
/* AND DC.LineOfBusiness IN ('[Your_LOB_Filter]') */within the Common Table Expression (CTE). Uncomment and modify this line to filter for specific lines of business (e.g., 'Personal Auto', 'Commercial Property') to reduce data volume and focus the analysis. - Data Hub Refresh Cycle: Be aware of the Data Hub's data latency. The data is not real-time and is typically refreshed on a schedule (e.g., nightly). The extracted data will be as current as the last successful Data Hub refresh.
- Output Format: The export job must be configured to produce a flat file, preferably CSV. Ensure the text qualifier is set to double-quotes (
") to handle any commas within data fields.
a Sample Query config
-- Common Table Expression (CTE) to fetch core claim attributes
-- This improves readability and performance by querying base tables once.
WITH ClaimBase AS (
SELECT
DC.ClaimId,
DC.ClaimNumber,
DC.ClaimType,
DC.Severity AS ClaimSeverity,
DC.CurrentStatus AS ClaimStatus,
FC.LossAmount,
DA.AdjusterName AS AssignedAdjuster,
DD.DepartmentName AS Department,
-- Timestamps for various events
FC.FNOLReportedDate AS ClaimSubmittedTime,
FC.ClaimRegisteredDate AS ClaimRegisteredTime,
FC.AdjusterAssignmentDate AS AdjusterAssignedTime,
FC.PaymentIssuedDate AS PaymentIssuedTime,
FC.ClaimClosedDate AS ClaimClosedTime
FROM
[DataHubSchema].[DimClaim] AS DC
LEFT JOIN
[DataHubSchema].[FactClaim] AS FC ON DC.ClaimKey = FC.ClaimKey
LEFT JOIN
[DataHubSchema].[DimAdjuster] AS DA ON FC.AssignedAdjusterKey = DA.AdjusterKey
LEFT JOIN
[DataHubSchema].[DimDepartment] AS DD ON FC.DepartmentKey = DD.DepartmentKey
WHERE
FC.FNOLReportedDate BETWEEN @StartDate AND @EndDate
/* AND DC.LineOfBusiness IN ('[Your_LOB_Filter]') */ -- Optional: Uncomment to filter by Line of Business
)
-- 1. Claim Submitted
SELECT
cb.ClaimId,
'Claim Submitted' AS ActivityName,
cb.ClaimSubmittedTime AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
'Submitted' AS ClaimStatus, -- Status at the time of this event
cb.LossAmount
FROM
ClaimBase cb
WHERE
cb.ClaimSubmittedTime IS NOT NULL
UNION ALL
-- 2. Claim Registered
SELECT
cb.ClaimId,
'Claim Registered' AS ActivityName,
cb.ClaimRegisteredTime AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
'Registered' AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
WHERE
cb.ClaimRegisteredTime IS NOT NULL
UNION ALL
-- 3. Adjuster Assigned
SELECT
cb.ClaimId,
'Adjuster Assigned' AS ActivityName,
cb.AdjusterAssignedTime AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
'Assigned' AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
WHERE
cb.AdjusterAssignedTime IS NOT NULL
UNION ALL
-- 4. Initial Review Completed (Inferred from status change)
SELECT
cb.ClaimId,
'Initial Review Completed' AS ActivityName,
sh.StatusSetDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
sh.NewStatus AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[DimStatusHistory] sh ON cb.ClaimId = sh.ClaimId
WHERE
sh.PreviousStatus IN ('Assigned', 'Registered') AND sh.NewStatus IN ('Under Review', 'Investigation')
AND sh.StatusSetDate = (SELECT MIN(s2.StatusSetDate) FROM [DataHubSchema].[DimStatusHistory] s2 WHERE s2.ClaimId = cb.ClaimId AND s2.NewStatus IN ('Under Review', 'Investigation'))
UNION ALL
-- 5. Additional Information Requested
SELECT
cb.ClaimId,
'Additional Information Requested' AS ActivityName,
fct.TransactionDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
cb.ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[FactClaimTransaction] fct ON cb.ClaimId = fct.ClaimId
WHERE
fct.TransactionType = 'InformationRequestSent'
UNION ALL
-- 6. Additional Information Received
SELECT
cb.ClaimId,
'Additional Information Received' AS ActivityName,
fct.TransactionDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
cb.ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[FactClaimTransaction] fct ON cb.ClaimId = fct.ClaimId
WHERE
fct.TransactionType = 'InformationResponseReceived'
UNION ALL
-- 7. Investigation Started (Inferred from status change)
SELECT
cb.ClaimId,
'Investigation Started' AS ActivityName,
sh.StatusSetDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
sh.NewStatus AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[DimStatusHistory] sh ON cb.ClaimId = sh.ClaimId
WHERE
sh.NewStatus = 'Under Investigation'
AND sh.StatusSetDate = (SELECT MIN(s2.StatusSetDate) FROM [DataHubSchema].[DimStatusHistory] s2 WHERE s2.ClaimId = cb.ClaimId AND s2.NewStatus = 'Under Investigation')
UNION ALL
-- 8. Investigation Completed (Inferred from status change)
SELECT
cb.ClaimId,
'Investigation Completed' AS ActivityName,
sh.StatusSetDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
sh.NewStatus AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[DimStatusHistory] sh ON cb.ClaimId = sh.ClaimId
WHERE
sh.PreviousStatus = 'Under Investigation' AND sh.NewStatus = 'Pending Decision'
AND sh.StatusSetDate = (SELECT MIN(s2.StatusSetDate) FROM [DataHubSchema].[DimStatusHistory] s2 WHERE s2.ClaimId = cb.ClaimId AND s2.PreviousStatus = 'Under Investigation' AND s2.NewStatus = 'Pending Decision')
UNION ALL
-- 9. Loss Assessed (Reserve Set/Updated)
SELECT
cb.ClaimId,
'Loss Assessed' AS ActivityName,
fct.TransactionDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
cb.ClaimStatus,
fct.TransactionAmount AS LossAmount -- Use transaction amount for this event
FROM
ClaimBase cb
JOIN [DataHubSchema].[FactClaimTransaction] fct ON cb.ClaimId = fct.ClaimId
WHERE
fct.TransactionType = 'ReserveSet'
UNION ALL
-- 10. Claim Decision Made (Inferred from status change)
SELECT
cb.ClaimId,
'Claim Decision Made' AS ActivityName,
sh.StatusSetDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
sh.NewStatus AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[DimStatusHistory] sh ON cb.ClaimId = sh.ClaimId
WHERE
sh.NewStatus IN ('Approved', 'Partially Approved', 'Denied')
AND sh.StatusSetDate = (SELECT MIN(s2.StatusSetDate) FROM [DataHubSchema].[DimStatusHistory] s2 WHERE s2.ClaimId = cb.ClaimId AND s2.NewStatus IN ('Approved', 'Partially Approved', 'Denied'))
UNION ALL
-- 11. Settlement Calculated
SELECT
cb.ClaimId,
'Settlement Calculated' AS ActivityName,
fct.TransactionDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
cb.ClaimStatus,
fct.TransactionAmount AS LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[FactClaimTransaction] fct ON cb.ClaimId = fct.ClaimId
WHERE
fct.TransactionType = 'SettlementCalculated'
UNION ALL
-- 12. Payment Authorized
SELECT
cb.ClaimId,
'Payment Authorized' AS ActivityName,
fct.TransactionDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
cb.ClaimStatus,
fct.TransactionAmount AS LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[FactClaimTransaction] fct ON cb.ClaimId = fct.ClaimId
WHERE
fct.TransactionType = 'PaymentAuthorized'
UNION ALL
-- 13. Payment Issued
SELECT
cb.ClaimId,
'Payment Issued' AS ActivityName,
cb.PaymentIssuedTime AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
'PaymentIssued' AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
WHERE
cb.PaymentIssuedTime IS NOT NULL
UNION ALL
-- 14. Claim Denied
SELECT
cb.ClaimId,
'Claim Denied' AS ActivityName,
sh.StatusSetDate AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
'Denied' AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
JOIN [DataHubSchema].[DimStatusHistory] sh ON cb.ClaimId = sh.ClaimId
WHERE
sh.NewStatus = 'Denied'
UNION ALL
-- 15. Claim Closed
SELECT
cb.ClaimId,
'Claim Closed' AS ActivityName,
cb.ClaimClosedTime AS EventTime,
cb.AssignedAdjuster,
cb.Department,
cb.ClaimType,
cb.ClaimSeverity,
'Closed' AS ClaimStatus,
cb.LossAmount
FROM
ClaimBase cb
WHERE
cb.ClaimClosedTime IS NOT NULL;