72-year-old patient with type 2 diabetes on metformin. BP 138/86. No known drug allergies.
Open-source interoperability infrastructure
Turn clinical narratives into FHIR.
FHIR at Will transforms unstructured clinical text into validated FHIR R4 resources. Self-host it and keep clinical data on infrastructure you control.
FHIR at Will
extract · validate
{
"resourceType": "Bundle",
"type": "collection",
"entry": [
{ "resourceType": "Observation", "code": "Age", "value": "72 years" },
{ "resourceType": "Condition", "code": "Type 2 diabetes" },
{ "resourceType": "MedicationStatement", "medication": "metformin" },
{ "resourceType": "Observation", "code": "Blood pressure", "value": "138/86 mmHg" },
{ "resourceType": "AllergyIntolerance", "code": "No known drug allergies" }
]
}
Supported by
How it works
From narrative to verified FHIR.
The model identifies grounded facts. Deterministic code handles everything else.
-
01
Protect the narrative
Reviewed rules minimize identifiers before the model sees the text. Protected values are restored only after extraction.
-
02
Extract, then construct
The model selects grounded facts through a closed catalog. Code turns those facts into a deterministic FHIR R4 Bundle.
-
03
Verify before use
Terminology and layered validation determine whether the result can proceed, needs review, or must be rejected.
A required check that cannot run never becomes a false pass. Explore the implementation details →
Why FHIR at Will
Built for real-world interoperability.
Self-hostable
Deploy on your infrastructure.
Privacy first
Your clinical data stays under your control.
Modular
Use only the terminology and validation components you need.
Open source
Transparent, extensible, and community driven.
Available on PyPI
Build with FHIR at Will.
Install the Python package and bring narrative-to-FHIR into your own application.
pip install fhiratwill
Join the community
Build a more interoperable future.
Contribute, suggest features, or explore the project.