Difference between revisions of "Java Script Object Notation (JSON)"

From Clinfowiki
Jump to: navigation, search
(Added Epic example)
m
Line 89: Line 89:
  
 
==EPIC==
 
==EPIC==
[[Epic]] has implemented a REST interface that returns a JSON object for retrieving a variety of information the  system contains. The following example use the GET operation for retrieving the Patient information.
+
[[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  
 
   URL:https://open-ic.epic.com/FHIR/api/FHIR/DSTU2/Patient/Tbt3KuCY0B5PSrJvCu2j-PlK.aiHsu2xUjUM8bWpetXoB  
Line 124: Line 124:
 
# Implementable Technology Specifications [http://www.hl7.org/special/committees/xml/index.cfm]
 
# Implementable Technology Specifications [http://www.hl7.org/special/committees/xml/index.cfm]
 
# Sample File [http://hl7.org/fhir/json-edge-cases.json]
 
# Sample File [http://hl7.org/fhir/json-edge-cases.json]
 
+
# Epic spec [https://open.epic.com/Clinical/FHIR?whereTo=patient]
  
  

Revision as of 18:16, 17 October 2015

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]

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"
           ]
       }
     ],
     ...

References

  1. RFC 7159 [1]
  2. ECMA-404 [2]
  3. Value Image [3]
  4. FHIR - JSON Representation of Resources [4]
  5. Implementable Technology Specifications [5]
  6. Sample File [6]
  7. Epic spec [7]


Submitted by (Dale Cox)