International Patient Access
1.1.0 - STU1 International flag

International Patient Access, published by HL7 International / Patient Care. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-ipa/ and changes regularly. See the Directory of published versions

Resource Profile: IPA-Patient

Official URL: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-patient Version: 1.1.0
Standards status: Trial-use Computable Name: IPAPatient

Copyright/Legal: Used by permission of HL7 International all rights reserved Creative Commons License

Minimum expectations for a Patient resource when accessed via a International Patient Access API. This profile describes how applications fetch the Patient resource to check the patient identity and access basic demographics and other administrative information about the patient.

Mandatory and Must Support Data Elements

The following data elements must always be present (in other words, mandatory resource properties where the minimum cardinality is 1) or must be supported (Must Support definition). Servers cannot restrict access to mandatory elements when authorizing an application. However, servers may choose to provide additional information or may be required to do so by national or other profiles that apply to the server's context.

This specification is currently published as a Standard for Trial Use (STU). Feedback is welcome and may be submitted through the FHIR change tracker indicating "International Patient Access (FHIR)" as the specification. The publishers of the specification are seeking feedback on two elements in this Patient profile.

  1. Currently, the Patient.identifier element is identified as mandatory. The intent is that all servers must provide a unique patient identifier that can facilitate a federated approach to accessing patient information. Please provide any evidence for or against this decision.
  2. In the balloted version of this specification, the Patient.name element was identified as mandatory (meaning minimal cardinality of 1) and provided a rule that the use of the Data Absent Reason (DAR) extension was allowed. In this published version, Patient.name is not mandatory. It was expressed that having the minimal cardinality of 1 may not enable privacy preserving mechanisms, such as patients limiting client application access to their demographic information, including name, as part of the authorization process. Implementer feedback is requested on whether Patient.name should be a mandatory element.

Each Patient SHALL have:

  • a patient identifier (e.g. MRN)

Applications must also support:

* See guidance below

Profile Specific Implementation Rules and Guidance

During the Authorization process, the user and the Authorization service fixes the patient record to a single individual patient. For safety, client applications should specify the patient id when searching other resources.

The client application SHALL be capable of accessing the patient record using the following API call:

GET [url]/Patient/[id]

The client application MAY use these search parameters that servers are required to support to access the patient record:

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

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C 0..* Patient Information about an individual or animal receiving health care services
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
ipa-pat-4: If Patient.link is present, then Patient.active SHALL be present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier SOΣC 1..* Identifier An identifier for this patient
ele-1: All FHIR elements must have a @value or children
ipa-pat-1: At least one of Patient.identifier.system or Patient.identifier.type or Patient.identifier.assigner SHALL be present
ObligationsActor
SHALL:explain Server
SHALL:handle Client
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... value SOΣ 1..1 string The value that is unique within the system.
ele-1: All FHIR elements must have a @value or children
Example General: 123456
ObligationsActor
SHALL:populate-if-known Server
... name SOΣC 0..* HumanName A name associated with the patient
ele-1: All FHIR elements must have a @value or children
ipa-pat-2: Either Patient.name.given and/or Patient.name.family and/or Patient.name.text SHALL be present or a Data Absent Reason Extension SHALL be present.
ipa-pat-3: To be usable for a wide range of internationally available applications, the Patient.name.text SHOULD be present.
ObligationsActor
SHALL:populate-if-known Server
... gender SOΣ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.


ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHALL:handle Client
... birthDate SOΣ 0..1 date The date of birth for the individual
ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHALL:handle Client
... deceased[x] ?!Σ 0..1 Indicates if the individual is deceased or not
ele-1: All FHIR elements must have a @value or children
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... link ?!SOΣC 0..* BackboneElement Link to another patient resource that concerns the same actual person
ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHALL:handle Client
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
ele-1: All FHIR elements must have a @value or children
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ipa-pat-1errorPatient.identifierAt least one of Patient.identifier.system or Patient.identifier.type or Patient.identifier.assigner SHALL be present
: system.exists() or type.exists() or assigner.exists()
ipa-pat-2errorPatient.nameEither Patient.name.given and/or Patient.name.family and/or Patient.name.text SHALL be present or a Data Absent Reason Extension SHALL be present.
: (family.exists() or given.exists() or text.exists()) xor extension.where(url='http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()
ipa-pat-3best practicePatient.nameTo be usable for a wide range of internationally available applications, the Patient.name.text SHOULD be present.
: text.exists()
ipa-pat-4errorPatientIf Patient.link is present, then Patient.active SHALL be present
: Patient.link.exists() implies Patient.active.exists()

 

Other representations of profile: CSV, Excel, Schematron