Opentrons Labworks Inc
Software for writing protocols and running them on the Opentrons Flex and Opentrons OT-2
A second ear for medical interpreters: checks that doses, allergies, left and right, and every 'no' crossed the language gap, turn by turn.
HealthPython · JavaScriptGitHub @amekinyaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A second ear for medical interpreters: re-confirm cards when a dose, allergy or “no” doesn’t make it across.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A second ear for medical interpreters. Faithful listens to both sides of an interpreted visit and, right after each turn, asks the interpreter to re-confirm any dose, number, allergy, left or right, medicine, warning sign or “no” that didn’t make it across the language gap. Spanish and English.
A mother says “ya le di dos dosis de Tylenol hoy… y es alérgico a la penicilina.” The interpreter says “Yes, I gave him Tylenol today.” The doctor never hears about the two earlier doses or the penicillin allergy, and nobody in the room can tell. Faithful puts a red Re-confirm card in front of the interpreter before the doctor writes the prescription.
Live demo: faithful-hsa8.onrender.com (free hosting: the first visit after a quiet spell can take about a minute to wake up) · Built for the Nebius × NVIDIA Global AI Hackathon (Best Apps and Agents).
| Step | What runs | Where |
|---|---|---|
| 1. Hear both sides | NVIDIA Parakeet TDT 0.6B v3, multilingual speech recognition | Our Nebius Serverless Endpoint (one L40S) |
| 2. Read the critical content | Plain code: numbers (digits and Spanish or English number words), units, how often, how long, dose limits, allergies, left/right, medicine names (brand ↔ generic), warning signs, negation | The app |
| 3. Weigh the meaning | Our fine-tuned checker: NVIDIA llama-nemotron-rerank-1b-v2, fine-tuned to score whether an interpretation still means the same thing | Trained on a Nebius Serverless Job, served on the same endpoint |
| 4. Decide | A fixed rule combines steps 2 and 3. The outcome is a re-confirm card, a note for after the visit, or nothing. Thresholds come from held-out practice visits | The app |
| 5. Say it plainly | Nemotron 3.5 Lightning writes the card's one line. Code checks that any words it quotes were really said | Nebius Token Factory |
| 6. Re-read after the visit | Nemotron 3 Ultra reads the whole conversation once. Each item it finds must quote a real turn | Nebius Token Factory |
Steps 2 and 3 cover each other's blind spots:
We wrote six scripted visits with 20 planted errors, following the JMIR 2026 design:
The visits were voiced with Kokoro, heard by Parakeet on our Nebius endpoint, and checked by the live pipeline with the thresholds chosen on practice turns (eval/e2e.json):
| From audio | From the script text | |
|---|---|---|
| Planted errors that got a re-confirm card | 19 of 20 | 20 of 20 |
| Errors in the patient's own words caught | 11 of 11 | 11 of 11 |
| Faithful turns that got a card anyway | 4 of 34 | 2 of 34 |
| Median time from the interpreter finishing to the card (speech recognition + checks + card wording) | 1.3 s (95th percentile 1.9 s) | |
| Speech recognition word error rate | English 3.5%, Spanish 4.6% |
The one miss from audio is "not this week" interpreted as "esta semana sí puede": speech recognition ran the clinician's two sentences together, so both sides still contain a "no" and code saw no change; our checker scored it 0.88 likely-changed, just under the 0.95 a card needs when code finds nothing. From the script text it is caught. For comparison, the study we copied the design from found two ambient AI scribes carried 55–60% of these planted errors into the visit note.
From eval/RESULTS.md. Every method saw the same turns: a random sample of 400 per set (fixed seed), all 54 scripted turns. Thresholds were chosen on 632 held-out practice turns under one rule for every method (best F1 with no more than 5% false alarms there), never on these test sets.
| Method | Held-out synthetic visits: errors caught / false alarms | ACES (out-of-distribution): caught / false alarms | Time per turn | Cost per 1,000 turns |
|---|---|---|---|---|
| Code checks only | 50% / 9.6% | 49% / 5.1% | 2 ms | $0 |
| Nemotron 3.5 Lightning, asked per turn | 51% / 1.5% | 62% / 6.8% | 0.9 s | $0.03 |
| Nemotron 3 Ultra, asked per turn | 79% / 0.7% | 92% / 13.1% | 0.9 s | $0.36 |
| NVIDIA rerank-1b before fine-tuning | 20% / 7.0% | 13% / 1.1% | 0.5 s | GPU time |
| Our fine-tuned checker alone | 82% / 3.3% | 51% / 0.6% | 0.5 s | GPU time |
| Faithful: code + checker + decision rule | 83% / 9.2% | 58% / 2.8% | 0.5 s | GPU time |
What this shows:
NVIDIA llama-nemotron-rerank-1b-v2, fine-tuned on 3,818 synthetic training pairs for 2 epochs on one L40S in a Nebius Serverless Job (161 seconds). On 1,449 held-out test pairs written by two other model families: AUC 0.60 before fine-tuning, 0.95 after; at the threshold chosen on dev, F1 0.29 before and 0.84 after (precision 0.88, recall 0.81). The job's report is in eval/training.json, copied from the endpoint.
pip install -r requirements.txt
uvicorn app.main:app --port 7860
| What you set | What works |
|---|---|
| Nothing | The replay and the code checks |
NEBIUS_API_KEY | Lightning card wording and the Ultra review |
ENDPOINT_URL and ENDPOINT_TOKEN | Our Nebius endpoint: speech recognition and the fine-tuned checker |
Pipeline steps run in GitHub Actions (Run a pipeline step):
| Step | What it does |
|---|---|
synth | Writes the training and test visits |
tts | Voices the scripted visits |
demo | Runs speech recognition and the checks over the scripted visits |
eval | Runs the benchmark |
The Nebius parts are in train/:
| File | What it is |
|---|---|
train_checker.py | The fine-tuning Job |
server.py | The endpoint |
nebius.sh | The CLI commands to run both |
Apache-2.0. Test voices: Kokoro-82M (Apache-2.0). ACES is CC BY-NC-SA 4.0 and isn't redistributed here.