Java Script Object Notation (JSON)
Java Script Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. [1][2]
Contents
Data Values
JSON is used to express data in a combination of 6 different ways, usually expressed in key/value pairs.
File:Value.gif [3]
string
A JSON string can be one or more words numbers and or symbols. There are special characters used to indicate line breaks and other formatting such as apostrophes.
An example string representation:
"stringKey":"BMI-512_Fall 2015"
number
A JSON number can be an integer or rational number.
An example number representation:
"numberKey":-1
object
A JSON Object is a group of JSON data values separated by a comma
An example object representation:
"objectKey":{"stringKey"="BMI-512_Fall 2015", "numberKey"=-1}
array
A JSON array is an ordered list of values.
An example array representation:
"arrayKey":["Freshman","Sophomore", "Junior", "Senior"]
true / false
A JSON true / false is used to express Boolean values.
An example true / false representation:
"falseKey":"false"
"trueKey":"true"
null
A JSON null represents no value present or unknown value.
An example null representation:
"nullKey":null
Example
The following Example illustrates how JSON can be used to express Patient Data.
"Paitent":"{ "ID":1234567, "Name":{ "Prefix":"Mrs", "First":"Jane", "Last":"Doe", "Suffix":null, "PreferredName": "Janey" }, "DOB":"1970-01-10T08:00:00.000Z", "Gender":"Female", "PhoneNumbers":[ {"type":"Home","preferred":true,"number":"555-555-5555"}, {"type":"Cell","preferred":false,"number":"555-555-5556"} ], "isSmoker":false }"
FHIR
HL7 has provided guidance [4] from the Implementable Technology Specifications Work Group[5] under FHIR (Fast Healthcare Interoperability Resources) for the use of JSON format. The also provide a sample file with many test cases to help test JSON parsers.[6]
EPIC
Epic has implemented a REST interface that returns a JSON object for retrieving a variety of information the system contains[7]. The following example use the GET operation for retrieving the Patient information.
URL:https://open-ic.epic.com/FHIR/api/FHIR/DSTU2/Patient/Tbt3KuCY0B5PSrJvCu2j-PlK.aiHsu2xUjUM8bWpetXoB { "resourceType": "Patient", "birthDate": "1985-08-01T00:00:00Z", "active": true, "deceasedBoolean": false, "careProvider": [ { "display": "Physician Family Medicine", "reference": "https://open-ic.epic.com/FHIR/api/FHIR/DSTU2/Practitioner/T3Mz3KLBDVXXgaRoee3EKAAB" } ], "name": [ { "use": "usual", "family": [ "Argonaut" ], "given": [ "Jason" ] } ], ...
Cerner
Cerner also supports a REST interface that returns JSON objects for interacting with the EMR[8]. The format and response is similar to the Epic example as both are implementing FHIR API version DSTU 2.
References
- RFC 7159 [1]
- ECMA-404 [2]
- Value Image [3]
- FHIR - JSON Representation of Resources [4]
- Implementable Technology Specifications [5]
- Sample File [6]
- Epic spec [7]
- Cerner spec [8]
Submitted by (Dale Cox)