LogicPearl is the healthcare decision-proof layer: it shows whether a case is ready, blocked, or missing evidence, and leaves a versioned audit trail for every result. Here is the whole pipeline, no black boxes.
Five stages. LogicPearl compiles the policy, reads the packet, and decides. Your systems supply the case and receive the result.
Published payer medical policies, as issued: tables, exceptions, nested criteria and all.
Each policy becomes versioned, hashed, checkable criteria. Every criterion carries its verbatim source excerpt, page anchor, and quote hash.
Built-in OCR and clinical NLP read the packet: faxes, scans, handwriting. Findings arrive with assertion states: affirmed, negated, historical, hypothetical, family. Existing extractors can feed this layer too.
Only affirmed, present-patient evidence can satisfy a criterion. Weak or missing support routes to review, never to a silent decision.
Ready, blocked, or missing evidence, with the blocking rule, counterfactual, next action, and a replayable decision receipt.
Clinical language is handled explicitly before a rule ever fires. Three examples of what the evidence layer resolves:
"Intracept," "BVN RFA," and "basivertebral nerve ablation" all resolve to the same requested service. The criterion matches regardless of which name the chart used.
A family member's arthritis is recorded as family context. It cannot satisfy a criterion about the patient. Summarizers routinely get this wrong.
"Without below-knee radiation" is a documented absence, not weak support. Negation is tracked explicitly, so exclusion criteria behave like the policy says.
The value isn't that uncertainty disappeared. It's that uncertainty is visible before it becomes a silent reviewer problem. The uncovered clauses are preserved as review work, and policies without full support stay out of auto-run.
Measured on the Blue Cross Blue Shield of Massachusetts policy corpus. The same coverage accounting can run against any payer policy set before a pilot starts.
Across 8 model groups and 24 recorded determinations on one packet and one policy: 20 approve, 4 deny. Models help extract evidence. Policy rules make the readiness decision.
| An AI checklist | A LogicPearl artifact | |
|---|---|---|
| Source excerpt per criterion | Often omitted or summarized | Every criterion tied to source PDF text |
| Clause coverage accounting | Usually unmeasured | 99.9% measured on BCBSMA; misses preserved as review work |
| Nested AND/OR & exceptions | Can flatten or invert | Preserved in the decision logic |
| Table semantics | Frequently flattened | ~118k rows interpreted into checkable rules |
| Terminology provenance | Implicit / hidden | Explicit mapping status per criterion |
| Repeatable replay | Can vary on the same packet | Same packet and policy version → same result |
| Reviewer state | Answer only | Promotion gated, sign-off tracked |
| Packet-to-policy evidence link | Not guaranteed | Click-through packet and policy excerpts |
Run the same case against the April source set and it routes to review. No covering policy existed yet. Run it against June, where a new policy took effect on the first, and it decides. Same case facts; the source set changed. That is an explanation an auditor accepts, and a model can't give.
When a payer updates a policy PDF, the change lands as a semantic diff between artifact versions, not a silent behavior shift. You see which open cases just changed, before they surprise you.
"You can't defend a denial with a reason you never gave."
Move the goalposts mid-appeal and the process starts over: new disclosure, new clock, new exposure. And the stakes compound: industry-wide, most appealed denials are overturned, and overturn rates feed CMS Star Ratings, which drive bonus payments and enrollment. LogicPearl keeps the original rule, evidence, and source bound to the decision, so the reason you gave is the reason you defend.
LogicPearl sits at the decision boundary of whatever you already run. Nothing to migrate, no UI to adopt:
Status, blocker, rule ID, evidence spans, counterfactual: one call, one schema.
The same artifact runs in the browser or at the edge. The demos on this site run it live, with no backend.
Ready/blocked status and next action land as fields your existing workbench displays without new UI.
The prior-auth workbench runs the whole thing, live, in your browser.