Canadian Core
0.1.0 - CI Build

Canadian Core, published by Canadian FHIR Implementor Working Group. 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/scratch-fhir-profiles/CA-Core/ and changes regularly. See the Directory of published versions

Resource Profile: Patient Profile

Defining URL:http://hl7.org/fhir/ca/core/StructureDefinition/profile-patient
Version:0.1.0
Name:PatientProfile
Title:Patient Profile
Status:Draft as of 2020-09-29
Definition:

Proposed constraints and extensions on the Patient Resource

Publisher:Canadian FHIR Implementor Working Group
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/ca/core/StructureDefinition/profile-patient

CA Baseline Patient Profile

This Patient profile sets minimum expectations for the Patient resource to record, search and fetch demographics and other administrative information about an individual receiving care or other health-related services.

Since not all concepts are included within the base FHIR Patient resource, this profile defines localization concepts for use in an Canadian context.

Mandatory Data Elements

All elements or attributes defined in FHIR have cardinality as part of their definition - a minimum number of required appearances and a maximum number.

Most elements in FHIR specification have a minimum cardinality of 0, which means that they may be missing from a resource when it is exchanged between systems.

In this Canadian Baseline Patient Profile all elements are optional, i.e., there is no element with a minimum cardinality of 1. However, some optional elements (e.g., identifier) have required components that MUST be present if that optional element is provided.

Data Absent Reason

In situations where the minimum cardinality of an element or attribute is 1 and information is missing and the Responder knows the precise reason for the absence of data, Responders SHALL send the reason for the missing information using values (such as NullFlavor) from the value set where they exist or using the DataAbsentReason extension.

Must Support Data Elements

Some elements are labeled as MustSupport meaning that implementations that produce or consume resources SHALL provide “support” for the element in some meaningful way (see Must Support definition).

Following elements are marked as Must Support in the Canadian Patient profile to aid record matching in databases with many pediatric records.

Must Support elements:

  • an identifier
  • a patient name
  • contact detail (e.g. a telephone number or an email address)
  • a birth date

Usage Note

Some of the typical use cases where the Patient profile may be used:

  • Enterprise-wide information systems that manage patient registration and services ordering
  • Local or cross-jurisdictional systems to query information about patients whose demographics data match data provided in the query parameters
  • Synchronization of patient information between multiple ADT systems employed by healthcare enterprises

Formal Views of Profile Content

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

This structure is derived from Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient S0..*PatientPatient Profile
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-aboriginalidentitygroup 0..1CodingExtension: Aboriginal Identity Group
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-aboriginalidentitygroup
Binding: Aboriginal Identity Group (preferred): One of aboriginal identity codes

... ext-aboriginalidentityindicator 0..1CodingExtension: Aboriginal Identity Indicator
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-aboriginalidentityindicator
Binding: Aboriginal Identity Indicator (preferred): One of self-reported codes identity as an aboriginal person

... ext-ethnicity 0..1CodingExtension: ethnicity extension
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-ethnicity
Binding: EthnicityCode (preferred): One of self-reported ethnic group codes representing the ethnicity concept and should not be confused with citizenship or nationality.

