This section describes a transaction needed for the routing of a Task.
Scope
This transaction supports querying HealthcareService resources by the Requesting System at the Resource Server.
This transaction is used to obtain information about available services and their associated routing context at the responding party, so that the requesting party can determine how a transfer, referral or notification should be directed.
This transaction is based on the IHE ITI-90 transaction (mCSD RESTful Query).
Use Case Roles
Actor: Sending GTK
Role: Requests the HealthcareService on behalf of a requesting user or system.
Actor: Receiving GTK
Role: Processes the request and responds with the requested resource.
Referenced Standards
Messages
For more technical specification, see the original document: Find Matching Care Services [ITI-90]
Request message
The requesting system queries the HealthcareService endpoint of the resource server to obtain information about available services and their routing context.
This transaction uses the FHIR search interaction.
GET [base]/HealthcareService?[parameters]
Query parameters
The requesting system may provide search parameters to filter the results. Examples include:
-
identifier – to retrieve a known HealthcareService
-
organization – to retrieve services for a specific organization
-
location – to retrieve services available at a specific location
-
endpoint – to retrieve services associated with a specific endpoint
-
type – to retrieve services by type (e.g. radiology, consultation)
The exact set of supported parameters is implementation dependent, but should align with FHIR and IHE mCSD where applicable.
The requesting system may provide the HTTP Accept header. Valid values for this header are:
-
application/fhir+json
-
application/fhir+xml
If none is set, the resource server will use its default.
Response message
The resource server returns the result of the query.
Success response
The payload of this message consists of a FHIR Bundle of type searchset, containing zero or more HealthcareService resources that match the query parameters.
Each HealthcareService may include or reference relevant routing context such as:
-
Organization
-
Location
-
Endpoint
-
ActivityDefinition (if applicable)
The media type of the HTTP body must be either:
-
application/fhir+json, or
-
application/fhir+xml
Based on the Accept header or default response content type.
Error handling
When an error occurs, the resource server SHALL return an OperationOutcome resource with details about the reason for the failure.
The HTTP response must be accompanied with an appropriate HTTP status code, including but not limited to:
-
200 OK – The request was successfully processed and a Bundle is returned (may be empty)
-
400 Bad Request – The request is malformed or contains invalid parameters
-
401 Unauthorized – Authorization is required for the interaction that was attempted
-
403 Forbidden – The client is not authorized to perform the requested operation
-
410 Gone – The requested resource is no longer available (when applicable)
-
500 Internal Server Error – The server encountered an unexpected condition
-
503 Service Unavailable – The server is temporarily unable to handle the request