Skip to main content

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 ClaimSubmission fields
  • 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" } }
});