... identifier 0..*(Slice Definition)An identifier for this patient
Slice: Unordered, Open by pattern:type
.... identifier:All Slices Content/Rules for all slices
..... type S1..1CodeableConceptDescription of identifier
Example Pattern: {"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203","code":"MR"}]}
..... system S1..1uriThe namespace for the identifier value
..... value S1..1stringThe value that is unique within the system.
.... identifier:PPN 0..*IdentifierCanada Passport Number
..... type 1..1CodeableConceptPassport number identifier type
Fixed Value: As shown (Passport number)
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PPN
..... system 1..1uriA Canadian passport number Naming System from the Canadian URI Registry
Fixed Value: https://fhir.infoway-inforoute.ca/NamingSystem/ca-passport-number
..... value 1..1stringA Canadian passport number
.... identifier:JPID 0..*IdentifierJurisdictional Person Identification
..... type 1..1CodeableConceptJurisdictional Person Identification
Fixed Value: As shown
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JPID
..... system 1..1uriJurisdictional Person identification Naming System from the Canadian URI Registry
..... value 1..1stringJurisdictional Person identification number
.... identifier:JHN 0..*IdentifierJurisdictional Health Number
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... ext-identifierversion 0..*stringHealth Number Version Code
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-identifierversion
..... type S1..1CodeableConceptDescription of identifier
Fixed Value: As shown (Jurisdictional health number)
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JHN
..... system 1..1uriA Health Number Naming System from the Canadian URI Registry
..... value 1..1stringThe value that is unique
... name SI0..*HumanNameA name associated with the patient
ca-core-name: Patient.name.given or Patient.name.family or both SHALL be present
.... family 0..1stringFamily name (often called 'Surname')
.... given 0..*stringGiven names (not always 'first'). Includes middle names
... telecom S0..*ContactPointA contact detail for the individual
.... system 1..1codephone | fax | email | pager | url | sms | other
.... value 1..1stringThe actual contact point details
... birthDate S0..1dateThe date of birth for the individual
... address 0..*AddressAn address for the individual
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... iso21090-preferred 0..1booleanHL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred
.... ext-nofixedaddress 0..1booleanNo Fixed Address indicator
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-nofixedaddress

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient S0..*PatientPatient Profile
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-aboriginalidentitygroup 0..1CodingExtension: Aboriginal Identity Group
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-aboriginalidentitygroup
Binding: Aboriginal Identity Group (preferred): One of aboriginal identity codes


... ext-aboriginalidentityindicator 0..1CodingExtension: Aboriginal Identity Indicator
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-aboriginalidentityindicator
Binding: Aboriginal Identity Indicator (preferred): One of self-reported codes identity as an aboriginal person


... ext-patientbirthsex 0..1CodingExtension: Sex at Birth
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-patientbirthsex
Binding: Birth Sex (example): Code for sex assigned at birth


... ext-ethnicity 0..1CodingExtension: ethnicity extension
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-ethnicity
Binding: EthnicityCode (preferred): One of self-reported ethnic group codes representing the ethnicity concept and should not be confused with citizenship or nationality.


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*(Slice Definition)An identifier for this patient
Slice: Unordered, Open by pattern:type
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Example Pattern: {"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203","code":"MR"}]}
..... system SΣ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value SΣ1..1stringThe value that is unique within the system.
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:PPN Σ0..*IdentifierCanada Passport Number
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ1..1CodeableConceptPassport number identifier type
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Fixed Value: As shown (Passport number)
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0stringUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PPN
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... system Σ1..1uriA Canadian passport number Naming System from the Canadian URI Registry
Fixed Value: https://fhir.infoway-inforoute.ca/NamingSystem/ca-passport-number
..... value Σ1..1stringA Canadian passport number
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:JPID Σ0..*IdentifierJurisdictional Person Identification
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ1..1CodeableConceptJurisdictional Person Identification
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Fixed Value: As shown
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0stringUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JPID
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... system Σ1..1uriJurisdictional Person identification Naming System from the Canadian URI Registry
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringJurisdictional Person identification number
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:JHN Σ0..*IdentifierJurisdictional Health Number
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... ext-identifierversion 0..*stringHealth Number Version Code
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-identifierversion
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Fixed Value: As shown (Jurisdictional health number)
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0stringUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JHN
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... system Σ1..1uriA Health Number Naming System from the Canadian URI Registry
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name SΣI0..*HumanNameA name associated with the patient
ca-core-name: Patient.name.given or Patient.name.family or both SHALL be present
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... text Σ0..1stringText representation of the full name
.... family Σ0..1stringFamily name (often called 'Surname')
.... given Σ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ0..1PeriodTime period when name was/is in use
... telecom SΣ0..*ContactPointA contact detail for the individual
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value Σ1..1stringThe actual contact point details
.... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period Σ0..1PeriodTime period when the contact point was/is in use
... gender Σ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣ0..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAn address for the individual
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... iso21090-preferred 0..1booleanHL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred
.... ext-nofixedaddress 0..1booleanNo Fixed Address indicator
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-nofixedaddress
.... use ?!Σ0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ0..1codepostal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ0..1stringText representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line Σ0..*stringStreet name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city Σ0..1stringName of city, town etc.
Example General: Erewhon
.... district Σ0..1stringDistrict name (aka county)
Example General: Madison
.... state Σ0..1stringSub-unit of country (abbreviations ok)
.... postalCode Σ0..1stringPostal code for area
Example General: 9132
.... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ0..1PeriodTime period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible): The domestic partnership status of a person.

... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*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 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..*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 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to another patient resource that concerns the same actual person
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientPatient Profile
... identifier Σ0..*(Slice Definition)An identifier for this patient
Slice: Unordered, Open by pattern:type
.... identifier:All Slices Content/Rules for all slices
..... type Σ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriThe namespace for the identifier value
..... value Σ1..1stringThe value that is unique within the system.
.... identifier:JHN Σ0..*IdentifierJurisdictional Health Number
..... type Σ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Fixed Value: As shown (Jurisdictional health number)
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0stringUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JHN
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
... name ΣI0..*HumanNameA name associated with the patient
ca-core-name: Patient.name.given or Patient.name.family or both SHALL be present
... telecom Σ0..*ContactPointA contact detail for the individual

doco Documentation for this format

Differential View

This structure is derived from Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient S0..*PatientPatient Profile
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-aboriginalidentitygroup 0..1CodingExtension: Aboriginal Identity Group
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-aboriginalidentitygroup
Binding: Aboriginal Identity Group (preferred): One of aboriginal identity codes

... ext-aboriginalidentityindicator 0..1CodingExtension: Aboriginal Identity Indicator
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-aboriginalidentityindicator
Binding: Aboriginal Identity Indicator (preferred): One of self-reported codes identity as an aboriginal person

... ext-ethnicity 0..1CodingExtension: ethnicity extension
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-ethnicity
Binding: EthnicityCode (preferred): One of self-reported ethnic group codes representing the ethnicity concept and should not be confused with citizenship or nationality.

... identifier 0..*(Slice Definition)An identifier for this patient
Slice: Unordered, Open by pattern:type
.... identifier:All Slices Content/Rules for all slices
..... type S1..1CodeableConceptDescription of identifier
Example Pattern: {"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203","code":"MR"}]}
..... system S1..1uriThe namespace for the identifier value
..... value S1..1stringThe value that is unique within the system.
.... identifier:PPN 0..*IdentifierCanada Passport Number
..... type 1..1CodeableConceptPassport number identifier type
Fixed Value: As shown (Passport number)
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PPN
..... system 1..1uriA Canadian passport number Naming System from the Canadian URI Registry
Fixed Value: https://fhir.infoway-inforoute.ca/NamingSystem/ca-passport-number
..... value 1..1stringA Canadian passport number
.... identifier:JPID 0..*IdentifierJurisdictional Person Identification
..... type 1..1CodeableConceptJurisdictional Person Identification
Fixed Value: As shown
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JPID
..... system 1..1uriJurisdictional Person identification Naming System from the Canadian URI Registry
..... value 1..1stringJurisdictional Person identification number
.... identifier:JHN 0..*IdentifierJurisdictional Health Number
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... ext-identifierversion 0..*stringHealth Number Version Code
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-identifierversion
..... type S1..1CodeableConceptDescription of identifier
Fixed Value: As shown (Jurisdictional health number)
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JHN
..... system 1..1uriA Health Number Naming System from the Canadian URI Registry
..... value 1..1stringThe value that is unique
... name SI0..*HumanNameA name associated with the patient
ca-core-name: Patient.name.given or Patient.name.family or both SHALL be present
.... family 0..1stringFamily name (often called 'Surname')
.... given 0..*stringGiven names (not always 'first'). Includes middle names
... telecom S0..*ContactPointA contact detail for the individual
.... system 1..1codephone | fax | email | pager | url | sms | other
.... value 1..1stringThe actual contact point details
... birthDate S0..1dateThe date of birth for the individual
... address 0..*AddressAn address for the individual
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... iso21090-preferred 0..1booleanHL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred
.... ext-nofixedaddress 0..1booleanNo Fixed Address indicator
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-nofixedaddress

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient S0..*PatientPatient Profile
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-aboriginalidentitygroup 0..1CodingExtension: Aboriginal Identity Group
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-aboriginalidentitygroup
Binding: Aboriginal Identity Group (preferred): One of aboriginal identity codes


... ext-aboriginalidentityindicator 0..1CodingExtension: Aboriginal Identity Indicator
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-aboriginalidentityindicator
Binding: Aboriginal Identity Indicator (preferred): One of self-reported codes identity as an aboriginal person


... ext-patientbirthsex 0..1CodingExtension: Sex at Birth
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-patientbirthsex
Binding: Birth Sex (example): Code for sex assigned at birth


