The Allscripts FHIR API allows you to connect to Allscripts products using the FHIR (Fast Healthcare Interoperability Resources) standard for healthcare resources. The FHIR standard enables application developers to create products and exchange clinical data in a secure manner that is consistent, flexible, and easy to implement.
The FHIR standard is constantly evolving. This version of the Allscripts FHIR API supports FHIR release 4 (“R4”) and the United States Core Data for Interoperability (“US Core”) guidelines and requirements for data sharing.
Previous versions of the Allscripts FHIR API were compatible with the DSTU2 release. That version is still available, and the documentation is available separately.
Terminology: applications and products
For the purpose of this documentation, the term “application” refers to a software program connecting to an Allscripts product through the Allscripts FHIR API. The term “product” refers to the Allscripts base system such as Allscripts TouchWorks EHR.
To get the most up to date information about the Allscripts FHIR API including contact information, the supported FHIR resources, search parameters, and so forth, get a copy of the Allscripts FHIR API Capability Statement.
While the Allscripts FHIR API supports resources and functions that exceed the minimum required for US Core, the final Capability Statement released with R4 in May 2022 describes only the minimum requirements for US Core. It does not describe EHR-specific supported resources and/or search parameters and functions. If an application makes a request that is supported by the Allscripts FHIR API but is not supported by the underlying EHR, the Allscripts FHIR API returns a message indicating that the resource is not supported. The individual EHRs are only required to support the US Core guidelines.
To get a copy of the Allscripts FHIR API capability statement, make the following request:
GET[FHIR path]/metadata
The Allscripts FHIR API is a RESTful implementation for an API and is resource-based. The resources are healthcare or related items, such as patients or medications, and all resources have an identifier (_ID) that can be used to access or reference them.
For information on the individual FHIR resources supported by the Allscripts FHIR API and the requests they support, see:
TABLE WITH LINKS TO SWAGGER AND DSTU2 CONTENT
FHIR resources are accessed through HTTP and use the HTTP verbs. For example:
As required by the FHIR specification, the Allscripts FHIR API supports both JSON and XML formats. By default, the Allscripts FHIR API returns data in JSON. Use the Accept HTTP header to control this format.
*/*
: Application accepts anything.application/fhir+XML
: Response is in XML.application/fhir+JSON
: Response is in JSON.The Allscripts FHIR API supports the HL7® SMART Application Launch Framework Implementation Guide Release 1.0.0 implementation specification, a profile of the OAuth 2.0 specification. Additionally, the Allscripts FHIR API supports OpenID Connect Core 1.0. For more information on these specifications, see hl7.org/fhir/smart-app-launch/1.0.0/.
The following sections describe the authorization flows for FHIR applications.
Stand-alone application launch for an Allscripts product user
The endpoint for the product's Allscripts FHIR server is available from the Allscripts Endpoint Directory . Endpoints that end in /fhir
are for product users.
For example:
“url”: “authorize”,
“valueUri”: “https://.../authorize”
},
{
“url”: “token”,
“valueUri”: “https://.../token”
If the application credentials are not recognized by the Allscripts Authorization server, the server returns an error.
Stand-alone application launch for a patient
The endpoint for the product's Allscripts FHIR server is available from the Allscripts Endpoint Directory . Endpoints that end in /open
are for patient applications.
SMART launch