A FHIR-native transformation engine
Compact mappings. Profile-conformant output.
FUME (FHIR-Utilizing Mapping Engine) helps healthcare interoperability teams turn CSV, HL7v2, JSON, XML, C-CDA and other source formats into FHIR resources, FHIR-aware APIs, and structured outputs without maintaining one-off adapter code and hard-coding conformance details for every element in the resource.
It is built for data analysts, implementers, and platform teams who need one authoring model for data selection, calculation, orchestration, and FHIR output generation across both rapid prototypes and production integration pipelines.
The differentiator is not just that the mapping syntax stays short. The runtime injects profile-derived details automatically, so authors concentrate on the clinical or operational transformation logic instead of hand-writing all the intricate details required for conformance to the FHIR standard and to specific profiles.
Start here
Useful links
Start with the route that matches your immediate task, then go deeper into the section pages.
Start with the docs home page and route into setup, runtime settings, language guidance, and task-specific lookup pages.
Install FUME locally, run it from source, or use the packaged distributions.
Learn the expression model, FLASH syntax, and the authoring patterns used in production mappings.
See how mappings execute through the runtime and where the API surfaces fit into integration workflows.
Open the hosted sandbox to try mappings against sample inputs without local installation.
Browse the open-source engine, release history, and repository-level implementation details.
Concrete example
Automatic profile-conformant blood pressure output
This example uses the FLASH syntax to turn one blood pressure row into a FHIR Observation resource conformant to the HL7 FHIR Blood Pressure Profile.
The authored mapping stays focused on the business data: a patient display value, an observation timestamp, and the systolic and diastolic values that land in the correct profile slices.
What matters is what you do not have to spell out manually. FUME injects the blood pressure profile's required values for conformance, including the observation category, the fixed systolic and diastolic slice codes, and thevalueQuantity type plus mm[Hg] units.
Source JSON
A compact JSON object frames the transformation inputs without extra ceremony.
{
"first_name": "Avery",
"last_name": "Reed",
"systolic": 130,
"diastolic": 80
}
FUME mapping
Only actual source value mappings and slice names stay visible in the expression. Profile dictates an Observation resource type, and complex automatic values for the category and code elements, so the author doesn't have to hard-code them. Slices (systoic/diastolic components) determine that the choice-type element component.value is of the Quantity data type, and carry their own automatically injected complex values for the corresponding component.code element.
// Create an instance of a blood pressure profile
InstanceOf: http://hl7.org/fhir/StructureDefinition/bp
* status = "final"
* subject.display = first_name & ' ' & last_name
* effectiveDateTime = $now()
* component[SystolicBP].value = systolic
* component[DiastolicBP].value = diastolic
FHIR JSON output
Injected details show up in category, code and in each slice's code and valueQuantity element name, shape and units. The output is fully conformant to the blood pressure profile, and would pass validation without any additional adjustments.
{
"resourceType": "Observation",
"meta": {
"profile": [
"http://hl7.org/fhir/StructureDefinition/bp"
]
},
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "vital-signs",
"display": "Vital Signs"
}
]
}
],
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "85354-9"
}
]
},
"subject": {
"display": "Avery Reed"
},
"effectiveDateTime": "2026-04-12T09:54:25.562Z",
"component": [
{
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "8480-6"
}
]
},
"valueQuantity": {
"value": 130,
"unit": "millimeter of mercury",
"system": "http://unitsofmeasure.org",
"code": "mm[Hg]"
}
},
{
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "8462-4"
}
]
},
"valueQuantity": {
"value": 80,
"unit": "millimeter of mercury",
"system": "http://unitsofmeasure.org",
"code": "mm[Hg]"
}
}
]
}
DevDays 2024
Watch the DevDays 2024 conference talk
This recorded DevDays 2024 lecture gives a concise walkthrough of real-life FUME applications.
