Clinical Clarity – PRS Get in touch

The patients your trial needs are already at the pharmacy.

Clinical Clarity turns de-identified pharmacy fill data into tiered, fully explained trial candidates - and coordinates outreach through the pharmacists patients already trust.

Clinical Clarity analyst workbench showing the AURORA-AF trial with its approved screening reference: drug rows grouped by signal class, each traced to a protocol criterion
Demonstration environment - synthetic data only

The problem

Recruitment misses the patients pharmacies already know.

A patient filling an antiarrhythmic and an anticoagulant is very likely an atrial-fibrillation patient - exactly who an AF trial needs. That signal sits in community-pharmacy dispensing data everywhere.

Ad campaigns and call centers can’t see it, and they don’t have the patient’s trust when the phone rings. The pharmacist does. Clinical Clarity industrializes that inference across a pharmacy network - while patient identity stays at the pharmacy until the patient consents.

How it works

One loop, end to end - from fill data to randomized.

  1. 1

    Pharmacies upload de-identified fill data

    Monthly Limited Data Set extracts - no names, no contact info, only pharmacy-local patient IDs. Files validate, repair, and ingest automatically.

  2. 2

    Criteria become a screening reference

    Trial inclusion/exclusion criteria are translated into a reviewable, versioned drug matrix. Every row traces back to the protocol criterion it came from, and an analyst approves it before it can run.

  3. 3

    Deterministic screening tiers every candidate

    A deterministic engine - never a language model - screens every patient and grades evidence strength, producing a full per-patient rationale.

  4. 4

    Analysts release call lists

    Selected candidates go to the pharmacies that dispense to them, as structured worklists with analyst-authored talking points - not spreadsheets.

  5. 5

    Pharmacists call their own patients

    People they already have a relationship with. Every outcome is recorded with one click: interested, callback, declined, ineligible.

  6. 6

    Outcomes close the loop

    Verbal consent routes the lead to the research site, optionally with a screening visit already booked. The site records randomized or screen failed, and every dashboard reconciles from the same event.

The LLM proposes; deterministic code decides. No model ever sees patient-level data or makes a per-patient decision.

Not a black box

Every candidate is explainable.

Click any candidate and see the exact fills that matched, which reference rows fired, which exclusions were checked, and the tier logic in plain language.

  • 1

    The tier, in plain language

    Why this patient graded Tier 1: independent signal classes corroborating, checked against demographics - spelled out, not scored in secret.

  • 2

    Advisory, never silent

    Contact history warns the analyst but never silently drops a patient. Only a patient’s do-not-contact request hard-blocks.

  • 3

    Manual-review criteria stay visible

    What pharmacy data can’t confirm is flagged for chart verification - not quietly ignored.

Per-patient candidacy rationale panel: tier logic in plain language, advisory contact history, and manual-review criteria for patient PT-10157
Demonstration environment - synthetic data only

~7 s

to ingest a 50,000-row pharmacy upload

~3 s

to screen 23,000+ patients across a network

420+

automated tests, including a compliance-invariant sweep

Feasibility engine

Answer “how many patients could you reach?” before any commitment.

Ask a population question in natural language and get counts by location in under a minute - watermarked, aggregate-only, never touching the recruitment path.

Feasibility mode: an ad-hoc population query box with saved query history
Demonstration environment - synthetic data only

Scenarios, side by side

Save multiple scenarios per prospective trial and compare them - per protocol versus with a criterion relaxed.

Criterion sensitivity

See which criterion costs the most patients - evidence for protocol pushback and sponsor conversations.

One-page export

A summary shaped for sponsor feasibility questionnaires, with per-pharmacy breakdowns and data-freshness stamps.

Built for compliance

Trust by construction - enforced in code, proven by tests.

Designed for Limited Data Set handling

De-identified pharmacy data only. Uploads containing names, SSNs, MRNs, full DOBs, or addresses are hard-rejected - by header inspection and content sniffing.

Tenant-isolated

A pharmacy can only ever see its own patients - enforced in every database query, not in the UI.

Audit-logged

Every patient-level read and every state change writes an append-only audit row, backed by database-level triggers.

Identity only after consent

Patient names and contact info enter the system only after recorded verbal consent, and are visible only to the research site receiving the referral.

Immutable references

Approving a screening reference freezes that version forever. Every screening run records exactly which version it used; rationales are snapshotted immutably.

Do-not-contact is absolute

A patient’s do-not-contact request is the only hard block in the pipeline. Everything else is advisory to the analyst - never silent.

Sizing a protocol? Building a pharmacy network?

Whether you’re a sponsor or CRO with a feasibility question, or a pharmacy interested in partnering - we’d like to hear from you.

info@clinicalclarity.io