Hashlogics
Industries

Clinical research

Trial matching software that a coordinator can trust

Finding candidates is a triage problem, not a decision problem. We build the worklist, and a qualified human still decides who is eligible.

What makes clinical research software different

4 things that decide this

  1. 01Eligibility criteria arrive as one block of free text. Across 100 recruiting cancer trials we sampled from the ClinicalTrials.gov API in August 2026, the median criteria string ran 1,910 characters and the longest ran 13,506.
  2. 02The structured fields are almost useless on their own. Age, sex and healthy-volunteer flags are available. Prior lines of therapy, biomarker status and lab thresholds live only in the prose.
  3. 03Matching reconciles two piles of unstructured text: trial criteria against clinician notes. String comparison does not do this, and neither does confidence alone.
  4. 04Know which side of the regulated line each system sits on. Pre-screening and a validated records system carry different obligations, and the distinction drives your architecture and your validation effort.
The problem

Why a coordinator cannot screen fast enough

Your site has open trials and eligible patients sitting in your own clinic. The two do not meet. By the time your coordinator has read the chart, the patient has started another therapy and the window has closed.

The reason is mechanical. Someone must read thousands of characters of criteria per trial, then read a pathology report and a molecular result, then hold both in mind. Real criteria text contains nested sub-items, escaped formatting and lab thresholds written as sentences. A parser meets all of it on day one.

Software helps most by narrowing. It cuts a hundred trials to the handful worth a human look. It should not be the thing that says yes.

Published studies, named

What AI matching actually achieves, and where it stops

81.8%

Sensitivity when a trial-matching framework met real EHR data at UT Health San Antonio (Syed et al., JAMIA, April 2026)

75.0%

Positive predictive value in that same study. One in four flagged patients was not eligible

26.5%

AI-generated matches that became enrolments across 514 patients screened in GI surgical oncology clinics (Verhagen et al., Surgery, March 2026)

1,910

Median characters of free-text eligibility criteria per trial, our own sample of 100 recruiting cancer trials, August 2026

Where we are useful

The clinical research work we take

Pre-screening, matching and the software around the regulated core.

Trial matching and pre-screening

Ranking candidate trials against a patient profile and explaining why each ranked where it did. TrialTriage does this for oncology nurses, and a nurse finalises every result.

Criteria parsing

Turning prose criteria into something a system can reason over, while keeping the original text visible. The parse is a suggestion, never a silent replacement for what the sponsor wrote.

Registry integration

Working against the ClinicalTrials.gov API with its real limits: pagination, stale status, and structured fields that mostly are not there. A match to a closed slot is a false positive from data, not from the model.

Batch tools for institutional users

CSV upload, background job queues and live progress for insurers and teams working in lists rather than one patient at a time.

Audit trails and access control

TrialTriage tracks 23 audit action types across four roles, with field-level encryption and multi-factor sign-in. Designed in at the schema, not added for a questionnaire.

De-identified data models

Age bands, ZIP prefixes and stand-in patient identifiers chosen when the schema is drawn. The field you never collect cannot leak.

Where a match should stop and a human should startLive
  1. Registry pullTrial text, plus its staleness.
  2. Criteria parseProse in. Structure out, with sources.
  3. Candidate rankNarrow a hundred to a handful.
  4. Nurse reviewThe decision point. Always a person.
  5. ReferralRecorded with the reason it was made.

The system's job ends at the worklist. In the best published real-world deployment, roughly three in four AI-generated matches did not become enrolments, and the commonest reason was genuine ineligibility.

The sharpest problem

Benchmark accuracy is measured on the easier patients

The headline numbers in this field come from synthetic patients. A widely cited 2024 framework reported criterion-level matching accuracy above 87% on generated cases. When a later team adapted the same approach to real records, performance moved and the positive predictive value landed at 75%.

That gap is the one to ask any vendor about. A demo score measured on clean, invented patients is the easier number. Ask which corpus it came from, and whether a clinician adjudicated the answers.

