Search loading...

API Hub

Explore and Make use of Nationally Defined Messaging APIs

 

UEC Digital Integration Programme | Select ServiceDefinition interaction

Select a ServiceDefinition interaction

Select ServiceDefinition Interaction

This action is performed by the Encounter Management System (EMS) in order to get a ServiceDefinition from a Clinical Decision Support System (CDSS).

When the CDSS publishes a ServiceDefinition, the ServiceDefinition will have elements which describe how the ServiceDefinition can be used, for example the ServiceDefinition.useContext element could carry patient gender, age group.
The description of where in the clinical process a ServiceDefinition sits is described in the ServiceDefinition.trigger. This element will hold all the data conditions which need to be satisfied for the ServiceDefinition to be chosen.

The ServiceDefinition.trigger will typically be defined through Observation resources which MUST be true in order for the ServiceDefinition to be suitable for evaluation. For a given CDSS, these will typically be aligned to the ServiceDefinition.dataRequirements of a prior ServiceDefinition.

Each CDSS SHOULD provide a ServiceDefinition where the trigger is NULL (i.e. no information is required).

During a given patient journey, there may be points where there is more than one ServiceDefinition available. Any one CDSS should avoid this situation, but if a provider has more than one CDSS available, there may be situations where more than one CDSS can provide an appropriate ServiceDefinition. In this case, it will be up to local providers on how to choose between the available ServiceDefinitions.

Request Headers

The following HTTP request headers are supported for this interaction:

Header Value Conformance
Accept The Accept header indicates the format of the response the client is able to understand, this will be one of the following application/fhir+json or application/fhir+xml. See the RESTful API Content types section. MAY
Authorization The Authorization header MUST carry a base64url encoded JSON web token. See the RESTful API Security section. MUST

Get ServiceDefinition

The EMS will select a preferred ServiceDefinition using chosen parameter(s).
The interaction is performed by the FHIR RESTful search interaction as shown:

Search Parameters and Responses

Detailed guidance relating to searching for FHIR resources can be viewed.
Two scenarios which may be used to search for a ServiceDefinition in the CDS context are outlined below:

Searching for a ServiceDefinition by _id

The search parameter _id refers to the logical id of the ServiceDefinition resource and would be used when the EMS already knows the _id of the required ServiceDefinition.
When the _id search parameter is used by the EMS it SHALL only be used as a single search parameter and SHALL not be used in conjunction with any other search parameter to form part of a combination search query with the exception of the _format parameter.
The _id parameter can be used as follows:

This search finds the ServiceDefinition resource with the given id (there can only be one resource for a given id).

Further details relating to the _id search parameter are available.

Search Response

Success

  • MUST return a 200 OK HTTP status code on successful execution of the interaction.
  • MUST return a Bundle of type searchset, containing either:
    • One ServiceDefinition resource or
    • A ‘0’ (zero) total value indicating no record was matched i.e. an empty Bundle.

Failure

The following errors can be triggered when performing this operation:

Searching for a ServiceDefinition using a named query

A second scenario would occur when an EMS needs to search for a ServiceDefinition which corresponds to selected search criteria. This would require a search using a customised search profile. Such advanced search operations of this type are specified by the _query parameter.
This parameter is used as follows:

The _query parameter will define additional named parameters to be used with the named query and these will be used in combination where criteria for all of them must be satisfied.
The recommended additional parameters for a ServiceDefinition are outlined below:

Name Type Description Conformance Path
status token The status of this service definition SHOULD ServiceDefinition.status
experimental token For testing purposes, not real usage SHOULD ServiceDefinition.
experimental
effectivePeriod date When the service definition is expected to be used SHOULD ServiceDefinition.
effectivePeriod
useContext.code token Type of context being specified SHOULD ServiceDefinition.
useContext.code
useContext.valueCodeableConcept token Value that defines the context SHOULD ServiceDefinition.useContext.
valueCodeableConcept
useContext.valueQuantity quantity Value that defines the context SHOULD ServiceDefinition.useContext.
valueQuantity
useContext.valueRange quantity Value that defines the context SHOULD ServiceDefinition.useContext.
valueRange
jurisdiction token Intended jurisdiction for service definition (if applicable) SHOULD ServiceDefinition.jurisdiction
trigger.type token The type of triggering event MUST ServiceDefinition.trigger.type
trigger.eventData.type token The type of the required data MUST ServiceDefinition.trigger.
eventData.type
trigger.eventData.profile uri The profile of the required data MUST ServiceDefinition.trigger.
eventData.profile

Servers will define their own named queries to meet the use case outlined above by using an OperationDefinition resource.

Search Response

Success

  • MUST return a 200 OK HTTP status code on successful execution of the interaction.
  • MUST return a Bundle of type searchset, containing either:
    • One or more ServiceDefinition resources
    • A ‘0’ (zero) total value indicating no record was matched i.e. an empty Bundle.

Failure

The following errors can be triggered when performing this operation:

ServiceDefinition: Implementation Guidance

View CDS implementation guidance for a ServiceDefinition.

Tags: rest fhir api

All content is available under the Open Government Licence v3.0, except where otherwise stated