FHIR DiagnosticReport

Base Path: /fhir/4.0/DiagnosticReport

Version: 1.2.0

This API allows you to:

  • Retrieve all DiagnosticReport resources that match a search criteria for a given patient.
  • Retrieve summaries of all DiagnosticReport resources that match a search criteria for a given patient.
  • Retrieve a specific DiagnosticReport resource based on its FHIR ID.
  • Retrieve the history of a DiagnosticReport resource based on its FHIR ID.
  • Retrieve a specific version of a DiagnosticReport resource based on its FHIR ID and Version ID.
  • Supports exporting resources via FHIR Bulk.

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 R4 release of the FHIR standard, for more information on this API refer to the official FHIR documentation.


Methods

Retrieve Diagnostic Reports for a Patient

GET /fhir/4.0/DiagnosticReport/

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


Parameters

Name

Type

Data Type

Description


Name:

subject.identifier

required

Type:

query

Data Type:

string

Description:

Defines the patient who this diagnostic report was created for. This query parameter must be included to define the patient for which the DiagnosticReport resources are returned.

Both a {namespace} and an {identifier} must be provided in the query. Alternatively, you can use patient.identifer instead of subject.identifer.


Sample Value: ORION|AAA-00315-7



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.

Note: You must either define the patient.identifier or patient, not both.


Sample Value: ORION|AAA-00315-7



Name:

patient

required

Type:

query

Data Type:

string

Description:

The patient resource id.

Note: You must either define the patient.identifier or patient, not both.


Sample Value: IFAUCQJNGAYTENBNHBAE6USJJ5HA



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://www.ama-assn.org/go/cpt|85018



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|IMM



Name:

date

optional

Type:

query

Data Type:

array

Description:

Filters the diagnostic reports to those with an effectiveDateTime or effectivePeriod on, before, or after a specific date, date-time, or date range. The supported prefixes are gt, ge, lt, le and eq. 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=gt{dateTimeValue}
  • /DiagnosticReport?patient.identifier={patientNamespace}|{patientIdentifier}&date=ge{dateTimeValue}&date=le{dateTimeValue}


Sample Value: ge2012-01-01T01:00:00+13:00



Name:

-include-sources

optional

Type:

query

Data Type:

array

Description:

The -include-sources parameter defines which sources should be queried for the results.

Note: Either -include-sources or -exclude-sources parameter can be specified, not both. If -include-sources is specified, ONLY the specified sources will be searched. Note that the sources specified should be enabled.


Sample Value: Orion%20Health%E2%84%A2%20R4%20HL7V2%20CDR%20DiagnosticReports



Name:

-exclude-sources

optional

Type:

query

Data Type:

array

Description:

The -exclude-sources parameter defines which sources should NOT be queried for the results.

Note: Either -include-sources or -exclude-sources parameter can be specified, not both. If -exclude-sources is specified, the specified sources will NOT be searched. Note that the sources specified should be enabled..


Sample Value: Orion%20Health%E2%84%A2%20R4%20HL7V2%20CDR%20DiagnosticReports



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:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header.

Possible values are json and xml. The default value is xml.


Sample Value: json



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response.

Possible values are application/json and application/xml. The default value is application/xml.


Sample Value: application/xml


Responses


application/json+fhir

200

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


application/json+fhir

400

This response code is returned when the query is invalid e.g. an invalid parameter or a partial token in the search.

Sample Requests

Retrieve specific Diagnostic Reports for a Patient identified by a patient identifier
curl -X GET "https://developer-solution/fhir/4.0/DiagnosticReport/?patient.identifier=ORION%7CAAA-00315-7&date=ge2012-01-01T01:00:00+13:00" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8='

Retrieve Diagnostic Reports for a Patient

POST /fhir/4.0/DiagnosticReport/_search

This method returns all diagnostic reports for the patient identified by patient.identifier or patient. 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:

subject.identifier

required

Type:

query

Data Type:

string

Description:

Defines the patient who this diagnostic report was created for. This query parameter must be included to define the patient for which the DiagnosticReport resources are returned.

Both a {namespace} and an {identifier} must be provided in the query. Alternatively, you can use patient.identifer instead of subject.identifer.


Sample Value: ORION|AAA-00315-7



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.

Note: You must either define the patient.identifier or patient, not both.


Sample Value: ORION|AAAA-0124-8



Name:

patient

required

Type:

formData

Data Type:

string

Description:

The patient resource id.

Note: You must either define the patient.identifier or patient, not both.


Sample Value: IFAUCQJNGAYTENBNHBAE6USJJ5HA



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://www.ama-assn.org/go/cpt|85014



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|IMM



Name:

date

optional

Type:

formData

Data Type:

array

Description:

