Advanced Configuration
Fraud Detection Engine
The Claims Processor includes a sophisticated fraud detection engine that analyzes claims in real-time.
Configuration
builder.Services.AddPrimusClaimsProcessor(options =>
{
options.EnableFraudDetection = true;
options.FraudDetectionRules = new List<FraudRule>
{
FraudRule.HighValueClaim(threshold: 50000),
FraudRule.RapidSubmission(hoursSinceLoss: 2),
FraudRule.GeographicMismatch(),
FraudRule.FrequencyCheck(claimsInPastYear: 3)
};
});
Custom Fraud Rules
You can implement custom fraud detection logic by implementing IFraudCheck.
public class WeatherCheck : IFraudCheck
{
public async Task<FraudResult> CheckAsync(Claim claim)
{
var weather = await _weatherService.GetHistoryAsync(claim.LossDetails.Location, claim.DateOfLoss);
if (claim.LossDetails.Cause == "Hail" && !weather.HasHail)
{
return FraudResult.Flag("Weather mismatch: No hail reported at this location/time");
}
return FraudResult.Pass();
}
}
Document Processing (OCR)
Automate data extraction from uploaded documents using Azure AI Document Intelligence or AWS Textract.
Setup
{
"PrimusClaimsProcessor": {
"EnableOcrProcessing": true,
"OcrProvider": "Azure",
"AzureDocumentIntelligence": {
"Endpoint": "https://your-resource.cognitiveservices.azure.com/",
"Key": "your-api-key"
}
}
}
Supported Documents
- FNOL Forms: Automap to
ClaimSubmissionfields - Police Reports: Extract incident details and parties involved
- Medical Bills: Line item extraction for injury claims
- Repair Estimates: Auto-compare against reserves
Adjudication Workflow
Configure the adjudication chain of command and authority limits.
Authority Levels
options.Adjudication = new AdjudicationConfig
{
Levels = new[]
{
new AuthorityLevel { Role = "JrAdjuster", MaxLimit = 5000 },
new AuthorityLevel { Role = "SrAdjuster", MaxLimit = 25000 },
new AuthorityLevel { Role = "Manager", MaxLimit = 100000 },
new AuthorityLevel { Role = "VP", MaxLimit = decimal.MaxValue }
}
};
Workflow State Machine
The claim status transitions are managed by a configurable state machine.
stateDiagram-v2
[*] --> Draft
Draft --> Submitted
Submitted --> Validated
Validated --> Investigation : Low Confidence
Validated --> Adjudication : High Confidence
Investigation --> Adjudication
Adjudication --> Approved
Adjudication --> Denied
Approved --> Settled
Settled --> [*]
Integration Patterns
Guidewire ClaimCenter
Sync claims bi-directionally with Guidewire.
builder.Services.AddPrimusClaimsProcessor(options =>
{
options.Provider = ClaimsProvider.Guidewire;
options.Guidewire = new GuidewireOptions
{
BaseUrl = "https://cc-policy-center.example.com",
Authentication = GuidewireAuth.OAuth2
};
});
Custom Event Webhooks
Broadcast claim events to standard HTTP webhooks.
options.Webhooks.Add(new WebhookSubscription
{
Url = "https://finance-system.internal/api/hooks/payment-approved",
Events = new[] { "ClaimStatusChanged", "PaymentIssued" },
Headers = new Dictionary<string, string> { { "X-API-Key", "secret" } }
});