
 
HL7 V3 Lab result entry (JSON format): 
 
{"entry":{ 
"organizer":{ 
  "code":{"displayName":"..."}}, 
  "components":[ 
      {"component":{...}}, 
          {"component":{...}},...], 
  "notes":[...]}}} 
 
HL7 V3 Lab result component (JSON format): 
 
{"component":{ 
  "observation":{ 
     "code":{"displayName":"..."}, 
     "effectiveTime":{"value":"<ISO-8601>"}, 
     "value":..., 
     "interpretationCode":{"code":"..."}, 
     "referenceRange":{ 
         "observationRange":{...}}, 
     "notes":[...]}}} 
 
5 INTEGRATION AND TESTS 
The REST API is very easy to test using HTTP 
requests from simple command tools such as cURL 
or a web browser. Early in the project we were able 
to create and deploy, in a few days, a full working 
prototype of the API that was producing mocked-up 
resources so that mobile clients were able to retrieve 
sample data in the same fashion as the final API 
production version.  
During development we used a very small 
footprint embedded java web server (TJWS) that 
was running JUnit integration tests every time we 
were compiling the project. As a result, the REST 
API was always operational and ready to be 
deployed as a war file to the staging server when 
necessary. 
On the client side, the very simple host, port and 
base URL configuration is necessary to switch 
between a staging and production server, which 
makes development, testing and deploying 
extremely easy. 
The first version of our mobile health record will 
be available late 2010 as a pilot program for a small 
group of physicians participating in the New York 
Rochester Regional Health Information 
Organization (Rochester RHIO). It has already been 
tested by the technical services of the New York 
Rochester RHIO and we have incorporated changes 
in the iPhone interface and REST API format to 
support the variability of real world lab results 
(which sometimes can be either incomplete or 
contain badly formatted HL7 data sets).  
Initially only the records of patients who have 
provided consent will be accessible by the mobile 
application. This represents, in Summer 2010 
290,000 patients from more than 140 practices. 
6 CONCLUSIONS 
In this paper, we have presented the advantages of 
using a REST architecture for designing a 
lightweight and scalable API that is extremely easy 
to build, integrate, test, extend and maintain. We 
were able to create a working API prototype in a 
matter of days and a full functioning set of 
sophisticated health record web services accessible 
by our mobile client application in few weeks.  
In the next few months, we will be able to gather 
user feedback from a large group of users 
(physicians and nurses) and statistics about usage 
that will be very valuable to improve the 
performance of our health record REST API and the 
user experience of the mobile application. Also the 
audit of server logs for the REST API and the use of 
data mining tools will be valuable to see 
performance bottlenecks and usage trends. 
Furthermore not only are REST APIs are 
particularly suitable for fast and loosely-coupled 
solution integration such as mobile applications, but 
can also be used in health care for portal and mash-
up applications as well. 
ACKNOWLEDGEMENTS 
We are very grateful to Ted Kremer, Gloria 
Hitchcock and LaRon Rowe from the Rochester 
RHIO who have initiated this project and for their 
early feedback on the prototype. Our appreciation to 
David Stanfill and Nick Fisser and their team from 
Remedy Systems who helped us develop the iPhone 
mobile client. We would like to acknowledge the 
supervision and guidance provided by Anand Shroff. 
Thank you also to Terena Chinn-Fujii, Igor Kosoy, 
Greg Kuhnen, Ravi Luthra, Brian Schott, Neal 
Schultz, Nick Radov, Nicole Spencer, Dennis 
Stratford, Sean Smith, Tom Wilson, Eileen Xie, 
Oleg Zakharov and the Axolotl development team 
for their technical contributions, comments and 
support throughout this project. 
A MOBILE APPLICATION ACCESSING PATIENTS' HEALTH RECORDS THROUGH A REST API - How
REST-Style Architecture can Help Speed up the Development of Mobile Health Care Applications
31