Skip to main content

Normalization

FUME evaluates mappings against JSON. When you send CSV, XML, or HL7 v2 input, the engine normalizes that input to JSON first and evaluates the mapping against the normalized result.

That normalization step is why the same mapping can work against either:

  • the normalized JSON that you inspect during development
  • the original source format that you send at runtime

Inspect normalized JSON

Use the root endpoint with fume: "$" to see the exact JSON shape that FUME evaluates.

{
"input": "<format-specific input or JSON value>",
"contentType": "<mime type>",
"fume": "$"
}

For JSON input, input is a JSON value.

For CSV, XML, and HL7 v2 input, input is a string that contains the original document or message.

Supported formats

FormatTypical contentTypeNormalized shape
JSONapplication/jsonunchanged
CSVtext/csvarray of row objects
XMLapplication/xmlobject-based JSON document
HL7 v2x-application/hl7-v2+er7segment-keyed JSON object

What to expect

  • JSON input is used as-is.
  • CSV normalization keeps header names and returns string values.
  • XML normalization produces an object root, keeps XML primitives as strings, and may expose the original root tag as _xmlTagName.
  • HL7 v2 normalization turns message segments and fields into JSON keys using the HL7 dictionary-backed parser.

Use the format-specific pages in this section to see the exact full-file examples and normalized JSON that FUME evaluates before your mapping runs.