top of page
Abstract Background

ezEMRx is a strong supporter of the HL7® FHIR® standard as the future of REST-based interoperability. ezEMRx is also a member of the AIMS eCR initiative, aimed at accelerating the adoption of FHIR for communicable diseases. ezEMRx's FHIR API addresses interoperability and patient engagement efforts while meeting ONC EHR API certification requirements 170.315(g)(7), (g)(9), and (g)(10).


ezEMRx FHIR API leverages FHIR R4 and SMART on FHIR Core Capabilities:

  • ​Launch Standalone Patient (g)(7,9) & (g)(10), replacing (g)(8)

  • Launch EHR Practitioner (g)(10)

  • Bulk FHIR with Backend Service Authorization (g)(10)


ezEMRx FHIR Update:

  • Single Patient & Population Services

  • Supports Critieria 170.315 (g)(7-9)(g)(10), replacing (g)(8) 

  • US Core 3.1.1 / USCDI v1

  • SMART App Launch 1.0.0

  • Bulk Data 1.0.1

  • FHIR Release 4.0.1

The ezEMRx API makes health information broadly available using FHIR®, a set of clinical interoperability resources under the umbrella of the HL7 standards organization. FHIR is based on common web standards, and can be reached through a RESTful protocol in which each FHIR resource has a known URL. The standard continues to grow and become more widely used for patient data.

ezEMRx FHIR API makes EHR patient data readily available:

  • The data is populated into the DHIT FHIR server via receipt of a version 2.1 CCDA.

  • Delivers data payload via JSON to API client of choice.​

  • Retrieves all USCDIv1 data or a class of data (e.g. clinical notes, problems, labs, or medications)

  • Secures the data using the HIPAA-compliant OAUTH standard for user authorization


The ezEMRx FHIR API supports the following launch types:

  • Patient Access from an End-User Device:  Standalone Launch provides patients access to USCDIv1 data in JSON format via FHIR R4 DocumentReference Resource from any compatible app using Authorization Code Flow.

  • Patient Portal API Access:  Patient Launch of an App from within a Patient Portal user session using the EHR Launch Flow.  

  • Practitioner Portal API Access:  Practitioner Launch of an App from within their EHR session. The EHR Launch Flow can be either a Single-patient app that runs in the context of a patient record or a bulk patients.

Terms of Use
This documentation is intended to help you with the ezEMRx FHIR® API content. It will guide you through and help you consume your health resources.

Your use of this site, including, without limitation, accessing/registering the ezEMRx APIs and the ezEMRx API Sandbox, is subject to these ezEMRx API Terms of Use. ezEMRx may update and modify the ezEMRx API Terms of Use at its sole discretion and without notice. API Developers and other users of this site should regularly check this site for updates to the ezEMRx API Terms of Use.


ezEMRx retains all ownership of ezEMRx property and reserves all of its applicable rights with respect to the content of this site, ezEMRx EHR and ezEMRx APIs. Nothing in the ezEMRx API Terms of Use or any documentation associated with the ezEMRx APIs is intended to convey any transfer of ownership of ezEMRx's property.


Source Code or Software
ezEMRx API Developers may test applications by using the ezEMRx API Sandbox or by collaborating with the ezEMRx EHR; it is not necessary to access the ezEMRx EHR to test applications. In connection with providing the ezEMRx APIs, ezEMRx does not offer a license to use the ezEMRx EHR, or access to the ezEMRx EHR to any party that has not purchased a license to the ezEMRx EHR. ezEMRx will not make any ezEMRx source code available to any party in connection with the ezEMRx APIs.


By accessing/registering the ezEMRx APIs and ezEMRx API Sandbox, you assume the risk of liability for, and agree to indemnify and hold harmless ezEMRx and its affiliates, employees, customers, partners, dealers (collectively, the "ezEMRx") and will defend ezEMRx from and against any and all liabilities, losses, claims, damages, claims and expenses (including legal expenses of any kind and nature) arising out of, or relating to, directly or indirectly: (a) any action or omission related to (i) your use of the ezEMRx APIs or (ii) the development, content, or performance of third party applications developed by you or (b) your failure to comply with any federal, state or local laws, rules or regulations in connection with your use of the ezEMRx APIs.


Warranty Disclaimers
ezEMRx APIs and ezEMRx API Sandbox are provided on an "as-is" basis with all faults and defects, and without any warranty whatsoever. The entire risk as to the quality and performance of the ezEMRx APIs is with the third party Developer. ezEMRx shall be responsible for the performance of ezEMRx developed applications. ezEMRx does not provide any service level agreements or performance objectives for availability, response time or any other performance measurement associated with the ezEMRx APIs or the ezEMRx Sandbox. For any issues alleged to be caused solely by the ezEMRx APIs or the ezEMRx API Sandbox, API Users may report issues to ezEMRx at ezEMRx will make reasonable efforts to investigate and correct such issues at its sole discretion towards the functioning of the ezEMRx API as intended.

ezEMRx FHIR API Endpoints


FHIR Metadata Information


FHIR Authorization Server Information


FHIR Server SMART-Configuration


FHIR Token Endpoint


FHIR Bulk Token Endpoint


FHIR Client Registration URL


Signup for a client account and register


Clients will need to register for access from the Client Registration URL. Only the ezEMRx admins have access to authorize the client. After the registration, you should have the following:

  • Client ID

  • Client Secret Key

  • Base URL

  • Authorized API type (Single Patient or Bulk)

FHIR® Mapping

  • ezEMRx FHIR® API allows other health IT applications to make read-only data requests for patient health information that  adheres to USCDI standards. 

  • §170.315(g)(7), §170.315(g)(9) and §170.315(g)(10) - API interface would allow a request for “all” the patient data, or specific “by specific data category.”

  • ezEMRx FHIR® API assumes the use of a cumulative CCDA with patient data. For filtering CCDA data by section, it will use the latest cumulative CCDA document of a patient (latest).

ezEMRx FHIR® API uses the restful based service architecture which allows seamless integration over the HTTPS protocol (POST). This allows any client request to communicate with the ezEMRx FHIR® API as the call to the operation essentially entails the building of a URL string to call an operation in the service.

API Query Parameters

Error Handling
Errors and exceptions are handled with a HTTP status code and a JSON response for the forbidden request.

Forbidden Request - HTTP Status Code - 403
A user trying to access another users profile or data will be returned with a Forbidden Request Error.


Bad Request - HTTP Status Code - 400
An invalid or a bad URL request to the server is returned with a HTTP - 400 response and message


Response OK - HTTP Status Code - 200
A valid request to the FHIR server is returned with a HTTP - 200 response and message

FHIR API Specifications

The following is provided as guidance and reference. It is assumed that the developer or client is familiar with HL7 FHIR® US Core Implementation Guide. For further information, please refer the HL7 published version. Please note, all methods support a search capability (eg: _search?) with the POST request.

bottom of page