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.
npm i @pushary/serverimport { 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.
Add it to your product. Your users never make a Pushary account or pay us.
FAQ
Questions, answered
Can we send only a reference instead of clinical content?
Does the clinician need an account with Pushary?
What happens if a review is not answered during a shift?
Is Pushary HIPAA certified?
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