FHIR DiagnosticReport

Base Path: /fhir/1.0/DiagnosticReport

Version: 2.1.0

The FHIR DiagnosticReport API allows you to look up a patient's

  • Laboratory Reports (Chemistry, Haematology, Microbiology, etc.)
  • Radiology Results (x-ray, CT, MRI etc.)
  • Textual Results

The endpoint provides the ability to:

  • Retrieve all DiagnosticReport resources that match a search criteria for a given patient.
  • Retrieve a specific DiagnosticReport resource based on its resource ID.
  • Retrieve the history of a DiagnosticReport resource based on its resource ID.
  • Retrieve summaries of all DiagnosticReport resources that match a search criteria for a given patient

The data returned in this API is subject to privacy and permissions settings, refer to the Working with Privacy guide to learn how this might affect your application.

The DiagnosticReport API aggregates data from multiple sources, to learn about working with aggregated APIs refer to the Aggregated APIs guide in the Knowledge Hub.

This API is based on the DSTU2 release of the FHIR standard, for more information on this API refer to the official FHIR documentation.

Authorization: OAuth 2.0 Bearer token is required to access the resources of this API. Once signed up, credentials and URL to access the OAuth API can be found on My Apps Page.


Methods

Get Diagnostic Reports for a Patient

GET /fhir/1.0/DiagnosticReport/

This method returns all diagnostic reports for the patient identified by patient.identifier. Optionally filtering by the report's category, code, and date.


Parameters

Name

Type

Data Type

Description


Name:

patient.identifier

required

Type:

query

Data Type:

string

Description:

The patient identifier consists of patient identifier namespace, also known as the system, and identifier, separated using a URL encoded | character i.e. %7c. The subject.identifier variant of this parameter is also supported.


Sample Value: ORION|AAAA-0124-8



Name:

code

optional

Type:

query

Data Type:

string

Description:

Filters the diagnostic reports to ones with a report type that matches the specified code. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c


Sample Value: http://loinc.org|57019-2



Name:

category

optional

Type:

query

Data Type:

string

Description:

Filters the diagnostic reports to ones with a department or diagnostic service that matches the specified category. The category value consists of a coding system and a code separated using a URL encoded | character i.e. %7c


Sample Value: urn:oid:2.16.840.1.113883.12.74|MB



Name:

date

optional

Type:

query

Data Type:

array

Description:

Filters the diagnostic reports to those with an appliesDateTime or appliesPeriod on, before, or after a specific date, date-time, or date range. The supported prefixes are >=, >, =, <, <=. If no prefix is used, exact date or date-time matching is implied. Dates must be formatted according to ISO 8601 either as a date only (e.g. 1997-07-16) or as a date-time including the timezone (e.g. 1997-07-16T19:20:30+13:00). Ensure that special characters such as + are URL encoded i.e. %2B.

The format of the query is

  • /DiagnosticReport?patient.identifier={patientNamespace}|{patientIdentifier}&date=>={dateTimeValue}
  • /DiagnosticReport?patient.identifier={patientNamespace}|{patientIdentifier}&date=>={dateTimeValue}&date=<={dateTimeValue}


Sample Value: >=2012-01-01T01:00:00+13:00



Name:

_summary

optional

Type:

query

Data Type:

string

Description:

Instructs the server to return a subset of the resource, reducing the size of the reponse payload. Possible values are

  • true: return summaries only
  • false: return full resources
  • count: return the count of search matches


Sample Value: true



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

Specifies the language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US


Responses


application/json+fhir

200

Returns a FHIR Bundle containing 0..* OperationOutcome resources and 0..* DiagnosticReport resources

Sample Requests

Get all Diagnostic Reports for a Patient
curl -X GET "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/?patient.identifier=ORION%7CAAAA-0124-8" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>'
Search for specific Diagnostic Reports for a Patient
curl -X GET "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/?patient.identifier=ORION%7CAAAA-0124-8&code=http://loinc.org%7C57019-2&category=urn:oid:2.16.840.1.113883.12.74%7CMB&date=>=2012-01-01T01:00:00+13:00" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>'
Get a Summary of Diagnostic Reports for a Patient
curl -X GET "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/?patient.identifier=ORION%7CAAAA-0124-8&_summary=true" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>'

Get Diagnostic Reports for a Patient

POST /fhir/1.0/DiagnosticReport/_search

This method returns all diagnostic reports for the patient identified by patient.identifier. Optionally filtering by the report's category, code, and date. This is the secure alternative to the GET search.


Parameters

Name

Type

Data Type

Description


Name:

Content-Type

required

Type:

header

Data Type:

string

Description:

Specifies how to encode the form data. The Content-Type value must be application/x-www-form-urlencoded


Sample Value: application/x-www-form-urlencoded



Name:

patient.identifier

required

Type:

formData

Data Type:

string

Description:

The patient identifier consists of patient identifier namespace, also known as the system, and identifier, separated using a URL encoded | character i.e. %7c. The subject.identifier variant of this parameter is also supported.


Sample Value: ORION|AAAA-0124-8



Name:

code

optional

Type:

formData

Data Type:

string

Description:

Filters the diagnostic reports to ones with a report type that matches the specified code. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c


Sample Value: http://loinc.org|57019-2



Name:

category

optional

Type:

formData

Data Type:

string

Description:

