Mike Yackanich · Jan 18

FHIR Bulk Data and ndjson

Hi all,

I am testing asynchronous Bulk Data retrieve with a large EHR vendor. When I retrieve the bulk data, they are returning ndjson (CONTENT-TYPE of "application/fhir+ndjson; charset=utf-8"). If I attempt to process that content using JSON functions - I get

ERROR #5035: General exception Name 'Parsing error' Code '3' Data ''

For example, the following generates the error

s objArray={}.%FromJSON(quickStreamOut)

The error makes sense in that ndjson is not a valid json format (I assume at least).

But how then should ndjson be parsed in COS? I was going to use $listfromstring with a newline delimiter to separate out the resources, and then iterate through the list. Before I did so I thought I'd reach out to see how others have handled this, or if anyone knew if ISC would be adding special support for ndjson.

Product version: IRIS 2020.4
$ZV: IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2020.4 (Build 524U) Thu Oct 22 2020 13:05:03 EDT
0 84
Discussion (1)2
Log in or sign up to continue

ndjson, is just when a bunch of ordinary JSON separated by a newline in one file

So, if you would read that stream with ReeadLine(), and parse each line separately, it should work.