CH EPR FHIR (R4)
5.0.0-ballot-ci-build - ci-build
CH EPR FHIR (R4), published by eHealth Suisse. This guide is not an authorized publication; it is the continuous build for version 5.0.0-ballot-ci-build 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
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”.
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: Query Client
Role: Requests a list of resources from the Directory based on query parameters.
Actor: Directory
Role: Accepts the query request and returns a list of matching resources.
The Find Matching Care Services message is a FHIR search operation on the mCSD Resources.
A Query Client 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¶m2=value
The Directory 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 Directory 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 Directory 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 Directory 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 Directory 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:
GET [base]/Organization?active=true&name:contains=Medical
GET [base]/Practitioner?family=Müller
GET [base]/Practitioner?identifier=urn:oid:2.51.1.3|7601000102737
GET [base]/PractitionerRole?organization=Organization/HUG&_include=PractitionerRole:practitioner
The response message is a Search Results Bundle that contains Organizations, Practitioners and PractitionerRoles. An example of response message is provided.
The Retrieve Care Services Resource is conducted by executing an HTTP GET against the Directory'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
GET [base]/Organization/SpitalXDept3
.GET [base]/Practitioner/DrPeterPan
.GET [base]/PractitionerRole/PeterPanPraxisP
.The Directory shall respond to this query by sending a single Care Services Resource instance.
HTTP 200 OK
is returned with the resource (an
Organization,
Practitioner or
PractitionerRole).HTTP 404 Not Found
is returned with an
OperationOutcome resource.The CapabilityStatement resource for the Query Client is mCSD Query Client. TODO
The CapabilityStatement resource for the Directory is mCSD Directory. TODO
The transaction SHALL be secured by Transport Layer Security (TLS) encryption and server authentication with server certificates.
The transaction SHALL use client authentication and authorization using one of the following strategies:
The actors SHALL support the traceparent header handling, as defined in Appendix: Trace Context.
Note that the same audit message is recorded by both Directory and Query Client. The difference being the Audit Source element. Both sides record to show consistency between the message sent by the Query Client and the action taken at the Directory.
The actors involved shall record audit events according to the CH Audit Event for [ITI-90] Query Client & Directory, for a Read operation or the CH Audit Event for [ITI-90] Query Client & Directory, for a Query operation.