... ext-ethnicity 0..1CodingExtension: ethnicity extension
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-ethnicity
Binding: EthnicityCode (preferred): One of self-reported ethnic group codes representing the ethnicity concept and should not be confused with citizenship or nationality.


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*(Slice Definition)An identifier for this patient
Slice: Unordered, Open by pattern:type
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Example Pattern: {"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203","code":"MR"}]}
..... system SΣ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value SΣ1..1stringThe value that is unique within the system.
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:PPN Σ0..*IdentifierCanada Passport Number
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ1..1CodeableConceptPassport number identifier type
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Fixed Value: As shown (Passport number)
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0stringUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PPN
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... system Σ1..1uriA Canadian passport number Naming System from the Canadian URI Registry
Fixed Value: https://fhir.infoway-inforoute.ca/NamingSystem/ca-passport-number
..... value Σ1..1stringA Canadian passport number
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:JPID Σ0..*IdentifierJurisdictional Person Identification
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ1..1CodeableConceptJurisdictional Person Identification
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Fixed Value: As shown
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0stringUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JPID
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... system Σ1..1uriJurisdictional Person identification Naming System from the Canadian URI Registry
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringJurisdictional Person identification number
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:JHN Σ0..*IdentifierJurisdictional Health Number
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... ext-identifierversion 0..*stringHealth Number Version Code
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-identifierversion
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


Fixed Value: As shown (Jurisdictional health number)
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0stringUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: JHN
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... system Σ1..1uriA Health Number Naming System from the Canadian URI Registry
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name SΣI0..*HumanNameA name associated with the patient
ca-core-name: Patient.name.given or Patient.name.family or both SHALL be present
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... text Σ0..1stringText representation of the full name
.... family Σ0..1stringFamily name (often called 'Surname')
.... given Σ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ0..1PeriodTime period when name was/is in use
... telecom SΣ0..*ContactPointA contact detail for the individual
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value Σ1..1stringThe actual contact point details
.... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period Σ0..1PeriodTime period when the contact point was/is in use
... gender Σ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣ0..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAn address for the individual
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... iso21090-preferred 0..1booleanHL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred
.... ext-nofixedaddress 0..1booleanNo Fixed Address indicator
URL: http://hl7.org/fhir/ca/core/StructureDefinition/ext-nofixedaddress
.... use ?!Σ0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ0..1codepostal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ0..1stringText representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line Σ0..*stringStreet name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city Σ0..1stringName of city, town etc.
Example General: Erewhon
.... district Σ0..1stringDistrict name (aka county)
Example General: Madison
.... state Σ0..1stringSub-unit of country (abbreviations ok)
.... postalCode Σ0..1stringPostal code for area
Example General: 9132
.... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ0..1PeriodTime period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible): The domestic partnership status of a person.

... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*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 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..*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 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to another patient resource that concerns the same actual person
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet / Code
Patient.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.identifier.userequiredIdentifierUse
Patient.identifier.typeextensibleIdentifier Type Codes
Patient.identifier:PPN.userequiredIdentifierUse
Patient.identifier:PPN.typeextensibleFixed Value: PPN
Patient.identifier:JPID.userequiredIdentifierUse
Patient.identifier:JPID.typeextensibleFixed Value: JPID
Patient.identifier:JHN.userequiredIdentifierUse
Patient.identifier:JHN.typeextensibleFixed Value: JHN
Patient.name.userequiredNameUse
Patient.telecom.systemrequiredContactPointSystem
Patient.telecom.userequiredContactPointUse
Patient.genderrequiredAdministrativeGender
Patient.address.userequiredAddressUse
Patient.address.typerequiredAddressType
Patient.maritalStatusextensibleMarital Status Codes
Patient.contact.relationshipextensiblePatientContactRelationship
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.link.typerequiredLinkType

Constraints

