All resources communicate success or error condition with standard HTTP status code of an API request. Below is an overview of all the supported codes, along with some suggestions that might help you fix things.

In general:

  • Codes in the 2xx range indicate success.
  • Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a request wasn't found, etc.).
  • Codes in the 5xx range indicate an error with Elation EMR FHIR API server.

All 4xx errors that could be handled programmatically (e.g., resource not found) include an OperationOutcome that explains the error reported


ErrorDescription
200 - OKEverything worked as expected
401 - UnauthorizedNo valid Bearer token provided or enough scopes for requested operation
404 - Not FoundThe requested resource doesn't exist or wrong url route
422 - UnprocessableEntity Outcome for processing errors
500 - Server ErrorSomething went wrong on server API

Additional error information

A response with a code in the 4xx or 5xx may contain additional information in the form of a FHIR OperationOutcome.

Examples:

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "error",
            "code": "value",
            "expression": [
                "http.Accept"
            ],
            "details": {
                "text": "Server does not support given format. Acceptable formats are: application/fhir+json, text/json, application/json"
            }
        }
    ]
}
{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "error",
            "code": "invalid",
            "expression": [
                "Observation.id"
            ],
            "details": {
                "text": "Observation with such id already exists"
            }
        }
    ]
}