CH EPR mHealth (R4)
4.0.0-ci-build - DSTU3
CH EPR mHealth (R4), published by eHealth Suisse. This guide is not an authorized publication; it is the continuous build for version 4.0.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/qligier/ch-epr-mhealth/ 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: 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.
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¶m2=value
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:
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 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
GET [base]/Organization/SpitalXDept3
.GET [base]/Practitioner/DrPeterPan
.GET [base]/PractitionerRole/PeterPanPraxisP
.The Care Services Selective Supplier 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 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.
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 traceparent
header is required, as described in Trace Context header.
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 Audit Event for Find Matching Care Services for Read by the Care Services Selective Supplier and Consumer or the Audit Event for Find Matching Care Services for Query by the Care Services Selective Supplier and Consumer.