Insurance & Claims
Medical Claims Anomaly Detection API
Health claim leakage is rarely dramatic. It is a few extra units on a procedure code, repeated across thousands of claims, by providers who otherwise look entirely normal.
- Health insurers
- TPAs
- Employer health schemes
- Public health payers
- Claims administrators
What your customers would see
example interfaceMockupIllustrative mockup of the interface we would build. Figures shown are examples, not results from a live deployment.
The problem this solves
Most money lost in health claims is lost quietly. A provider who bills a slightly higher intensity code than their peers for the same presentation, consistently, across four years. A clinic that unbundles a procedure into components that each carry their own fee. The same service submitted twice under marginally different dates. None of it is obviously wrong on a single claim, and claim-by-claim adjudication is not an instrument that can detect it.
The comparison that works is peer-relative. A provider’s billing profile against other providers of the same specialty, treating a comparable case mix, in the same region. That requires enough volume to construct meaningful peer groups and enough care in constructing them that a legitimate sub-specialty is not flagged for behaving like a sub-specialty. Case mix adjustment is the part that separates a usable system from an alert generator.
There is a boundary here that we hold firmly. This identifies billing patterns that warrant review. It does not assess whether treatment was appropriate, necessary or well-chosen — those are clinical judgements that require clinical qualification and access to the full record, and a statistical outlier is not evidence of either fraud or poor care. A provider whose coding differs from their peers may be upcoding, or may be treating sicker patients, or may be coding correctly while their peers code lazily. The output is a question for a reviewer, not an answer.
Who buys this
Health insurers, TPAs, Employer health schemes, Public health payers, Claims administrators
What the API returns
What comes back
- Claim-level anomaly scores with the specific billing patterns detected
- Provider billing profiles compared against case-mix-adjusted peer groups
- Duplicate and near-duplicate claim detection across dates, providers and members
- Unbundling and code-fragmentation detection against standard bundling rules
- Service frequency and intensity outliers at provider, member and procedure level
- Member-level utilisation patterns consistent with card sharing or identity misuse
- Prioritised review queue ranked by recoverable amount and evidence strength
- Peer group composition disclosed per comparison, so a reviewer can judge its fairness
Endpoints
| Method | Path | Returns |
|---|---|---|
| POST | /v1/claims/score | Score one claim or a batch for billing anomalies |
| GET | /v1/providers/{id}/profile | Case-mix-adjusted billing profile against peers |
| POST | /v1/claims/duplicates | Duplicate and near-duplicate detection across a claim set |
| GET | /v1/providers/{id}/patterns | Detected pattern detail with peer comparison evidence |
| GET | /v1/review/queue | Review queue ranked by exposure and evidence strength |
| POST | /v1/outcomes | Submit audit and recovery outcomes to recalibrate scoring |
Request and response
illustrativeRequest
{
"claims": [
{
"claim_id": "HC-2026-7741208",
"member_id_hash": "sha256:4f81\u2026",
"provider_id": "prv_22104",
"service_date": "2026-10-09",
"procedures": [
{ "code": "99214", "units": 1, "amount": 182.00 },
{ "code": "36415", "units": 1, "amount": 24.00 }
],
"diagnoses": ["E11.9", "I10"],
"place_of_service": "office"
}
],
"peer_basis": "specialty_region_casemix",
"include_evidence": true
}Response
{
"claim_id": "HC-2026-7741208",
"anomaly_score": 68,
"band": "elevated",
"patterns": [
{ "code": "VISIT_INTENSITY_ABOVE_PEERS", "weight": 0.34,
"detail": "Provider bills level-4 office visits on 71% of encounters; case-mix-adjusted peer median is 28%",
"peer_group": { "specialty": "internal_medicine", "region": "south_central",
"providers": 184, "casemix_adjusted": true } },
{ "code": "POSSIBLE_UNBUNDLING", "weight": 0.19,
"detail": "36415 billed separately alongside 99214 on 94% of encounters" }
],
"duplicate_check": {
"result": "near_duplicate",
"matched_claim": "HC-2026-7739044",
"difference": "service_date differs by 1 day, identical procedure and amount",
"similarity": 0.96
},
"provider_context": {
"claims_90d": 2140,
"peer_percentile_billed_per_encounter": 0.97,
"trend": "rising_since_2026-04"
},
"estimated_exposure": 41800.00,
"recommended_action": "provider_billing_review",
"clinical_judgement": "not_assessed",
"requires_human_review": true
}Where the data comes from
| Your adjudicated claims history | Claims with procedure codes, diagnoses, amounts, providers and adjudication outcomes — the core dataset, which you already hold at scale |
| Standard code sets and bundling rules | Procedure, diagnosis and modifier code sets plus published bundling and edit rules, licensed where the code set requires it |
| Provider registries and credentialing data | Specialty, location and practice affiliation, needed to construct peer groups that mean anything |
| Fee schedules and contracted rates | Your own contracted rates by provider and procedure, so an amount outlier is measured against the agreed price rather than a national average |
| Audit and recovery outcomes | Which reviews found a problem and which did not — sparse, valuable, and usually poorly recorded |
| Published utilisation benchmarks | Where available and licensable, used as a weak external reference rather than as the primary comparison |
The intelligence layer
The difference between a demo and a service is mostly in this section. These are the parts that keep the answer trustworthy once real traffic is hitting it.
- Peer group construction with case mix adjustment as the central design problem, since an unadjusted comparison flags every provider with a sicker-than-average panel
- Hierarchical modelling of provider billing behaviour so a provider with ninety claims is not compared on the same footing as one with nine thousand
- Unsupervised outlier detection as the primary method, because confirmed billing fraud labels are extremely sparse and heavily biased toward what was previously audited
- Rule-based edit checks for unbundling, mutually exclusive codes and frequency limits, evaluated separately from statistical scoring and reported separately
- Near-duplicate detection across date, provider and member dimensions with tolerance, since exact duplicates are largely caught by existing edits already
- Temporal change detection on provider profiles, which often catches a behaviour shift earlier than a level-based outlier test
- Explicit peer group disclosure on every comparison, so a reviewer can see and challenge who the provider was compared against
- Calibration against audit outcomes with false positive tracking, because provider relationships are damaged by unfounded review requests
What it changes for the business
Recovered leakage
Peer-relative detection surfaces consistent small overbilling that claim-level edits are structurally unable to see.
Prioritised audit effort
A queue ranked by exposure and evidence strength replaces audit selection by sampling or by complaint.
Earlier detection
Trend detection on provider profiles catches a shift in behaviour months before a level-based outlier test would.
Defensible provider conversations
Case-mix-adjusted peer evidence with the comparison group disclosed is a discussion a provider can engage with.
How it fits into your product
How it embeds
- Batch scoring over adjudicated claims, typically nightly, with provider profiles refreshed on a slower cycle
- Pre-payment scoring where your adjudication flow can accommodate it, though most value is achievable post-payment
- Review queue surfaced in your existing audit tooling with the full peer comparison evidence attached
- Outcome feedback from audits and recoveries, which is the main driver of improving precision over time
- Provider-facing evidence packs generated from the same comparison data, for use in billing review conversations
- Deployment inside your infrastructure, which health claim data requires in essentially every jurisdiction
Included in every build
- Authentication, scoped API keys and per-customer rate limiting
- Input validation with predictable, documented error responses
- Versioned endpoints so your integration never breaks without notice
- Request and response logging for audit and dispute resolution
- Latency, error-rate and usage monitoring with alerting
- OpenAPI specification, sandbox environment and client examples
- Backups, failover design and a documented recovery procedure
- An agreed support arrangement once the service is live
How we would build it
about 20 weeksDiscovery and feasibility
Weeks 1–3
This one depends heavily on data access, so we start by proving the sources exist, can be licensed for your use, and actually carry the signal the model needs. If they do not, you find out here.
Architecture and baseline model
Weeks 4–6
A written architecture and a baseline model measured against a holdout period, so you know what accuracy you are buying before the full build starts.
Production build
Weeks 7–16
Data pipelines, model training and serving, historical archive, validation harness, API, security, monitoring and documentation.
Validation and integration
Weeks 17–20
Backtesting against held-out history, accuracy reporting your team can audit, integration support and an agreed retraining cadence.
Commercial models
There is no fixed price list, because the cost is driven by data complexity, integration count, model requirements, request volume and the support level you need. Scope is agreed in writing before development starts.
Fixed-scope prototype
A defined slice of the service, built and priced as one piece of work. The usual first step when the business case needs proving internally.
Fixed-price build
An agreed scope against a written architecture, delivered for an agreed price. Best when the requirements are already clear.
Build then retainer
We build the service, then operate and improve it under a monthly agreement covering monitoring, updates and model maintenance.
White-label product
The service runs under your brand, your domain and your pricing, with MLPivot invisible to your customers.
Questions buyers ask
Does this judge whether treatment was appropriate?
No, deliberately. It analyses billing patterns, not clinical decisions. Whether a particular level of service was warranted, whether a procedure was necessary, whether care met a standard — all of those require clinical qualification and the full medical record, and a statistical outlier is not evidence either way. Every response carries an explicit field stating that clinical judgement was not assessed, because the distinction gets lost quickly once a score reaches an operational team.
Will this flag legitimate providers?
Yes, some of the time, and pretending otherwise would be dishonest. A provider treating a genuinely sicker panel, a sub-specialist within a broad specialty code, or a provider coding correctly while their peers under-code will all look like outliers. Case mix adjustment reduces it; it does not eliminate it. That is why output is a prioritised review queue with disclosed peer groups rather than a finding, and why we track false positives against audit outcomes.
How much claim volume do you need?
Enough to build peer groups, which is the real constraint. Peer comparison needs a reasonable number of comparable providers within a specialty and region — roughly a hundred for stable comparison, and small specialties or thin regions may never reach it. Duplicate detection and rule-based edits work at any volume. For a small scheme we would be clear about which parts of this are viable and which are not.
Can this run before payment?
Technically yes, with a caveat about where the value is. Pre-payment scoring prevents outflow but has to meet adjudication latency and tends to be limited to duplicates and rule-based checks. Peer-relative patterns need accumulated volume and are inherently retrospective. Most programmes get the majority of their recovery post-payment and use pre-payment for the subset of checks that work there.
What about member privacy?
Health claim data is among the most sensitive categories in every jurisdiction we would build in. Member identifiers are hashed or tokenised, member-level analysis is limited to what the detection genuinely requires, retention is bounded, and deployment is inside your environment. Where member-level utilisation patterns are analysed — for card sharing, for instance — that has its own lawful basis and access controls rather than sitting in the same queue as provider analysis.
Related blueprints
Claims Document Extraction API
Structured fields pulled from invoices, medical bills, repair estimates and policy documents, with a confidence value on every field.
Insurance Fraud Detection API
Claim scoring, duplicate evidence detection and network analysis, so organised claim fraud is visible before payment rather than after.
Vehicle Damage Estimation API
Damage detection, parts identification and a repair cost range from claim photographs, for motor insurers and claims administrators.
Want this built for your platform?
Tell us what your product does today and what you want another system to be able to ask it. We will come back with an approach, a scope and a price.