CH EPR FHIR (R4)
4.0.1-ballot-2 - ballot Switzerland flag

CH EPR FHIR (R4), published by eHealth Suisse. This guide is not an authorized publication; it is the continuous build for version 4.0.1-ballot-2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/ehealthsuisse/ch-epr-fhir/ and changes regularly. See the Directory of published versions

Find Matching Care Services [ITI-90]

This section describes the national extension for the Swiss EPR to the Find Matching Care Services [ITI-90] transaction defined in the IUA profile published in the IHE IT Infrastructure Technical Framework Trial Implementation “Mobile Care Services Discovery”.

Scope

A primary system wants to search for healthcare organizations or professionals. It can perform an ITI-90 request with search parameters to get a list of matched resources.

It offers an alternative to the HPD ITI-58 transaction.

Actor Roles

Actor: Care Services Selective Consumer
Role: Requests a list of resources from the Care Services Selective Supplier based on query parameters.
Actor: Care Services Selective Supplier
Role: Accepts the query request and returns a list of matching resources.

Referenced Standards

  1. IHE ITI Mobile Care Services Discovery (mCSD) 3.8.0
  2. FHIR R4 API search
  3. EPR – Central Services, Interface Documentation v1.0.40

Messages

Interaction Diagram for [ITI-90]Care Services SelectiveConsumerCare Services SelectiveSupplierFind Matching Care Services RequestFind Matching Care Services ResponseRetrieve Care Services Resource RequestRetrieve Care Services Resource Response

Find Matching Care Services Request Message

The Find Matching Care Services message is a FHIR search operation on the mCSD Resources.

A Care Services Selective Consumer initiates a search request using HTTP GET or POST:

GET [base]/[resource]?[parameters] HTTP/1.1
Accept: application/fhir+json
traceparent: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-00

or

POST [base]/[resource]/_search HTTP/1.1
Accept: application/fhir+json
traceparent: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-00
Content-Type: application/x-www-form-urlencoded

param1=value&param2=value
Semantics

The Care Services Selective Supplier shall support the following search parameters for all resources:

Parameter Type Path Modifiers Description
_id token Resource.id    
_lastUpdated date Resource.meta.lastUpdated ge, le  
_format token N/A   Defines the expected response format
_sort   N/A   For sorting
_count number N/A   For paging

The Care Services Selective Supplier shall support the following search parameters on the Organization resource:

Parameter Type Path Modifiers Description
active token Organization.active    
identifier token Organization.identifier    
name string Organization.(name, alias) :contains, :exact  
partof reference Organization.partOf    
type token Organization.type    
_include=Organization.endpoint       It has no effect
_revInclude=Location:organization       It has no effect
_revInclude=OrganizationAffiliation:participating-organization       It has no effect
_revInclude=OrganizationAffiliation:primary-organization       It has no effect

The Care Services Selective Supplier shall support the following search parameters on the Practitioner resource:

Parameter Type Path Modifiers Description
active token Practitioner.active    
identifier token Practitioner.identifier    
name string Practitioner.name :contains, :exact A server defined search that may match any of the string fields in the HumanName
given string Practitioner.name.given :contains, :exact  
family string Practitioner.name.family :contains, :exact  

The Care Services Selective Supplier shall support the following search parameters on the PractitionerRole resource:

Parameter Type Path Modifiers Description
active token PractitionerRole.active    
location reference PractitionerRole.location   Will not yield any results
organization reference PractitionerRole.organization    
practitioner reference PractitionerRole.practitioner    
role token PractitionerRole.code    
service reference PractitionerRole.healthcareService   Will not yield any results
specialty token PractitionerRole.specialty    
_include=PractitionerRole:practitioner       Includes the referenced Practitioners in the response

The Care Services Selective Supplier may not support other resources (Endpoint, HealthcareService, Location and OrganizationAffiliation), as they are not used in this national extension. Any search query on these resources may not yield any result. Some example queries are given here:

  1. The following request searches for an active Organization whose name contains 'Medical': GET [base]/Organization?active=true&name:contains=Medical
  2. The following request searches for a Practitioner named 'Müller': GET [base]/Practitioner?family=Müller
  3. The following request searches for a Practitioner with the GLN '7601000102737': GET [base]/Practitioner?identifier=urn:oid:2.51.1.3|7601000102737
  4. The following request searches for all Practitioners working at the 'HUG' organization: GET [base]/PractitionerRole?organization=Organization/HUG&_include=PractitionerRole:practitioner

Find Matching Care Services Response Message

The response message is a Search Results Bundle that contains Organizations, Practitioners and PractitionerRoles. An example of response message is provided.

Retrieve Care Services Resource Message

The Retrieve Care Services Resource is conducted by executing an HTTP GET against the Care Services Selective Supplier's Care Services Resource URL, providing the resource id of the resource being retrieved. The target is formatted as: GET [base]/[resource]/[resourceId]. Some examples are

  1. Retrieve the Organization 'Spital X Dept. 3': GET [base]/Organization/SpitalXDept3.
  2. Retrieve the Practitioner 'Dr. Peter Pan': GET [base]/Practitioner/DrPeterPan.
  3. Retrieve the PractitionerRole 'Dr. Peter Pan at Praxis P': GET [base]/PractitionerRole/PeterPanPraxisP.

Retrieve Care Services Resource Response Message

The Care Services Selective Supplier shall respond to this query by sending a single Care Services Resource instance.

  • If the Care Services Selective Supplier finds the resource, HTTP 200 OK is returned with the resource (an Organization, Practitioner or PractitionerRole).
  • If the Care Services Selective Supplier does not find the resource, HTTP 404 Not Found is returned with an OperationOutcome resource.

CapabilityStatement Resource

The CapabilityStatement resource for the Care Services Selective Consumer is mCSD Care Services Selective Consumer.

The CapabilityStatement resource for the Care Services Selective Supplier is mCSD Care Services Selective Supplier.

Security Considerations

TLS SHALL be used. This national extension enforces authentication and authorization of access to the Care Services Selective Supplier using the IUA profile with basic access token. Consequently, the Find Matching Care Services [ITI-90] request must authorize using the [ITI-72] transaction of the IUA profile.

The actors SHALL support the traceparent header handling, as defined in Appendix: Trace Context.

Security Audit Considerations

Note that the same audit message is recorded by both Care Services Selective Supplier and Care Services Selective Consumer. The difference being the Audit Source element. Both sides record to show consistency between the message sent by the Consumer and the action taken at the Supplier.

The actors involved shall record audit events according to the CH Audit Event for [ITI-90] Care Services Selective Consumer & Supplier, for a Read operation or the CH Audit Event for [ITI-90] Care Services Selective Consumer & Supplier, for a Query operation.