Filters the diagnostic reports to those with an effectiveDateTime or effectivePeriod on, before, or after a specific date, date-time, or date range. The supported prefixes are gt, ge, lt, le and eq. 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: lt2012-01-01T01:00:00+13:00



Name:

-include-sources

optional

Type:

formData

Data Type:

array

Description:

The -include-sources parameter defines which sources should be queried for the results.

Note: Either -include-sources or -exclude-sources parameter can be specified, not both. If -include-sources is specified, ONLY the specified sources will be searched. Note that the sources specified should be enabled.


Sample Value: Orion%20Health%E2%84%A2%20R4%20HL7V2%20CDR%20DiagnosticReports



Name:

-exclude-sources

optional

Type:

formData

Data Type:

array

Description:

The -exclude-sources parameter defines which sources should NOT be queried for the results.

Note: Either -include-sources or -exclude-sources parameter can be specified, not both. If -exclude-sources is specified, the specified sources will NOT be searched. Note that the sources specified should be enabled..


Sample Value: Orion%20Health%E2%84%A2%20R4%20HL7V2%20CDR%20DiagnosticReports



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:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header.

Possible values are json and xml. The default value is xml.


Sample Value: json



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response.

Possible values are application/json and application/xml. The default value is application/xml.


Sample Value: application/xml


Responses


application/json+fhir

200

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


application/json+fhir

400

This response code is returned when the query is invalid e.g. an invalid parameter or a partial token in the search.

Sample Requests

Retrieve Diagnostic Reports for a Patient identified by a patient resource id
curl -X POST "https://developer-solution/fhir/4.0/DiagnosticReport/_search" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8=' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'patient=IFAUCQJNGAYTENBNHBAE6USJJ5HA' \
-d 'code=http://www.ama-assn.org/go/cpt%7C85014'

Retrieve a Specific DiagnosticReport Resource by its FHIR ID

GET /fhir/4.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: shaJRBIXBFUEBY57GNFP6VXO2EJUZVNZQXLOQFUQJBP6WOZPJDFI3VQ



Name:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header.

Possible values are json and xml. The default value is xml.


Sample Value: json



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response.

Possible values are application/json and application/xml. The default value is application/xml.


Sample Value: application/xml


Responses


application/json+fhir

200

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


application/json+fhir

400

This code is returned when the FHIR ID is empty or not valid.


application/json+fhir

404

No DiagnosticReport resource found with the requested resource ID.

Sample Requests

Retrieve Diagnostic Reports identified by a resource id
curl -X GET "https://developer-solution/fhir/4.0/DiagnosticReport/shaJRBIXBFUEBY57GNFP6VXO2EJUZVNZQXLOQFUQJBP6WOZPJDFI3VQ" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8='

Retrieve History for a DiagnosticReport Resource by its FHIR ID

GET /fhir/4.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: shaFUINGXWEMSMKNXPS2WZRNZIKPZFQLBOPGDNWQG3PQI63B6XOT2PA



Name:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header.

Possible values are json and xml. The default value is xml.


Sample Value: json



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response.

Possible values are application/json and application/xml. The default value is application/xml.


Sample Value: application/xml


Responses


application/json+fhir

200

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


application/json+fhir

404

  • No DiagnosticReport resource found with the requested resource ID.
  • The source providing the DiagnosticReport resource is not capable of returning history of DiagnosticReport resources.

Sample Requests

Retrieve the history of Diagnostic Reports identified by a resource id
curl -X GET "https://developer-solution/fhir/4.0/DiagnosticReport/shaFUINGXWEMSMKNXPS2WZRNZIKPZFQLBOPGDNWQG3PQI63B6XOT2PA/_history" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8='

Retrieve a DiagnosticReport Resource by FHIR ID and Version ID

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

Retrieves the specified version of a DiagnosticReport with the given FHIR ID. The data returned is subject to privacy settings. DiagnosticReport resource can be retrieved from multiple data sources.


Parameters

Name

Type

Data Type

Description


Name:

id

required

Type:

path

Data Type:

string

Description:

The id of the DiagnosticReport resource


Sample Value: shaFUINGXWEMSMKNXPS2WZRNZIKPZFQLBOPGDNWQG3PQI63B6XOT2PA



Name:

vid

required

Type:

path

Data Type:

integer

Description:

The version of the DiagnosticReport resource


Sample Value: 1



Name:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header.

Possible values are json and xml. The default value is xml.


Sample Value: json



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response.

Possible values are application/json and application/xml. The default value is application/xml.


Sample Value: application/xml


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 Requests

Retrieve the history of Diagnostic Reports identified by a resource id
curl -X GET "https://developer-solution/fhir/4.0/DiagnosticReport/shaFUINGXWEMSMKNXPS2WZRNZIKPZFQLBOPGDNWQG3PQI63B6XOT2PA/_history/1" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8='