International Patient Access
0.1.0 - draft

International Patient Access, published by HL7. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/grahamegrieve/ipa-candidate/ and changes regularly. See the Directory of published versions

StructureDefinition: IPAPatient

Minimum expectations for a Patient resource when accessed via a International Patient Access API

The official URL for this profile is:

http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-patient

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.

Example Usage Scenarios:

The patient record is fixed to a single individual patient by the user and the Authorization service record during the Authorization process. The client application can access the patient record using the following API call:

GET [url]/Patient

Servers are not required to support any additional search parameters, and clients SHOULD not expect servers to do so.

This search SHALL return a Bundle that contains one or more Patient records that all concern the same same patient. If more than one resource is returned, the Patient records SHALL use the Patient.link attribute to cross link the records, and there SHALL only be one Patient record with active = true.

Each Patient SHALL have:

Note that this implies that the user cannot restrict access to these properties when authorizing the application.

Applications must also support:

  • Birth date
  • Patient Links

Servers may choose to provide additional information, or may be required to do so by national or other additional profiles on patient that apply in the servers context.

Formal Views of Profile Content

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

This structure is derived from Patient

Summary

Mandatory: 6 elements
Must-Support: 8 elements

This structure is derived from Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*Patient
... identifier S1..*Identifier
.... system S1..1uri
.... value S1..1stringThe value that is unique within the system.
... active S1..1boolean
... name SI1..*HumanNameipa-8: Patient.name.given or Patient.name.family or both SHALL be present
... birthDate S0..1date
... link S0..1BackboneElement

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient I0..*PatientInformation about an individual or animal receiving health care services
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI1..*IdentifierAn identifier for this patient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type ΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣI1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣI1..1stringThe value that is unique within the system.
Example General: 123456
.... period ΣI0..1PeriodTime period when id is/was valid for use
.... assigner ΣI0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!SΣI1..1booleanWhether this patient's record is in active use
... name SΣI1..*HumanNameA name associated with the patient
ipa-8: Patient.name.given or Patient.name.family or both SHALL be present
... telecom ΣI0..*ContactPointA contact detail for the individual
... gender SΣI1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate SΣI0..1dateThe date of birth for the individual
... deceased[x] ?!ΣI0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address ΣI0..*AddressAn address for the individual
... maritalStatus I0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible)
... multipleBirth[x] I0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo I0..*AttachmentImage of the patient
... contact I0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
pat-1: SHALL at least contain a contact's details or a reference to an organization
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship I0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible)
.... name I0..1HumanNameA name associated with the contact person
.... telecom I0..*ContactPointA contact detail for the person
.... address I0..1AddressAddress for the contact person
.... gender I0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period I0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication I0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language I1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
.... preferred I0..1booleanLanguage preference indicator
... generalPractitioner I0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization ΣI0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!SΣI0..1BackboneElementLink to another patient resource that concerns the same actual person
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other ΣI1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type ΣI1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required)

doco Documentation for this format

This structure is derived from Patient

Summary

Mandatory: 6 elements
Must-Support: 8 elements

Differential View

This structure is derived from Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*Patient
... identifier S1..*Identifier
.... system S1..1uri
.... value S1..1stringThe value that is unique within the system.
... active S1..1boolean
... name SI1..*HumanNameipa-8: Patient.name.given or Patient.name.family or both SHALL be present
... birthDate S0..1date
... link S0..1BackboneElement

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient I0..*PatientInformation about an individual or animal receiving health care services
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI1..*IdentifierAn identifier for this patient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type ΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣI1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣI1..1stringThe value that is unique within the system.
Example General: 123456
.... period ΣI0..1PeriodTime period when id is/was valid for use
.... assigner ΣI0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!SΣI1..1booleanWhether this patient's record is in active use
... name SΣI1..*HumanNameA name associated with the patient
ipa-8: Patient.name.given or Patient.name.family or both SHALL be present
... telecom ΣI0..*ContactPointA contact detail for the individual
... gender SΣI1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate SΣI0..1dateThe date of birth for the individual
... deceased[x] ?!ΣI0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address ΣI0..*AddressAn address for the individual
... maritalStatus I0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible)
... multipleBirth[x] I0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo I0..*AttachmentImage of the patient
... contact I0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
pat-1: SHALL at least contain a contact's details or a reference to an organization
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship I0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible)
.... name I0..1HumanNameA name associated with the contact person
.... telecom I0..*ContactPointA contact detail for the person
.... address I0..1AddressAddress for the contact person
.... gender I0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period I0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication I0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language I1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
.... preferred I0..1booleanLanguage preference indicator
... generalPractitioner I0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization ΣI0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!SΣI0..1BackboneElementLink to another patient resource that concerns the same actual person
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other ΣI1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type ΣI1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required)

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Patient.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.identifier.userequiredIdentifierUse
Patient.identifier.typeextensibleIdentifier Type Codes
Patient.genderrequiredAdministrativeGender
Patient.maritalStatusextensibleMarital Status Codes
Patient.contact.relationshipextensiblePatientContactRelationship
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.link.typerequiredLinkType

Constraints

Constraints

IdPathDetailsRequirements
ipa-8Patient.namePatient.name.given or Patient.name.family or both SHALL be present
: family.exists() or given.exists()
pat-1Patient.contactSHALL at least contain a contact's details or a reference to an organization
: name.exists() or telecom.exists() or address.exists() or organization.exists()