preBallot - The specification is currently in ballot review and subject to change. . . . For a full list of available versions, see the Directory of published versions
Patient (CA:eReC)
Links
Profile
Derived from
http://hl7.org/fhir/StructureDefinition/Patient
Description
The Patient resources contain demographics and other administrative information about the individual who is the subject of the referral.
References to this resource
Appointment, Communication, DocumentReference, QuestionnaireResponse, ServiceRequest
Resource Content
Patient | Patient | ||
identifier | S | ||
(All Slices) | |||
type | S | 1.. | |
system | S | 1.. | |
value | S | 1.. | |
JHN | 0..* | ||
versionCode | 0..1 | Extension(string) | |
type | S | Pattern | |
system | S | ||
value | S | ||
MRN | 0..* | ||
type | S | Pattern | |
system | S | ||
value | S | ||
name | S | 1.. | |
family | S | 1.. | |
given | S | ||
telecom | S | ||
system | S | ||
value | S | 1.. | |
use | S | ||
gender | S | ||
birthDate | S | ||
address | S | ||
text | S | ||
postalCode | S | ||
country | S | ||
maritalStatus | |||
contact | |||
relationship | S | Binding | |
name | S | ||
telecom | S | ||
communication | |||
extension | |||
CommunicationBarrier | S | 0..* | Extension(Coding) |
value[x] | S | Binding | |
code | S | Binding | |
language | S | Binding | |
preferred | S | ||
generalPractitioner | Reference(Practitioner | PractitionerRole | Organization) | ||
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. |
Patient | I | Patient | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ | 0..* | Identifier |
(All Slices) | |||
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | S Σ | 1..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
JHN | Σ | 0..* | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
versionCode | I | 0..1 | Extension(string) |
use | Σ ?! | 0..1 | codeBinding |
type | S Σ | 0..1 | CodeableConceptBindingPattern |
system | S Σ | 0..1 | uri |
value | S Σ | 0..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
MRN | Σ | 0..* | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | S Σ | 0..1 | CodeableConceptBindingPattern |
system | S Σ | 0..1 | uri |
value | S Σ | 0..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
active | Σ ?! | 0..1 | boolean |
name | S Σ | 1..* | HumanName |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
text | Σ | 0..1 | string |
family | S Σ | 1..1 | string |
given | S Σ | 0..* | string |
prefix | Σ | 0..* | string |
suffix | Σ | 0..* | string |
period | Σ | 0..1 | Period |
telecom | S Σ | 0..* | ContactPoint |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | S Σ I | 0..1 | codeBinding |
value | S Σ | 1..1 | string |
use | S Σ ?! | 0..1 | codeBinding |
rank | Σ | 0..1 | positiveInt |
period | Σ | 0..1 | Period |
gender | S Σ | 0..1 | codeBinding |
birthDate | S Σ | 0..1 | date |
deceased[x] | Σ ?! | 0..1 | |
deceasedBoolean | boolean | ||
deceasedDateTime | dateTime | ||
address | S Σ | 0..* | Address |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | codeBinding |
text | S Σ | 0..1 | string |
line | Σ | 0..* | string |
city | Σ | 0..1 | string |
district | Σ | 0..1 | string |
state | Σ | 0..1 | string |
postalCode | S Σ | 0..1 | string |
country | S Σ | 0..1 | string |
period | Σ | 0..1 | Period |
maritalStatus | 0..1 | CodeableConceptBinding | |
multipleBirth[x] | 0..1 | ||
multipleBirthBoolean | boolean | ||
multipleBirthInteger | integer | ||
photo | 0..* | Attachment | |
contact | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
relationship | S | 0..* | CodeableConceptBinding |
name | S | 0..1 | HumanName |
telecom | S | 0..* | ContactPoint |
address | 0..1 | Address | |
gender | 0..1 | codeBinding | |
organization | I | 0..1 | Reference(Organization) |
period | 0..1 | Period | |
communication | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
CommunicationBarrier | S I | 0..* | Extension(Coding) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | S | 0..1 | Binding |
valueCoding | Coding | ||
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ | 0..1 | uri |
version | Σ | 0..1 | string |
code | S Σ | 0..1 | codeBinding |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
modifierExtension | Σ ?! I | 0..* | Extension |
language | S | 1..1 | CodeableConceptBinding |
preferred | S | 0..1 | boolean |
generalPractitioner | 0..* | Reference(Practitioner | PractitionerRole | Organization) | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
managingOrganization | Σ | 0..1 | Reference(Organization) |
link | Σ ?! | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
other | Σ | 1..1 | Reference(Patient | RelatedPerson) |
type | Σ | 1..1 | codeBinding |
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="CA-eReC-Patient" /> <url value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" /> <name value="Patient" /> <status value="draft" /> <description value="The Patient resources contain demographics and other administrative information about the individual who is the subject of the referral." /> <fhirVersion value="4.0.1" /> <kind value="resource" /> <abstract value="false" /> <type value="Patient" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient" /> <derivation value="constraint" /> <differential> <element id="Patient.identifier"> <path value="Patient.identifier" /> <slicing> <discriminator> <type value="value" /> <path value="type" /> </discriminator> <ordered value="false" /> <rules value="open" /> </slicing> <mustSupport value="true" /> </element> <element id="Patient.identifier.type"> <path value="Patient.identifier.type" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Patient.identifier.system"> <path value="Patient.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Patient.identifier.value"> <path value="Patient.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Patient.identifier:JHN"> <path value="Patient.identifier" /> <sliceName value="JHN" /> <short value="Jurisdictional Health Number" /> <definition value="Patient and person health numbers used by all jurisdictions across Canada" /> <min value="0" /> <max value="*" /> </element> <element id="Patient.identifier:JHN.extension:versionCode"> <path value="Patient.identifier.extension" /> <sliceName value="versionCode" /> <short value="Health Number Version Code" /> <min value="0" /> <max value="1" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-HCNV-code-EXT" /> </type> </element> <element id="Patient.identifier:JHN.type"> <path value="Patient.identifier.type" /> <patternCodeableConcept> <coding> <system value="http://terminology.hl7.org/CodeSystem/v2-0203" /> <code value="JHN" /> <display value="Jurisdictional Health Number" /> </coding> </patternCodeableConcept> <mustSupport value="true" /> </element> <element id="Patient.identifier:JHN.system"> <path value="Patient.identifier.system" /> <short value="A Health Number Naming System from the Canadian URI Registry" /> <mustSupport value="true" /> </element> <element id="Patient.identifier:JHN.value"> <path value="Patient.identifier.value" /> <mustSupport value="true" /> </element> <element id="Patient.identifier:MRN"> <path value="Patient.identifier" /> <sliceName value="MRN" /> <short value="Medical Record Number" /> <definition value="A local patient identifier from the submitting PoS System" /> <comment value="Some jurisdictions may consider the MRN identifier type to be an alternative to the JHN identifier type under certain scenarios. These business rules are outside the scope of this profile, however the slice is socialized to prepare implementers for potential use of this pattern within certain jurisdictions" /> <min value="0" /> <max value="*" /> </element> <element id="Patient.identifier:MRN.type"> <path value="Patient.identifier.type" /> <patternCodeableConcept> <coding> <system value="http://terminology.hl7.org/CodeSystem/v2-0203" /> <code value="MR" /> <display value="Medical Record Number" /> </coding> </patternCodeableConcept> <mustSupport value="true" /> </element> <element id="Patient.identifier:MRN.system"> <path value="Patient.identifier.system" /> <short value="An identifier for the system supplying the MRN" /> <mustSupport value="true" /> </element> <element id="Patient.identifier:MRN.value"> <path value="Patient.identifier.value" /> <mustSupport value="true" /> </element> <element id="Patient.name"> <path value="Patient.name" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Patient.name.family"> <path value="Patient.name.family" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Patient.name.given"> <path value="Patient.name.given" /> <mustSupport value="true" /> </element> <element id="Patient.telecom"> <path value="Patient.telecom" /> <mustSupport value="true" /> </element> <element id="Patient.telecom.system"> <path value="Patient.telecom.system" /> <mustSupport value="true" /> </element> <element id="Patient.telecom.value"> <path value="Patient.telecom.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Patient.telecom.use"> <path value="Patient.telecom.use" /> <mustSupport value="true" /> </element> <element id="Patient.gender"> <path value="Patient.gender" /> <comment value="The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.). Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a "hard" error." /> <mustSupport value="true" /> </element> <element id="Patient.birthDate"> <path value="Patient.birthDate" /> <mustSupport value="true" /> </element> <element id="Patient.address"> <path value="Patient.address" /> <mustSupport value="true" /> </element> <element id="Patient.address.text"> <path value="Patient.address.text" /> <mustSupport value="true" /> </element> <element id="Patient.address.postalCode"> <path value="Patient.address.postalCode" /> <mustSupport value="true" /> </element> <element id="Patient.address.country"> <path value="Patient.address.country" /> <mustSupport value="true" /> </element> <element id="Patient.maritalStatus"> <path value="Patient.maritalStatus" /> <comment value="MAY be used to identify the maritalStatus of the patient" /> </element> <element id="Patient.contact"> <path value="Patient.contact" /> <comment value="MAY be used to identify alternate contacts for the patient" /> </element> <element id="Patient.contact.relationship"> <path value="Patient.contact.relationship" /> <mustSupport value="true" /> <binding> <strength value="extensible" /> <valueSet value="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/patient-contact-relationship" /> </binding> </element> <element id="Patient.contact.name"> <path value="Patient.contact.name" /> <mustSupport value="true" /> </element> <element id="Patient.contact.telecom"> <path value="Patient.contact.telecom" /> <mustSupport value="true" /> </element> <element id="Patient.communication"> <path value="Patient.communication" /> <comment value="where applicable, SHOULD be used to identify the preferred communication language for the patient" /> </element> <element id="Patient.communication.extension"> <path value="Patient.communication.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <ordered value="false" /> <rules value="open" /> </slicing> </element> <element id="Patient.communication.extension:CommunicationBarrier"> <path value="Patient.communication.extension" /> <sliceName value="CommunicationBarrier" /> <min value="0" /> <max value="*" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-CommunicationBarrier" /> </type> <mustSupport value="true" /> </element> <element id="Patient.communication.extension:CommunicationBarrier.value[x]"> <path value="Patient.communication.extension.value[x]" /> <mustSupport value="true" /> <binding> <strength value="extensible" /> <valueSet value="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-barrier" /> </binding> </element> <element id="Patient.communication.extension:CommunicationBarrier.value[x].code"> <path value="Patient.communication.extension.value[x].code" /> <mustSupport value="true" /> <binding> <strength value="extensible" /> <description value="Contains codes required to identify if the patient speaks/understands an offical language (english/french), or if she/he does not and an interpretor is required." /> <valueSet value="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-barrier" /> </binding> </element> <element id="Patient.communication.language"> <path value="Patient.communication.language" /> <mustSupport value="true" /> <binding> <strength value="preferred" /> <valueSet value="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/human-language" /> </binding> </element> <element id="Patient.communication.preferred"> <path value="Patient.communication.preferred" /> <mustSupport value="true" /> </element> <element id="Patient.generalPractitioner"> <path value="Patient.generalPractitioner" /> <comment value="where applicable, SHOULD be used to identify patients primary care provider" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization" /> </type> </element> <element id="Patient.generalPractitioner.reference"> <path value="Patient.generalPractitioner.reference" /> <mustSupport value="true" /> </element> <element id="Patient.generalPractitioner.identifier"> <path value="Patient.generalPractitioner.identifier" /> <mustSupport value="true" /> </element> <element id="Patient.generalPractitioner.identifier.system"> <path value="Patient.generalPractitioner.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Patient.generalPractitioner.identifier.value"> <path value="Patient.generalPractitioner.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> </differential> </StructureDefinition>
{ "resourceType": "StructureDefinition", "id": "CA-eReC-Patient", "url": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient", "name": "Patient", "status": "draft", "description": "The Patient resources contain demographics and other administrative information about the individual who is the subject of the referral.", "fhirVersion": "4.0.1", "kind": "resource", "abstract": false, "type": "Patient", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Patient", "derivation": "constraint", "differential": { "element": [ { "id": "Patient.identifier", "path": "Patient.identifier", "slicing": { "discriminator": [ { "type": "value", "path": "type" } ], "ordered": false, "rules": "open" }, "mustSupport": true }, { "id": "Patient.identifier.type", "path": "Patient.identifier.type", "min": 1, "mustSupport": true }, { "id": "Patient.identifier.system", "path": "Patient.identifier.system", "min": 1, "mustSupport": true }, { "id": "Patient.identifier.value", "path": "Patient.identifier.value", "min": 1, "mustSupport": true }, { "id": "Patient.identifier:JHN", "path": "Patient.identifier", "sliceName": "JHN", "short": "Jurisdictional Health Number", "definition": "Patient and person health numbers used by all jurisdictions across Canada", "min": 0, "max": "*" }, { "id": "Patient.identifier:JHN.extension:versionCode", "path": "Patient.identifier.extension", "sliceName": "versionCode", "short": "Health Number Version Code", "min": 0, "max": "1", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-HCNV-code-EXT" ] } ] }, { "id": "Patient.identifier:JHN.type", "path": "Patient.identifier.type", "patternCodeableConcept": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v2-0203", "code": "JHN", "display": "Jurisdictional Health Number" } ] }, "mustSupport": true }, { "id": "Patient.identifier:JHN.system", "path": "Patient.identifier.system", "short": "A Health Number Naming System from the Canadian URI Registry", "mustSupport": true }, { "id": "Patient.identifier:JHN.value", "path": "Patient.identifier.value", "mustSupport": true }, { "id": "Patient.identifier:MRN", "path": "Patient.identifier", "sliceName": "MRN", "short": "Medical Record Number", "definition": "A local patient identifier from the submitting PoS System", "comment": "Some jurisdictions may consider the MRN identifier type to be an alternative to the JHN identifier type under certain scenarios. These business rules are outside the scope of this profile, however the slice is socialized to prepare implementers for potential use of this pattern within certain jurisdictions", "min": 0, "max": "*" }, { "id": "Patient.identifier:MRN.type", "path": "Patient.identifier.type", "patternCodeableConcept": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v2-0203", "code": "MR", "display": "Medical Record Number" } ] }, "mustSupport": true }, { "id": "Patient.identifier:MRN.system", "path": "Patient.identifier.system", "short": "An identifier for the system supplying the MRN", "mustSupport": true }, { "id": "Patient.identifier:MRN.value", "path": "Patient.identifier.value", "mustSupport": true }, { "id": "Patient.name", "path": "Patient.name", "min": 1, "mustSupport": true }, { "id": "Patient.name.family", "path": "Patient.name.family", "min": 1, "mustSupport": true }, { "id": "Patient.name.given", "path": "Patient.name.given", "mustSupport": true }, { "id": "Patient.telecom", "path": "Patient.telecom", "mustSupport": true }, { "id": "Patient.telecom.system", "path": "Patient.telecom.system", "mustSupport": true }, { "id": "Patient.telecom.value", "path": "Patient.telecom.value", "min": 1, "mustSupport": true }, { "id": "Patient.telecom.use", "path": "Patient.telecom.use", "mustSupport": true }, { "id": "Patient.gender", "path": "Patient.gender", "comment": "The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.). Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a \"hard\" error.", "mustSupport": true }, { "id": "Patient.birthDate", "path": "Patient.birthDate", "mustSupport": true }, { "id": "Patient.address", "path": "Patient.address", "mustSupport": true }, { "id": "Patient.address.text", "path": "Patient.address.text", "mustSupport": true }, { "id": "Patient.address.postalCode", "path": "Patient.address.postalCode", "mustSupport": true }, { "id": "Patient.address.country", "path": "Patient.address.country", "mustSupport": true }, { "id": "Patient.maritalStatus", "path": "Patient.maritalStatus", "comment": "MAY be used to identify the maritalStatus of the patient" }, { "id": "Patient.contact", "path": "Patient.contact", "comment": "MAY be used to identify alternate contacts for the patient" }, { "id": "Patient.contact.relationship", "path": "Patient.contact.relationship", "mustSupport": true, "binding": { "strength": "extensible", "valueSet": "http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/patient-contact-relationship" } }, { "id": "Patient.contact.name", "path": "Patient.contact.name", "mustSupport": true }, { "id": "Patient.contact.telecom", "path": "Patient.contact.telecom", "mustSupport": true }, { "id": "Patient.communication", "path": "Patient.communication", "comment": "where applicable, SHOULD be used to identify the preferred communication language for the patient" }, { "id": "Patient.communication.extension", "path": "Patient.communication.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "ordered": false, "rules": "open" } }, { "id": "Patient.communication.extension:CommunicationBarrier", "path": "Patient.communication.extension", "sliceName": "CommunicationBarrier", "min": 0, "max": "*", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-CommunicationBarrier" ] } ], "mustSupport": true }, { "id": "Patient.communication.extension:CommunicationBarrier.value[x]", "path": "Patient.communication.extension.value[x]", "mustSupport": true, "binding": { "strength": "extensible", "valueSet": "http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-barrier" } }, { "id": "Patient.communication.extension:CommunicationBarrier.value[x].code", "path": "Patient.communication.extension.value[x].code", "mustSupport": true, "binding": { "strength": "extensible", "description": "Contains codes required to identify if the patient speaks/understands an offical language (english/french), or if she/he does not and an interpretor is required.", "valueSet": "http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-barrier" } }, { "id": "Patient.communication.language", "path": "Patient.communication.language", "mustSupport": true, "binding": { "strength": "preferred", "valueSet": "http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/human-language" } }, { "id": "Patient.communication.preferred", "path": "Patient.communication.preferred", "mustSupport": true }, { "id": "Patient.generalPractitioner", "path": "Patient.generalPractitioner", "comment": "where applicable, SHOULD be used to identify patients primary care provider", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization" ] } ] }, { "id": "Patient.generalPractitioner.reference", "path": "Patient.generalPractitioner.reference", "mustSupport": true }, { "id": "Patient.generalPractitioner.identifier", "path": "Patient.generalPractitioner.identifier", "mustSupport": true }, { "id": "Patient.generalPractitioner.identifier.system", "path": "Patient.generalPractitioner.identifier.system", "min": 1, "mustSupport": true }, { "id": "Patient.generalPractitioner.identifier.value", "path": "Patient.generalPractitioner.identifier.value", "min": 1, "mustSupport": true } ] } }
Terminology bindings
Path | Conformance | ValueSet |
---|---|---|
Patient.contact.relationship | extensible | http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/patient-contact-relationship |
Patient.communication.extension:CommunicationBarrier.value[x] | extensible | http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-barrier |
Patient.communication.extension:CommunicationBarrier.value[x].code | extensible | http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-barrier |
Patient.communication.language | preferred | http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/human-language |
Constraints
Path | Id | Grade | Details | Expression |
---|---|---|---|---|
Patient; Patient; Patient; Patient; Patient; Patient.meta; Patient.implicitRules; Patient.language; Patient.text; Patient.extension; Patient.extension; Patient.modifierExtension; Patient.modifierExtension; Patient.identifier; Patient.identifier.extension; Patient.identifier.extension; Patient.identifier.use; Patient.identifier.type; Patient.identifier.system; Patient.identifier.value; Patient.identifier.period; Patient.identifier.assigner; Patient.identifier:JHN; Patient.identifier:JHN.extension; Patient.identifier:JHN.extension; Patient.identifier:JHN.extension:versionCode; Patient.identifier:JHN.extension:versionCode; Patient.identifier:JHN.use; Patient.identifier:JHN.type; Patient.identifier:JHN.system; Patient.identifier:JHN.value; Patient.identifier:JHN.period; Patient.identifier:JHN.assigner; Patient.identifier:MRN; Patient.identifier:MRN.extension; Patient.identifier:MRN.extension; Patient.identifier:MRN.use; Patient.identifier:MRN.type; Patient.identifier:MRN.system; Patient.identifier:MRN.value; Patient.identifier:MRN.period; Patient.identifier:MRN.assigner; Patient.active; Patient.name; Patient.name.extension; Patient.name.extension; Patient.name.use; Patient.name.text; Patient.name.family; Patient.name.given; Patient.name.prefix; Patient.name.suffix; Patient.name.period; Patient.telecom; Patient.telecom.extension; Patient.telecom.extension; Patient.telecom.system; Patient.telecom.value; Patient.telecom.use; Patient.telecom.rank; Patient.telecom.period; Patient.gender; Patient.birthDate; Patient.deceased[x]; Patient.address; Patient.address.extension; Patient.address.extension; Patient.address.use; Patient.address.type; Patient.address.text; Patient.address.line; Patient.address.city; Patient.address.district; Patient.address.state; Patient.address.postalCode; Patient.address.country; Patient.address.period; Patient.maritalStatus; Patient.multipleBirth[x]; Patient.photo; Patient.contact; Patient.contact; Patient.contact.extension; Patient.contact.extension; Patient.contact.modifierExtension; Patient.contact.modifierExtension; Patient.contact.relationship; Patient.contact.name; Patient.contact.telecom; Patient.contact.address; Patient.contact.gender; Patient.contact.organization; Patient.contact.period; Patient.communication; Patient.communication.extension; Patient.communication.extension; Patient.communication.extension:CommunicationBarrier; Patient.communication.extension:CommunicationBarrier; Patient.communication.extension:CommunicationBarrier.extension; Patient.communication.extension:CommunicationBarrier.extension; Patient.communication.extension:CommunicationBarrier.value[x]; Patient.communication.extension:CommunicationBarrier.value[x].extension; Patient.communication.extension:CommunicationBarrier.value[x].extension; Patient.communication.extension:CommunicationBarrier.value[x].system; Patient.communication.extension:CommunicationBarrier.value[x].version; Patient.communication.extension:CommunicationBarrier.value[x].code; Patient.communication.extension:CommunicationBarrier.value[x].display; Patient.communication.extension:CommunicationBarrier.value[x].userSelected; Patient.communication.modifierExtension; Patient.communication.modifierExtension; Patient.communication.language; Patient.communication.preferred; Patient.generalPractitioner; Patient.generalPractitioner.extension; Patient.generalPractitioner.extension; Patient.generalPractitioner.reference; Patient.generalPractitioner.type; Patient.generalPractitioner.identifier; Patient.generalPractitioner.identifier.extension; Patient.generalPractitioner.identifier.extension; Patient.generalPractitioner.identifier.use; Patient.generalPractitioner.identifier.type; Patient.generalPractitioner.identifier.system; Patient.generalPractitioner.identifier.value; Patient.generalPractitioner.identifier.period; Patient.generalPractitioner.identifier.assigner; Patient.generalPractitioner.display; Patient.managingOrganization; Patient.link; Patient.link.extension; Patient.link.extension; Patient.link.modifierExtension; Patient.link.modifierExtension; Patient.link.other; Patient.link.type | dom-2; dom-3; dom-4; dom-5; dom-6; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; pat-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1 | error; error; error; error; warning; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error | If the resource is contained in another resource, it SHALL NOT contain nested Resources; 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; If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated; If a resource is contained in another resource, it SHALL NOT have a security label; A resource should have narrative for robust management; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; SHALL at least contain a contact's details or a reference to an organization; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children | contained.contained.empty(); 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(); contained.meta.versionId.empty() and contained.meta.lastUpdated.empty(); contained.meta.security.empty(); text.`div`.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); name.exists() or telecom.exists() or address.exists() or organization.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()) |
Usage
The Patient resources contain demographics and other administrative information about the individual who is the subject of the referral.
Notes
.id
- used to uniquely identify the resource
- if a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in
Bundle.entry.fullUrl
)
.identifier
- Business identifier(s) for the patient, multiple allowed
- Requirements will vary by use case and jurisdiction, typically:
- eReC Requesters:
- SHOULD include patient health card number (HCN) when available, including a version code in Jurisdictions where it is applicable (see: HealthCardNumberVersionCode)
- MAY include other business identifiers including medical record numbers
- eReC Performers SHOULD only store and return identifiers that are needed to support referral processing
- eReC Requesters:
.extension:HealthCardNumberVersionCode
- An assigned sequence code, uniquely identifying a Health Card issued (or potentially issued) to a Registered Person
.name
- The name of the patient
.name.family
SHALL always be populated.name.given
use multiple instances if patient has multiple given names (e.g. first and middle names)
.telecom
- Used to provide information to contact the patient when informing them about appointments etc.
- SHALL be populated when available to send
- SHOULD have multiple ways to be contacted
.gender
- MAY be used by receivers for patient matching / identifications
- SHOULD be populated when available to send
- if sending an administrative gender that is not in the value set (i.e. "X" non-binary), that MAY be sent as "Other" with an appropriate extension sent with the proper value.
.birthDate
- MAY be used by receivers for patient matching / identifications
- SHOULD be populated when available to send
.maritalStatus
- MAY be populated when available to send
.contact
- Used to identify a contact party for the patient (e.g. partner, parent, friend)
- MAY be populated when available to send
.communication
- Used to indicate which language the patient speaks, multiple allowed
- SHOULD be populated when available to send
.language
SHALL always be populated when used
.generalPractitioner
- Identifies the patients primary care provider / family doctor
- MAY be populated when available to send
- SHALL be populated with a reference to a Practitioner (CA:eReC), PractitionerRole (CA:eReC), or Organization (CA:eReC) resource
- If the information is being transmitted via messaging, the referenced resource SHALL be included in the message as a
Bundle.entry