Human-in-the-loop for clinical products

A clinician reviews it before the patient does.

The reviewing clinician approves from their phone between patients, and the review is recorded without a second system.

How does a healthcare AI product get clinician review before output is used?

Pushary lets a healthcare AI product get clinician review before output is used. Put one Pushary call in front of the note, the patient message or the order. A named clinician chooses on their phone to sign it, return it for edits or discard the draft. Your agent waits for that answer. If nobody answers in time, nothing is signed or sent. Each review is saved with the clinician and the time.

What needs a yes

The calls that should not be automatic

signNote(encounterId, draft)
A signed note becomes the record of what happened in that visit. Every later decision and claim is built on it.
messagePatient(patientId, draft)
A patient reads a message from your product as coming from their clinician, and acts on it that way. Once it has been read, there is no recalling it.
suggestOrder(patientId, order)
Anything that looks like an order needs to come from the person who carries the clinical responsibility. The agent can draft it. Only a clinician can place it.
flagAbnormalResult(resultId)
Deciding what is abnormal enough to act on is clinical judgment about one patient. A threshold set for a whole population cannot make that call.

The code

One call inside the step you already have

Wrap the action, not the whole agent. Everything the agent does that is safe keeps running without asking anyone.

bash
npm i @pushary/server
one call
import { createPusharyServer } from "@pushary/server"

const px = createPusharyServer({ apiKey: process.env.PUSHARY_API_KEY! })

async function releaseNote(encounter: Encounter, draft: NoteDraft) {
  // Only a reference and a short summary leave your system.
  const decision = await px.decisions.ask({
    externalId: encounter.clinicianId,
    type: "select",
    question: `Sign the note for encounter ${encounter.reference}? ${draft.changedSections} sections drafted.`,
    options: ["Sign", "Return for edits", "Discard draft"],
  })

  if (decision.value !== "Sign") {
    return returnForEdits(encounter.id, decision.value)
  }
  return signNote(encounter.id, draft)
}

Who answers

The approver is not at a desk

The approver is a clinician between patients, with seconds to spare for your review queue. Teams often make review lighter. Reaching them where they are works better. A queue in your web app competes with the chart, the phone and the patient in front of them. One short question on the phone in their pocket does not. Pushary returns their answer to your code, so review happens during the visit.

Can any of this touch protected health information?

Only if you send it, so design it so you do not have to. For clinical products, put a reference and a short summary in the question. Keep the note and the record in your own system. Pushary carries the decision rather than the content, and it stores the request and its answer, never the underlying document. Whether your setup needs a business associate agreement, and what your duties are, is a question for your own compliance counsel. Ask them rather than rely on a vendor page. Pushary is GDPR-aligned. It holds no HIPAA attestation, no SOC 2 and no ISO certification, and we will not claim otherwise.

Worth reading: HHS guidance on the HIPAA Privacy Rule.

$99/ month, Partner plan

Add it to your product. Your users never make a Pushary account or pay us.

What the Partner plan covers

FAQ

Questions, answered

Can we send only a reference instead of clinical content?
Yes, and we recommend it. The question is a string you write, so send an encounter reference and a count of what changed instead of the note text. The question then reads like "Sign the note for encounter 4471? 3 sections drafted." with no clinical detail. If the clinician needs to read the full draft before deciding, they open it in your own product.
Does the clinician need an account with Pushary?
No. They install the free Pushary app and connect their phone once with a link you send them. There is no account to create and nothing to pay. After that, you reach them by the id your system already uses for them.
What happens if a review is not answered during a shift?
Nothing is signed or sent. When time runs out, the answer counts as no. Your agent decides what happens next, usually holding the draft and asking a covering clinician. Pushary keeps the pending request, so a deploy during the shift does not lose it. Save the decision id and pick the review back up when the answer reaches your server.
Is Pushary HIPAA certified?
No. There is no such thing as a HIPAA certification, and we hold no attestation, SOC 2 report or ISO certificate. Pushary is GDPR-aligned and self-assessed. The real answer is the design above: keep protected content in your own system and use Pushary to carry the decision.

Put a person on the step that needs one.

Connect a user once, ask with one call, and run the action only on a yes. Every answer is saved.

Start free