There are limits no model removes. Criteria such as adequate organ function are judgement calls the protocol left undefined. Washout history and outside-hospital treatment often appear in no record the system can read.

  • Ask whether an accuracy figure was measured on real charts or generated ones.
  • Treat registry status as data that goes stale, not as truth.
  • Never let the software issue an eligibility determination on its own.
A client, in their own words

I am extremely happy with the results and would highly recommend Hashlogics to anyone.

Daniel Khin · CEO, PremiumAudit.io

How to read a vendor

Two ways to build trial matching

CriterionThe pitch you usually hearHow we build
The claimAn accuracy percentage, with no corpus named.The corpus named, and whether a clinician adjudicated it.
The outputAn eligibility verdict per patient.A ranked worklist with the criteria text that drove each rank.
Ambiguous criteriaResolved silently by the model.Surfaced as ambiguous, because the protocol never defined them.
Registry dataTreated as current.Treated as a snapshot with an age, shown to the coordinator.
Regulated scopeBlurred, so everything sounds validated.Stated. Pre-screening on one side, regulated records on the other.
The stack

What TrialTriage runs on

Application

ReactTypeScriptNestJSVite

Data

PostgreSQLRedisBullMQAWS S3

AI

Ranked retrievalExplanation tracesHuman review gates

Delivery

DockerGitHub ActionsSonarQubeVercel
Questions, answered

Questions research teams ask

01Will your software decide whether a patient is eligible?

No, and we would argue against building it that way. The best published real-world result put positive predictive value at 75%, meaning one in four flagged patients was not actually eligible. A system that issues determinations also pushes itself toward regulated device territory. We build the prioritised worklist and leave the decision with the qualified person who already owns it.

02Does a pre-screening tool have to meet 21 CFR Part 11?

Often not, and getting this wrong in either direction is expensive. Part 11 attaches to records required by FDA regulations. A recruitment tool whose output never becomes part of a regulatory record can fall outside it. Telling a buyer that everything is Part 11 is itself a credibility failure, and so is assuming nothing is. Map your records first, then decide.

03Can you connect to our EDC or our CTMS?

Yes, and most of the work sits in access and data rather than the client library. These platforms gate entry through partner programmes and per-tenant credentials, so approvals come first. We have integrated many production systems against rate-limited APIs. The same rules hold. Expect paging limits, treat their status data as a snapshot with an age, and validate the interface as part of the system.

04How do you handle patient data during pre-screening?

By collecting as little as the matching actually needs. TrialTriage works from de-identified inputs with age ranges and stand-in identifiers rather than full records, and field-level encryption sits underneath. Access runs through four roles with multi-factor sign-in and 23 tracked audit action types, so a question about who saw what has an answer.

05What does the registry data not tell you?

More than most teams expect. In our August 2026 sample of 100 recruiting cancer trials, the structured fields amounted to age, sex and healthy-volunteer flags, and maximum age was present in only 36 of the 100. Everything clinically decisive sat in the free text. Trial status also goes stale, so a match can point at a slot that has already closed.

Verified
Start

Anyone can ship the agent. We answer the pager.

We build AI agents and automation, then stay on under an agreed service level. A senior engineer reads every brief, and your call gets scheduled within 24 hours.

What happens next

  1. 01

    You send a brief or book a call

    Two minutes, whichever you prefer.

  2. 02

    A senior engineer replies within 24 hours

    Not a sales rep.

  3. 03

    Honest scoping, in writing

    And if we’re not the right fit, we say so.

Abdul Basit, CEO of Hashlogics

“I started Hashlogics because too many teams ship a demo, get paid, and disappear. We build to a standard we’d run ourselves — and we stay to keep it running.”

Abdul Basit · CEO · a direct line

Not ready to talk? Take the checklist.

12 questions to ask any AI agency before you sign. They separate a demo shop from a team that ships to production.

Get the checklist

Free · no newsletter