(ARCHIVED) FHIR Support in FHIR2 Module version 1.3.0
This page is now outdated.
For current documentation about OpenMRS FHIR coverage and available FHIR API calls via the FHIR2 Module, see either the general documentation at https://om.rs/fhir101 or the FHIR IG documentation which creates an inventory of all supported resources & artifacts at https://fhir.openmrs.org
FHIR Support in 1.3.0
Note that all URLs are prefixed with the OpenMRS URL prefix (usually "/openmrs
") and the FHIR module-specific prefix ("/ws/fhir2/
"), the FHIR version, and then the resource name. The FHIR module suppports both FHIR R4 and DSTU3. For R4, use URLs with /R4
. For DSTU3, use URLs with /R3
. So, for example, the full URL for a Patient resource might be something like: http://localhost:8080/openmrs/ws/fhir2/R4/Patient/{uuid}.
Please note that the listed set of supported operations here is illustrative of the general capabilities of the FHIR2 module for the version specified above. The currently supported operations for a particular version and instance of the module can always be found in the CapabilityStatement, which can be loaded from the /metadata
URL, e.g., http://localhost:8080/openmrs/ws/fhir2/R4/metadata.
Note that although we've tried to indicate with a general idea what should be provided to different search parameters, the FHIR documentation for the specific resource and FHIR version in question should always be consulted for the normative data type.
Resource | GET | Search | POST | UPDATE | DELETE | Operations | Comments |
---|---|---|---|---|---|---|---|
Person | / | ?name={string} |
|
|
| ||
Patient | / | ?name={string} |
|
|
| ||
Practitioner | / | ?name={string} |
|
|
| Note that Practitioner maps to both OpenMRS Users and Providers. However, Users are only provided for GET and Search requests and cannot be created or modified via the FHIR API. | |
Location | / | ?name={string} |
|
|
|
| |
Encounter | / | ?subject={reference} | / | /{uuid} | /{uuid} | Only one of Because encounter can represent both a Visit or an Encounter, the Encounter.type field must be set for creates or updates to work. This field needs to have at least one coding with a system of http://fhir.openmrs.org/code-system/Encounter or http://fhir.openmrs.org/code-system/Visit and the code should be the UUID of the | |
Observation | / /{uuid} | ?encounter={reference} |
|
| Obviously, it is not possible to update observations in OpenMRS and when they are replaced, the new observation will have a new UUID and hence be a new FHIR resource. We do not currently have a way to indicate that one observation replaces an existing observation. Only one of | ||
Immunization | / | ?patient.identifier={string} | / | /{uuid} | /{uuid} | Immunization is backed by the the CIEL Immunization History (1421) concept structure. To work with Immunizations, you must have that concept set or concepts mapped to that concept set. Additionally, you must define an encounter type for immunizations and an encounter role for the provider administering the immunization. The value of these needs to be set in the Currently, Immunization is only support for FHIR Release R4. | |
AllergyIntolerance | / /{uuid} | ?subject={reference} |
|
|
| Only one of | |
Condition | / /{uuid} | ?subject={reference} | / |
|
| Only one of Condition is only supported as a first-class object on Platform 2.2.0 or higher. On Platform versions prior to 2.2, it is supported by looking for Obs with a concept matching UUID 1284AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA. | |
Medication | / /{uuid} | ?code={codeable concept} | / | /{uuid} | /{uuid} | ||
MedicationRequest | / /{uuid} | ?subject={reference} | Only one of In 1.0.0, resources representing orders are read-only. | ||||
/{uuid} | ?subject={reference} | / | /{uuid} |
| Only one of | ||
ProcedureRequest (DSTU3) | /{uuid} | ?subject={reference} | Only one of In 1.0.0, resources representing orders are read-only. | ||||
/{uuid} | ?based-on={reference} | / | /{uuid} |
|