IdPathDetailsRequirements
dom-2PatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3PatientIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4PatientIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5PatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6PatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1Patient.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.extension:aboriginalidentitygroupAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extension:aboriginalidentitygroupMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.extension:aboriginalidentityindicatorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extension:aboriginalidentityindicatorMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.extension:birthsexAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extension:birthsexMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.extension:ethnicityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extension:ethnicityMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:PPNAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:PPN.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.identifier:PPN.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.identifier:PPN.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:PPN.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:PPN.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:PPN.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:PPN.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:PPN.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JPIDAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JPID.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.identifier:JPID.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.identifier:JPID.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JPID.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JPID.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JPID.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JPID.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JPID.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JHNAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JHN.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.identifier:JHN.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.identifier:JHN.extension:versionCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.identifier:JHN.extension:versionCodeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.identifier:JHN.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JHN.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JHN.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JHN.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JHN.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:JHN.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.activeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ca-core-namePatient.namePatient.name.given or Patient.name.family or both SHALL be present
: family.exists() or given.exists()
ele-1Patient.name.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.name.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.name.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.name.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.name.familyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.name.givenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.name.prefixAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.name.suffixAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.name.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.telecom.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.telecom.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.telecom.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.telecom.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.telecom.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.telecom.rankAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.telecom.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.birthDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.deceased[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address.extension:preferredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address.extension:preferredMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address.extension:noFixedAddressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address.extension:noFixedAddressMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.lineAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.cityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.districtAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.stateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.postalCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.countryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.maritalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.multipleBirth[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.photoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
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()
ele-1Patient.contact.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.contact.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.contact.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.contact.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.contact.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communicationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.communication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.communication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.communication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.communication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communication.preferredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.generalPractitionerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.managingOrganizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.link.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.link.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.link.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.link.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.link.otherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.link.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

Notes:

Identifiers

Multiple individual healthcare identifiers may be provided in Patient.identifier element.

However, to support particular types of federal patient and person health numbers used by all jurisdictions across Canada following optional types are defined to uniquely identifying patients:

  • Canadian Passport Number
  • Jurisdictional Person Identification
  • Jurisdictional Health Number

Canadian Passport Number (PPN)

A unique number assigned to the document affirming that a person is a citizen of Canada.

URI to use with this identifier type: https://fhir.infoway-inforoute.ca/NamingSystem/ca-passport-number

Example:

{
  "type": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
        "code": "PPN"
      }
    ]
  },
  "system": "https://fhir.infoway-inforoute.ca/NamingSystem/ca-passport-number",
  "value": "AB123456",
  "period": {
    "start": "2005-05-11",
    "end": "2015-05-11"
  }
}

Jurisdictional Patient Identifier Number (JPID)

This patient identifier type identifies a number issued in Canada to administer various government programs.

URIs used with this identifier type:

  • Canada, Social Insurance Number (SIN) - https://fhir.infoway-inforoute.ca/NamingSystem/ca-social-insurance-number
  • Canada Permanent Resident Card Number - https://fhir.infoway-inforoute.ca/NamingSystem/ca-permanent-resident-card-number
  • Canada First Nation Indian registry number (band ID) - https://fhir.infoway-inforoute.ca/NamingSystem/ca-federal-firstnation-band-id
  • Indigenous and Northern Affairs Canada health card number - https://fhir.infoway-inforoute.ca/NamingSystem/ca-indigenous-northern-affairs-number
  • Interim Federal Health Program identifier - https://fhir.infoway-inforoute.ca/NamingSystem/ca-interim-federal-health-id

Example:

{
  "type": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
        "code": "JPID"
      }
    ]
  },
  "system": "https://fhir.infoway-inforoute.ca/NamingSystem/ca-social-insurance-number",
  "value": "923456789"
  }
}

Jurisdictional Health Number (JHN)

Following URIs are registered to identify health card numbers for provinces and territories:

  • Alberta - https://fhir.infoway-inforoute.ca/NamingSystem/ca-ab-patient-healthcare-id
  • British Columbia - https://fhir.infoway-inforoute.ca/NamingSystem/ca-bc-patient-healthcare-id
  • Manitoba - https://fhir.infoway-inforoute.ca/NamingSystem/ca-mb-patient-healthcare-id
  • New Brunswick - https://fhir.infoway-inforoute.ca/NamingSystem/ca-nb-patient-healthcare-id
  • Newfoundland and Labrador - https://fhir.infoway-inforoute.ca/NamingSystem/ca-nl-patient-healthcare-id
  • Northwest Terrirories - https://fhir.infoway-inforoute.ca/NamingSystem/ca-nt-patient-healthcare-id
  • Nova Scotia - https://fhir.infoway-inforoute.ca/NamingSystem/ca-ns-patient-healthcare-id
  • Nunavut - https://fhir.infoway-inforoute.ca/NamingSystem/ca-nu-patient-healthcare-id
  • Ontario - https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn
  • Prince Edward Island - https://fhir.infoway-inforoute.ca/NamingSystem/ca-pe-patient-healthcare-id
  • Quebec - https://fhir.infoway-inforoute.ca/NamingSystem/ca-qc-patient-healthcare-id
  • Saskatchewan - https://fhir.infoway-inforoute.ca/NamingSystem/ca-sk-patient-healthcare-id
  • Yukon - https://fhir.infoway-inforoute.ca/NamingSystem/ca-yt-patient-healthcare-id

