Service Root URL

URLs for the FHIR server vary by the tenant (datasource or client) being accessed, as well as other factors.

If the application is a SMART application, the service root url is provided at launch time. For standalone applications, the URL can be requested (or configured) when the application is set up to run against a specific tenant. FHIR calls will be made against URLs of the following format:


Open Sandbox

The open sandbox instance allows developers to experiment with the service without requiring authentication. We recommend using this endpoint for initial proof of concepts and integration. The service root URL for this instance is:[?:parameters]


The open endpoint exposes read-only resources. No writes are available in sandbox without using authentication.

Secure Sandbox

The secure sandbox instance can be used for testing an application with authorization. The service root URL for this instance is different if the patient or a patient's proxy is logging in.


Patient Access:[?:parameters]


:resource represents the FHIR standard resource to access. Example: Patient


Many API methods take optional parameters. For GET requests, any parameters not specified as a segment in the path can be passed as an HTTP query string parameter:

$ curl -i -H "Accept: application/json+fhir" ""

In this example, MedicationOrder is the FHIR standard resource being accessed, while patient and status are passed in the query string.

Resource Identity

Please note that no ids or identifiers in the Millennium EHR are intended to be used outside of the context of their complete URL. A complete URL is comprised of the service root url, the resource, and the parameters (if any).

For example, one must take into account the entire url and not simply the id or resource + id:

In another context the id "Patient/12742400" may identify another person entirely. In the following example a different resource may be returned because the context (service root url) has changed.

Similarly when considering an identifier one must consider it only in its full context. Even though some identifiers may exist across multiple systems (ex: MRN) it is not guaranteed that they will refer to the same resource.|10002700

For example, when using the above MRN in a different system, we are not guaranteed that the same Patient resource is returned in the response bundle:|10002700