Pinned Tweet
OpenMed 3.0 is out: Patient Journey.
One synthetic patient, five systems: a clinic note, hospital FHIR, an outside clinic's HL7, a lab CSV, a retina DICOM report. They disagree.
3.0 links every fact to its exact source, keeps the conflict open and amends without erasing.
OpenMed 3.1 is out: governed clinical agents.
An agent asks to raise a synthetic metformin dose from 500 to 1000 mg. 10 attempts, 1 write: after a pharmacist and an attending signed that exact change.
Edited dose, reused approval, revoked grant, emergency stop: no write.
Release notes and the 3.0 to 3.1 migration guide:
github.com/maziyarpanahi/ope…
The repo, a star helps others find it:
github.com/maziyarpanahi/ope…
Synthetic order, in-memory chart, no FHIR server. Every outcome on the card comes from openmed 3.1.0. Apache 2.0.
93 PRs from 8 contributors went into 3.1. Thank you @BelalWho, @pardeepshergill and, on GitHub, kokokoXUY, janithcd and first-time contributors Fire162, snowyukitty and wufangyong973.
Also new: NLI-checked briefs, governed FHIR writes, atomic OMOP, DICOM and multilingual fixes.
Shall we fine-tune Kimi K3.1 Pro for medical and clinical tasks? Should we make the best medical open frontier AI model? 🔥
Introducing Kimi K3.1 Pro: our most capable 3T-class open-weight model.
🔹 1M-token context, 2.8T total / 104B active params (MoE), Multimodal.
🔹 Full-project coding: games in Unreal, Unity & Godot.
🔹 Excels at parametric 3D modeling in Blender & CAD.
🔹 More reliable at finance work: Accurate modeling with hallucination down by 65%.
🔹 Matching the strongest proprietary models across coding, agentic and knowledge benchmarks.
Kimi K3.1 Pro and K3.1 Pro Highspeed (2–3× faster) are now live on Kimi.ai, Kimi Work, Kimi Code, and the Kimi API.
Open weights by Nov 4, 2026.
🔗 API: platform.kimi.ai
🔗 Tech blog: kimi.ai/blog/kimi-k3-1-pro
The access check in code: one boundary, two views.
A researcher asking for the identified view gets role_denied. The de-identified view answers without a subject id. Withdraw consent and the same clinician request comes back consent_withdrawn.
Docs: github.com/maziyarpanahi/ope…
Runs offline, no hosted policy service. Synthetic data.
Same patient, same question, three answers.
Clinician: the identified record.
Researcher: refused on the identified view, served the de-identified one.
Consent withdrawn: nothing, for anyone.
OpenMed 3.0 audits every attempt, and the audit log holds none of the content.
Separated projections in openmed 3.0.0:
github.com/maziyarpanahi/ope…
Synthetic journey. The demo script wrote the de-identified view; the SDK keeps both apart, gates each read and writes a content-free audit row. Apache 2.0.
Three mentions, three honest outcomes: mapped, ambiguous, unmapped.
"hypertensive urgency" stays unmapped even though I10 (hypertension) is in the vocabulary. Close is not the same as correct.
Docs: github.com/maziyarpanahi/ope…
The mention text is stored as a keyed hash, not as text. Synthetic demo subset.
In a note, "PE" can mean pulmonary embolism or pleural effusion.
OpenMed 3.0 returns both codes, I26.99 and J90, marks the mention ambiguous and sends it to review. It does not pick one.
A term with no match stays unmapped instead of being forced onto the nearest code.
Terminology resolution in openmed 3.0.0:
github.com/maziyarpanahi/ope…
Synthetic 3-concept ICD-10-CM subset. OpenMed bundles no vocabularies; you bring your own. Apache 2.0.
Hugging Face's science team counts OpenMed among the most active AI-for-science contributors, with Ai2 and NVIDIA.
2,277 open models and 26 open datasets for medicine:
huggingface.co/OpenMed
Open weights and open data are how medical AI earns trust.
Hugging Face is becoming more and more the home of AI x Science projects. Open source accelerates scientific discovery when models, datasets, and tools are shared openly, all researchers can reproduce them and build on top of them.
A big thanks to @allen_ai, @OpenMed_AI, and @NVIDIAAI for being the most active contributors of AI for Science artifacts on @huggingface these days!
🤗 Hugging science heatmap: huggingface.co/spaces/huggin…
The FHIR round trip in code.
Export a 2-fact slice and the loss report names what did not fit: resolution_target_unsupported. Import it back and the facts are identical. Edit one status in transit and you get fhir_custody_conflict.
Docs: github.com/maziyarpanahi/ope…
Local and offline: no terminology server, no hosted validator.
A patient journey to FHIR R4 and back: 6 facts out as 8 entries, 6 identical facts back.
Now flip one Condition from inactive to active in transit. OpenMed 3.0 refuses the import as a custody conflict instead of merging it.
Every trip also reports what it could not carry.
FHIR Journey round trips in openmed 3.0.0:
github.com/maziyarpanahi/ope…
Synthetic record, 5 sources. The added resources and the edit were made by our test script. Apache 2.0.
Liquid's new LFM2.5-24B-A2B did a full skin follow-up review in 19 seconds, for under half a cent.
4 visits, synthetic patient, 5 tool calls, 0 failed. It caught the spot that grew 1.29 mm and cited the exact measurement for every finding.
2B active. Strong release @liquidai
The spot that grew: 8.70, 8.98, 9.40, 9.99 mm. +1.29 mm vs ±0.20 mm measurement error, so it's flagged. L02 moved −0.05 mm, inside the error, and it got that right.
LFM never sees the images. OpenDerm measures, LFM pulls the history via tool calls and writes the cited review.
It also left L07 open. It has no verified match in earlier visits, so there's no trend to report, and it didn't invent one.
Open weights on @huggingface:
huggingface.co/LiquidAI/LFM2…
Synthetic images, hosted run, model wait sped up 3x in the video. A review aid, not a diagnosis.













