Getting DICOM SR values into an EMR

JSON, REST API, DICOMweb, XML, HL7 v2, FHIR — what the options are and how to choose.

Why SR values do not go into an EMR as they are

A DICOM SR (Structured Report) is a DICOM object that holds measurements and findings as a tree. The values are in there, but the same measurement can have a different structure and name depending on the device, model, and software version, so an EMR often cannot read it directly.

As a result, SR content usually reaches the EMR only as a PDF or an image, and using the values themselves means repeating integration work for each device. The first step is to convert the SR into a form that other systems can read and pass it on, and there are several such forms.

Comparison at a glance

MethodHow it worksGood fit whenWatch out for
JSONRepresent the SR content as JSONYou are building a new integration or processing values yourselfField names and structure must be agreed on
REST APISend the converted JSON over HTTP to an EMR or an intermediate serverThe EMR accepts REST requestsAuthentication, retries, and error handling must be designed
DICOMwebRetrieve the SR over HTTP from a PACS or similar store (WADO-RS)The PACS supports DICOMwebTag-number based, so extra interpretation is needed
XMLThe XML representation of DICOM, or an existing XML-based integrationYou already exchange data as XMLVerbose and hard for people to read
HL7 v2Convert into result messages such as ORUThe hospital interface engine is built around HL7 v2Mapping design and interface engine setup are needed
FHIRConvert into resources such as Observation and DiagnosticReportThe EMR supports FHIRMapping design is needed; HL7’s SR-to-FHIR mapping guide is not yet an official release

Each method in more detail

JSON

The form that most systems read most easily. DICOM also has a JSON representation (PS3.18 Annex F), but it uses tag numbers as keys, so an extra step is needed to read and organize measurement names, values, and units before an EMR can use them.

REST API

Send the converted JSON to the HTTP API of an EMR or an intermediate server. It is simple to implement, but you need to decide how to handle authentication, resending after a failure, and preventing duplicate sends.

DICOMweb

If a store such as a PACS offers a DICOMweb service, you can retrieve the metadata of an SR instance over HTTP as JSON (application/dicom+json) or XML (application/dicom+xml). It is the standard route, but moving what you retrieve into the form your EMR uses is separate work.

XML

The DICOM standard has an XML representation (the Native DICOM Model in PS3.19), and DICOMweb supports it as well. Choose it when you need to match an environment that already exchanges XML.

HL7 v2

A message format widely used by hospital interface engines. To carry measurements in a result message, you need to agree on a mapping that decides which value goes into which field.

FHIR

Represents a measurement as an Observation and a report as a DiagnosticReport, for example. HL7 is developing a mapping guide from DICOM SR to FHIR resources (the DICOM SR to FHIR Resource Mapping IG), but only a pre-release version is published, so check its latest status before relying on it.

How to choose

A note about patient information

A real SR may contain patient information. When you use a tool that takes an SR, first check where the file is processed. The SyncSR demo processes files only in the visitor’s browser and does not send them to SyncSR servers. How to verify this

What SyncSR does today

References