Skip to main content

CSV Input

FUME converts CSV input to JSON before evaluation. The converter uses the header row as property names and returns an array of row objects.

Inspect normalized JSON

Use the root endpoint with fume: "$" to inspect the converted JSON shape before you write a mapping.

If you need the canonical endpoint guidance for POST /, saved mappings, or verbose execution, see Server API execution patterns.

{
"input": "encounterId,patientId,status,...",
"contentType": "text/csv",
"fume": "$"
}

For CSV requests, input is the original CSV document as a string.

Original input file

Canonical CSV input

This whole file is converted to JSON before evaluation.

CSV
encounterId,patientId,status,class,type,reason,facility,practitionerId,start,end
enc-1001,pat-0001,finished,outpatient,primary-care,routine follow-up,ExampleCare Clinic,prac-4001,2026-02-14T09:30:00Z,2026-02-14T10:05:00Z
enc-1002,pat-0001,finished,outpatient,imaging,headache evaluation,ExampleCare Imaging,prac-4002,2026-03-01T15:10:00Z,2026-03-01T15:45:00Z
enc-1003,pat-0001,in-progress,virtual,care-coordination,medication questions,ExampleCare Clinic,prac-4003,2026-03-10T11:20:00Z,
enc-1004,pat-0001,planned,outpatient,lab,fasting labs,ExampleCare Clinic,prac-4001,2026-03-20T08:00:00Z,

Normalized JSON before evaluation

Normalized JSON

The converter returns an array of row objects keyed by the CSV headers.

[
{
"encounterId": "enc-1001",
"patientId": "pat-0001",
"status": "finished",
"class": "outpatient",
"type": "primary-care",
"reason": "routine follow-up",
"facility": "ExampleCare Clinic",
"practitionerId": "prac-4001",
"start": "2026-02-14T09:30:00Z",
"end": "2026-02-14T10:05:00Z"
},
{
"encounterId": "enc-1002",
"patientId": "pat-0001",
"status": "finished",
"class": "outpatient",
"type": "imaging",
"reason": "headache evaluation",
"facility": "ExampleCare Imaging",
"practitionerId": "prac-4002",
"start": "2026-03-01T15:10:00Z",
"end": "2026-03-01T15:45:00Z"
},
{
"encounterId": "enc-1003",
"patientId": "pat-0001",
"status": "in-progress",
"class": "virtual",
"type": "care-coordination",
"reason": "medication questions",
"facility": "ExampleCare Clinic",
"practitionerId": "prac-4003",
"start": "2026-03-10T11:20:00Z",
"end": ""
},
{
"encounterId": "enc-1004",
"patientId": "pat-0001",
"status": "planned",
"class": "outpatient",
"type": "lab",
"reason": "fasting labs",
"facility": "ExampleCare Clinic",
"practitionerId": "prac-4001",
"start": "2026-03-20T08:00:00Z",
"end": ""
}
]
Parse embedded CSV mid-mapping

If part of your input still contains raw CSV text, use $parseCsv() to convert that string into the same row-object shape during evaluation.

What to expect

  • The first row becomes the property names.
  • Each subsequent row becomes one object in the returned array.
  • CSV values remain strings, including numeric-looking values and booleans.
  • Empty cells remain empty strings.

A mapping that works against this normalized JSON also works when you send the original CSV input, because the CSV is converted before evaluation starts.