Following identifier types identify health card numbers issued in Canada to let a patient to be recognized for services and stay connected to related support programs:

  • Canada Veteran’s Affairs health card number - https://fhir.infoway-inforoute.ca/NamingSystem/ca-veterans-affairs-health-id
  • Canada Correctional Service health card number - https://fhir.infoway-inforoute.ca/NamingSystem/ca-correctional-service-health-id
  • Canada Royal Canadian Mounted Police (RCMP) health card number - https://fhir.infoway-inforoute.ca/NamingSystem/ca-royal-mounted-police-health-id
  • Canada Armed Forces health card number - https://fhir.infoway-inforoute.ca/NamingSystem/ca-armed-forces-health-id

The full list of identifiers can be found on Canadian URI Registry. Canada Health Infoway provides Canadian URI Registry search tool to simplify search.

Version Code

The Version Code extension is added to indicate the currency/validity of an identifier.

The rational is that the version code is current captured separately from the JHN because, in Ontario at least, the JHN is a stable identifier whereas the version code changes over time.

  • The working assumption is that it is useful to have this stable identifier but not all of the Ontario specs reviewed stored it as a separate field. In one case, it appears to be an Patient.identifier.coding.value instead of the identifier …
  • Example JHN and Patient Information from Ontario Health Care Validation Reference Manual
  • Question: would specific examples like this be helpful to illustrate Canadian requirements?

Example:

{
  "type": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
        "code": "JHN"
      }
    ]
  },
  "system": "https://fhir.infoway-inforoute.ca/NamingSystem/ca-armed-forces-health-id",
  "value": "A98765439"
  }
}

Patient Gender and Sex

Many systems and organizations only provide a single attribute to represent all aspects of a patient’s gender and sex with a single value. However, there are many considerations around sex and gender documentation and interoperability.

The FHIR Specification provides guidance and background for representing patient gender.

In addition to that Canadian Patient profile defines following extensions:

  • Gender Identity - an indication from the patient about what gender they consider themselves to be.
  • Sex assigned at Birth - the sex assigned at birth, as documented on the birth registration.
  • Preferred Pronoun - an indication from the patient about what pronoun to use in correspondence.

!! TO BE COMPLETED !!

Telecom

A Patient may have multiple ways to be contacted with different uses or applicable periods. This Patient profile allows multiple contact points (e.g. a telephone number or an email address) by which the individual may be contacted.

To indicate the preferred way to contact use Patient.telecom.rank attribute (i.e., the ContactPoint.rank component) that specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.

Address

The Patient profile is provided for use in a Canadian context where some constraint on content is desirable to guarantee the quality of the Canadian address whilst still supporting other type of address (e.g., other countries or UNstructured addresses).

Canadian postal code

If an address in the Patient resource instance represents Canadian address, it SHOULD follow Canadian postal code format.

The Canadian Postal Code SHOULD be a six-character uniformly structured uppercase alphanumeric code in the form of “ANA NAN”, where “A” represents an alphabetic character and “N” represents a numeric character, with one space between the first three and the last three characters.

A hyphen SHOULD NOT be used (example of UNacceptable format: T0L-1K0).

Preferred

The Patient.address MAY have a Preferred extension. This is the FHIR standard defined extension used as a flag denoting whether parent address item is preferred.

No Fixed Address

The Patient.address MAY have a No Fixed Address extension. This extension is to indicate that there is an assertion that there is no fixed address (e.g., homeless).

Marital Status

The binding for the Patient.maritalStatus element is extensible meaning that to be conformant, codes in this element SHALL be from the specified value set if any of the codes within the value set can apply to the concept being communicated.

Systems can send additional codes (Stats Canada, SNOMED CT, etc.) but can only do that if they also send the relevant HL7-assigned codes.