This page is part of the International Patient Access (v1.0.0: STU 1) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/uv/ipa/CapabilityStatement/ipa-client | Version: 1.0.0 | |||
Active as of 2022-12-08 | Computable Name: InternationalPatientAccessClientAPI | |||
Copyright/Legal: Used by permission of HL7 International all rights reserved Creative Commons License |
This CapabilityStatement describes the basic rules for the International Patient Access client actor that initiates a data access request to and retrieves patient data from an IPA Responder. In addition, it lists the client conformance expectations for each resource type documented in IPA. These expectations include supported FHIR profiles, RESTful operations, and search parameters. International Patient Access clients define their capabilities by choosing from this list based on the resource types they need to access.
Raw OpenAPI-Swagger Definition file | Download
json
, SHOULD support xml
application/json-patch+json
Note to Implementers: FHIR Capabilities
Any FHIR capability may be 'allowed' by the system unless explicitly marked as "SHALL NOT". A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.
client
The IPA Client SHALL:
The IPA Client SHOULD:
- See the General Security Considerations section for requirements and recommendations.
transaction
interaction.batch
interaction.search-system
interaction.history-system
interaction.The summary table lists the resources that are part of this configuration, and for each resource it lists:
_include
_revinclude
Resource Type | Profile | R | S | U | C | Searches | _include | _revinclude | Operations |
---|---|---|---|---|---|---|---|---|---|
AllergyIntolerance | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-allergyintolerance | y | y | clinical-status, patient, patient+clinical-status | Provenance:target | ||||
Condition | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-condition Additional supported profiles: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-problem-list-item | y | y | category, clinical-status, verification-status, code, onset-date, patient, patient+clinical-status, patient+category, patient+category+clinical-status, patient+code, patient+onset-date | Provenance:target | ||||
DocumentReference | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-documentreference | y | y | _id, category, contenttype, date, period, status, type, patient, patient+category, patient+category+date, patient+type, patient+contenttype, patient+status, patient+type+date, patient+type+period | Provenance:target | $docref | |||
Immunization | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization | y | y | date, status, patient, patient+date, patient+status | Provenance:target | ||||
Medication | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medication | y | Provenance:target | ||||||
MedicationRequest | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest | y | y | category, code, authoredon, intent, status, patient, patient+intent, patient+intent+authoredon, patient+intent+status | MedicationRequest:medication | Provenance:target | |||
MedicationStatement | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationstatement | y | y | status, patient, patient+status | MedicationStatement:medication | Provenance:target | |||
Observation | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation Additional supported profiles: http://hl7.org/fhir/StructureDefinition/vitalsigns | y | y | category, code, date, status, patient, patient+category, patient+code, patient+category+date, patient+category+status, patient+code+date | Provenance:target | ||||
Patient | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-patient | y | y | _id, birthdate, family, gender, given, identifier, name, family+gender, birthdate+family, birthdate+name, gender+name | Provenance:target | ||||
Practitioner | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-practitioner | y | Provenance:target | ||||||
PractitionerRole | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-practitionerrole | y | PractitionerRole:endpoint , PractitionerRole:practitioner | Provenance:target |
resolves
read
, search-type
.If the client supports the AllergyIntolerance resource, the client SHALL support the IPA profile and the conformance expectations for the AllergyIntolerance resource.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both. |
MAY | clinical-status | token | active | inactive | resolved |
Conformance | Parameters | Types |
---|---|---|
SHOULD | patient+clinical-status | reference +token |
resolves
http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-problem-list-item
read
, search-type
.If the client supports the Condition resource, the client SHALL support the IPA profile and the conformance expectations for the Condition resource.
Client applications should be prepared to encounter codes they do not recognize and handle the records accordingly. Servers SHOULD populate Condition.code.coding.display and/or Condition.code.text so that clients can always at least display the condition even if they do not know the codes that are used. Clients should be careful making use of the
code
search parameter given that the codes used vary so much.Safety Issues:
- Clients SHALL not treat all conditions as if they are part of the patient's current problem list
- Note that some Condition resources may not have these status codes - this is usually due to poor record keeping reflected in legacy data
- Servers SHOULD avoid leaving these status codes missing
- Clients SHALL pay attention to the
clinicalStatus
andverificationStatus
and display and process them correctly * Clients SHALL still work safely when the server does not support all the search parameters listed here.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both. |
MAY | category | token | The category of the condition |
MAY | clinical-status | token | The clinical status of the condition |
MAY | verification-status | token | The verification status of the condition |
MAY | code | token | Code for the condition |
MAY | onset-date | date | Date of onset for the condition |
Conformance | Parameters | Types |
---|---|---|
SHOULD | patient+clinical-status | reference +token |
SHOULD | patient+category | reference +token |
SHOULD | patient+category+clinical-status | reference +token +token |
SHOULD | patient+code | reference +token |
SHOULD | patient+onset-date | reference +date |
resolves
read
, search-type
.If the client supports the DocumentReference resource, the client SHALL support the IPA profile and the conformance expectations for the DocumentReference resource.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both. |
SHOULD | _id | token | |
MAY | category | token | Categorization of document |
MAY | contenttype | token | Mime type of the content, may include charset |
MAY | date | date | When this document reference was created |
MAY | period | date | Time of service that is being documented |
MAY | status | token | current | superseded | entered-in-error |
MAY | type | token | Kind of document (LOINC if possible) |
Conformance | Parameters | Types |
---|---|---|
SHOULD | patient+category | reference +token |
SHOULD | patient+category+date | reference +token +date |
SHOULD | patient+type | reference +token |
SHOULD | patient+contenttype | reference +token |
SHOULD | patient+status | reference +token |
SHOULD | patient+type+date | reference +token +date |
SHOULD | patient+type+period | reference +token +date |
Conformance | Operation | Documentation |
---|---|---|
SHOULD | $docref | A client SHOULD be capable of transacting a $docref operation and capable of accessing the document using the using the link provided in the |
resolves
read
, search-type
.If the client supports the Immunization resource, the client SHALL support the IPA profile and the conformance expectations for the Immunization resource.
resolves
read
.If the client supports the the MedicationStatement or MedicationRequest resource, the client SHALL support the IPA profile and the conformance expectations for the Medication resource.
resolves
read
, search-type
.If the client supports the MedicationRequest resource, the client SHALL support the IPA profile and the conformance expectations for the MedicationStatement, MedicationRequest and Medication resource.
Clients SHALL query for both MedicationStatement and MedicationRequest when fetching patient Medication information.
The MedicationRequest resources can represent a medication using either a code or refer to the Medication resource. When referencing Medication, the resource may be contained or an external resource. The server application MAY choose any one way or more than one method, but if an external reference to Medication is used, the server SHALL support the
_include
parameter for searching this element. The client application SHALL support all methods. For example, A server SHALL be capable of returning all medications for a patient using one of or both:
GET /MedicationStatement?patient=[id]
GET /MedicationStatement?patient=[id]&_include=MedicationStatement:medication
When representing a prescribed medication, servers SHOULD use codings at the level of a clinical drug rather than ingredient or dose form (e.g. "loratadine 10mg oral tablet", rather than a bare ingredient like "loratadine" or a dose form like "loratadine oral tablet").
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both. |
SHOULD | category | token | Returns prescriptions with different categories |
SHOULD | code | token | Return prescriptions of this medication code |
MAY | authoredon | date | Returns prescriptions written on this date |
MAY | intent | token | Return prescriptions with this encounter identifier |
MAY | status | token | Status of the prescription |
resolves
read
, search-type
.If the client supports the MedicationStatement resource, the client SHALL support the IPA profile and the conformance expectations for the MedicationStatement, MedicationRequest and Medication resource.
Clients SHALL query for both MedicationStatement and MedicationRequest when fetching patient Medication information.
The MedicationStatement resources can represent a medication using either a code or refer to the Medication resource. When referencing Medication, the resource may be contained or an external resource. The server application MAY choose any one way or more than one method, but if an external reference to Medication is used, the server SHALL support the
_include
parameter for searching this element. The client application SHALL support all methods.For example, A server SHALL be capable of returning all medications for a patient using one of or both:
GET /MedicationStatement?patient=[id]
GET/MedicationStatement?patient=[id]&_include=MedicationStatement:medication
resolves
read
, search-type
.If the client supports the Observation resource, the client SHALL support the IPA profile and the conformance expectations for the Observation resource.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both. |
MAY | category | token | The classification of the type of observation |
MAY | code | token | The code of the observation type |
MAY | date | date | Obtained date/time. If the obtained element is a period, a date that falls in the period |
MAY | status | token | The status of the observation |
resolves
read
, search-type
.Client applications SHALL be able to access the patient record using the following API call:
GET [url]/Patient/[id]
Client application MAY use these search parameters that servers are required to support to access the patient record:
_id
identifier
Servers are not required to support any additional search parameters, and clients SHOULD not expect servers to do so.
Additional rules and guidance for supporting
Patient.link
:
- The server:
- SHALL have no more than one Patient with a status of active = "true" from the server being queried
- MAY include inactive patients on the same server
- MAY include inactive or active patients from a different server
- When returning a search Bundle that contains more than one Patient record for the same patient, the Patient record(s) SHALL use the
Patient.link
attribute to cross-link the Patient resources.- The client:
- SHALL be able to follow the link(s) to the other Patient resource(s) and understand the direction of the link (in other words, which Patient is linked to which other Patient)
- SHALL understand the
Patient.link.type
code which defines the type of link between this Patient resource and another Patient resource- SHALL be aware of the linked Patient
active
flag and that inactive patients may have relevant information
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHOULD | _id | token | |
SHOULD | birthdate | date | A client SHALL provide a value precise to the day. A server SHALL support a value a value precise to the day. |
SHOULD | family | string | |
SHOULD | gender | token | The client SHALL provide at least a code value and MAY provide both the system and code values. The server SHALL support both. |
SHOULD | given | string | |
SHOULD | identifier | token | The client SHALL provide both the system and code values. The server SHALL NOT support only code values. |
SHOULD | name | string |
resolves
read
.If the client supports the Practitioner resource, the client SHALL support the IPA profile and the conformance expectations for the Practitioner resource.
resolves
read
.If the client supports the PractitionerRole resource, the client SHALL support the IPA profile and the conformance expectations for the PractitionerRole resource.