Filters the diagnostic reports to ones with a department or diagnostic service that matches the specified category. The category value consists of a coding system and a code separated using a URL encoded | character i.e. %7c


Sample Value: urn:oid:2.16.840.1.113883.12.74|MB



Name:

date

optional

Type:

formData

Data Type:

array

Description:

Filters the diagnostic reports to those with an appliesDateTime or appliesPeriod on, before, or after a specific date, date-time, or date range. The supported prefixes are >=, >, =, <, <=. If no prefix is used, exact date or date-time matching is implied. Dates must be formatted according to ISO 8601 either as a date only (e.g. 1997-07-16) or as a date-time including the timezone (e.g. 1997-07-16T19:20:30+13:00). Ensure that special characters such as + are URL encoded i.e. %2B.


Sample Value: >=2012-01-01T01:00:00+13:00



Name:

_summary

optional

Type:

formData

Data Type:

string

Description:

Instructs the server to return a subset of the resource, reducing the size of the response payload. Possible values are

  • true: return summaries only
  • false: return full resources
  • count: return the count of search matches


Sample Value: true



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

Specifies the language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US


Responses


application/json+fhir

200

Returns a FHIR Bundle containing 0..* OperationOutcome resources and 0..* DiagnosticReport resources

Sample Requests

Get all Diagnostic Reports for a Patient
curl -X POST "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/_search" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'patient.identifier=ORION%7CAAAA-0124-8'
Search for specific Diagnostic Reports for a Patient
curl -X POST "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/_search" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'patient.identifier=ORION%7CAAAA-0124-8' \
-d 'code=http://loinc.org%7C57019-2' \
-d 'category=urn:oid:2.16.840.1.113883.12.74%7CMB' \
-d 'date=>=2012-01-01T01:00:00+13:00'
Get a Summary of Diagnostic Reports for a Patient
curl -X POST "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/_search" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'patient.identifier=ORION%7CAAAA-0124-8' \
-d '_summary=true'

Retrieve a single DiagnosticReport

GET /fhir/1.0/DiagnosticReport/{id}

This method returns the DiagnosticReport resource matching the requested resource ID.


Parameters

Name

Type

Data Type

Description


Name:

id

required

Type:

path

Data Type:

string

Description:

The id of the DiagnosticReport resource


Sample Value: shaLKJABRUQ5VDTSE7NNR2RJLCCRB4GJ6RSJW2NZMZVV4XZ3QW7CILQ



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

The language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US


Responses


application/json+fhir

200

Returns a DiagnosticReport resource matching the the requested resource ID and version id.


application/json+fhir

404

No DiagnosticReport resource found with the requested resource ID.

Sample Request

curl -X GET "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/shaLKJABRUQ5VDTSE7NNR2RJLCCRB4GJ6RSJW2NZMZVV4XZ3QW7CILQ" \
-H 'Accept-Language: en-US' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>'

Get a DiagnosticReport's history

GET /fhir/1.0/DiagnosticReport/{id}/_history

This method returns the change history for a DiagnosticReport resource matching the requested resource ID. DiagnosticReport resources can be retrieved from multiple data sources, and not all sources are able to return history information. This operation will return an empty set of data if no versions of the specified DiagnosticReport can be found, which includes cases where:

  • The specified DiagnosticReport resource cannot be found.
  • The data source for the DiagnosticReport is unable to return history information.


Parameters

Name

Type

Data Type

Description


Name:

id

required

Type:

path

Data Type:

string

Description:

The id of the DiagnosticReport resource


Sample Value: shaLKJABRUQ5VDTSE7NNR2RJLCCRB4GJ6RSJW2NZMZVV4XZ3QW7CILQ



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

Specifies the language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US


Responses


application/json+fhir

200

A FHIR Bundle containing 0..* DiagnosticReport resources matching the requested resource ID.

Sample Request

curl -X GET "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/shaLKJABRUQ5VDTSE7NNR2RJLCCRB4GJ6RSJW2NZMZVV4XZ3QW7CILQ/_history" \
-H 'Accept-Language: en-US' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>'

Retrieve a specific version of a DiagnosticReport

GET /fhir/1.0/DiagnosticReport/{id}/_history/{vid}

This method returns a specific version of the DiagnosticReport resource matching the requested resource ID.


Parameters

Name

Type

Data Type

Description


Name:

id

required

Type:

path

Data Type:

string

Description:

The id of the DiagnosticReport resource


Sample Value: shaLKJABRUQ5VDTSE7NNR2RJLCCRB4GJ6RSJW2NZMZVV4XZ3QW7CILQ



Name:

vid

required

Type:

path

Data Type:

integer

Description:

The version of the DiagnosticReport resource


Sample Value: 1



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

Specifies the language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US


Responses


application/json+fhir

200

Returns a DiagnosticReport resource matching the the requested resource ID and version id.


application/json+fhir

404

  • No DiagnosticReport resource found with the requested resource ID.
  • The version id specified does not exist for the DiagnosticReport resource with the requested resource ID.
  • The source providing the DiagnosticReport resource is not capable of returning history of DiagnosticReport resources.

Sample Request

curl -X GET "https://api.orionhealth.io/fhir/1.0/DiagnosticReport/shaLKJABRUQ5VDTSE7NNR2RJLCCRB4GJ6RSJW2NZMZVV4XZ3QW7CILQ/_history/1" \
-H 'Accept-Language: en-US' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <Access Token>'