Patient (PS-CA)

Profile

patient-ca-ps

Derived from

http://hl7.org/fhir/StructureDefinition/Patient

Examples

patient1-example

Description

This profile represents the constraints applied to the Patient resource by the PS-CA project to represent the minimum expectations for the Patient resource when used in the PS-CA composition profile or in one of the referred resources. It is informed by the constraints of the Patient IPS-UV profile and the Canadian Baseline Profile

References to this resource

AllergyIntoleranceNotSupportedPSCA, AllergyIntolerancePSCA, CompositionPSCA, ConditionNotSupportedPSCA, ConditionPSCA, DiagnosticReportPSCA, FamilyMemberHistoryPSCA, ImagingStudyPSCA, ImmunizationPSCA, MedicationRequestPSCA, MedicationStatementNotSupportedPSCA, MedicationStatementPSCA, ObservationAlcoholUsePSCA, ObservationResultsLaboratoryPathologyPSCA, ObservationResultsLaboratoryPSCA, ObservationResultsPathologyPSCA, ObservationResultsPSCA, ObservationResultsRadiologyPSCA, ObservationSocialHistoryPSCA, ObservationTobaccoUsePSCA, ProcedurePSCA

Resource Content

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
individual-recordedSexOrGenderI0..*Extension(Complex)
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
id0..1string
versionCodeI0..1Extension
useΣ ?!0..1codeBinding
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uri
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uri
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
activeΣ ?!0..1boolean
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
textS Σ0..1string
familyS Σ0..1string
givenS Σ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ0..1Period
telecomΣ0..*ContactPoint
genderS Σ0..1codeBinding
birthDateS Σ1..1date
deceasedBooleanboolean
deceasedDateTimedateTime
addressΣ0..*Address
maritalStatus0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photo0..*Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationship0..*CodeableConceptBinding
name0..1HumanName
telecom0..*ContactPoint
address0..1Address
gender0..1codeBinding
organizationI0..1Reference(Organization)
period0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitioner0..*Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ0..1Reference(Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
otherΣ1..1Reference(Patient | RelatedPerson)
typeΣ1..1codeBinding
individual-recordedSexOrGenderExtension(Complex)
type
system1..
value1..
extension
versionCodeExtension
type1..Pattern
system1..
value1..
type1..Pattern
system1..
value1..
textS
familyS
givenS
telecom
genderS
birthDateS1..
address
generalPractitioner
<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="patient-ca-ps" />
    <url value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/patient-ca-ps" />
    <name value="PatientPSCA" />
    <title value="Patient (PS-CA)" />
    <status value="draft" />
    <experimental value="false" />
    <date value="2024-04-09T00:00:00-08:00" />
    <description value="This profile represents the constraints applied to the Patient resource by the PS-CA project to represent the minimum expectations for the Patient resource when used in the PS-CA composition profile or in one of the referred resources. It is informed by the constraints of the [Patient IPS-UV profile](http://hl7.org/fhir/uv/ips/StructureDefinition-Patient-uv-ips.html) and the [Canadian Baseline Profile](http://build.fhir.org/ig/HL7-Canada/ca-baseline/branches/master/StructureDefinition-profile-patient.html)" />
    <copyright value="Copyright &#169; 2024+ Canada Health Infoway. All rights reserved. [Terms of Use and License Agreements](https://ic.infoway-inforoute.ca/en/about/tou). [Privacy Policy](https://www.infoway-inforoute.ca/en/legal/privacy-policy)." />
    <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.extension:individual-recordedSexOrGender">
            <path value="Patient.extension" />
            <sliceName value="individual-recordedSexOrGender" />
            <short value="Extension for representing an individuals recorded sex or gender." />
            <definition value="Recorded sex or gender (RSG) information includes the various sex and gender concepts that are often used in existing systems but are known NOT to represent a gender identity, sex parameter for clinical use, or attributes related to sexuality, such as sexual orientation, sexual activity, or sexual attraction. Examples of recorded sex or gender concepts include administrative gender, administrative sex, and sex assigned at birth. When exchanging this concept, refer to the guidance in the Gender Harmony Implementation Guide" />
            <type>
                <code value="Extension" />
                <profile value="http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender" />
            </type>
        </element>
        <element id="Patient.identifier">
            <path value="Patient.identifier" />
            <slicing>
                <discriminator>
                    <type value="pattern" />
                    <path value="type" />
                </discriminator>
                <rules value="open" />
            </slicing>
            <comment value="This element employs the constraints on identifier put forth in the CA Baseline using a profiled data type." />
            <type>
                <code value="Identifier" />
                <profile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-identifier" />
            </type>
            <mustSupport value="true" />
        </element>
        <element id="Patient.identifier.type">
            <path value="Patient.identifier.type" />
            <comment value="The slices provided below are examples of identifier types used by jurisdictions for patient summary. These are not required, and the slicing is open meaning that other types can be provided and used in an implementation." />
        </element>
        <element id="Patient.identifier.system">
            <path value="Patient.identifier.system" />
            <min value="1" />
        </element>
        <element id="Patient.identifier.value">
            <path value="Patient.identifier.value" />
            <short value="The value that is unique within the system." />
            <min value="1" />
        </element>
        <element id="Patient.identifier:JHN">
            <path value="Patient.identifier" />
            <sliceName value="JHN" />
            <short value="Jurisdictional Health Number" />
            <definition value="Federal patient and person health numbers used by all jurisdictions across Canada" />
        </element>
        <element id="Patient.identifier:JHN.extension">
            <path value="Patient.identifier.extension" />
        </element>
        <element id="Patient.identifier:JHN.extension:versionCode">
            <path value="Patient.identifier.extension" />
            <sliceName value="versionCode" />
            <short value="Health Number Version Code" />
            <type>
                <code value="Extension" />
                <profile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-identifierversion" />
            </type>
        </element>
        <element id="Patient.identifier:JHN.type">
            <path value="Patient.identifier.type" />
            <min value="1" />
            <patternCodeableConcept>
                <coding>
                    <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
                    <code value="JHN" />
                </coding>
            </patternCodeableConcept>
        </element>
        <element id="Patient.identifier:JHN.system">
            <path value="Patient.identifier.system" />
            <short value="A Health Number Naming System from the Canadian URI Registry" />
            <min value="1" />
        </element>
        <element id="Patient.identifier:JHN.value">
            <path value="Patient.identifier.value" />
            <min value="1" />
        </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" />
        </element>
        <element id="Patient.identifier:MRN.type">
            <path value="Patient.identifier.type" />
            <min value="1" />
            <patternCodeableConcept>
                <coding>
                    <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
                    <code value="MR" />
                </coding>
            </patternCodeableConcept>
        </element>
        <element id="Patient.identifier:MRN.system">
            <path value="Patient.identifier.system" />
            <short value="An identifier for the system supplying the MRN" />
            <min value="1" />
        </element>
        <element id="Patient.identifier:MRN.value">
            <path value="Patient.identifier.value" />
            <min value="1" />
        </element>
        <element id="Patient.name">
            <path value="Patient.name" />
            <requirements value="Need to be able to track the patient by multiple names. Examples are your official name and a partner name.\nThe Alphabetic representation of the name SHALL be always provided" />
            <min value="1" />
            <constraint>
                <key value="core-pat-1" />
                <severity value="error" />
                <human value="Either Patient.name.given and/or Patient.name.family and/or Patient.name.text SHALL be present or a Data Absent Reason Extension SHALL be present." />
                <expression value="(family.exists() or given.exists() or text.exists()) xor extension.where(url=&#39;http://hl7.org/fhir/StructureDefinition/data-absent-reason&#39;).exists()" />
                <xpath value="(/f:name/f:extension/@url=&#39;http://hl7.org/fhir/StructureDefinition/data-absent-reason&#39; and not(/f:name/f:family or /f:name/f:given or /f:name/f:text)) or (not(/f:name/f:extension/@url=&#39;http://hl7.org/fhir/StructureDefinition/data-absent-reason&#39;) and (/f:name/f:family or /f:name/f:given or /f:name/f:text))" />
            </constraint>
            <mustSupport value="true" />
        </element>
        <element id="Patient.name.text">
            <path value="Patient.name.text" />
            <definition value="Text representation of the full name. Due to the cultural variance around the world a consuming system may not know how to present the name correctly; moreover not all the parts of the name go in given or family. Creators are therefore strongly encouraged to provide through this element a presented version of the name. Future versions of this guide may require this element" />
            <comment value="Some systems will not have a field for representing the full name as a string, these systems are still expected to be able to demonstrate they can construct name.text when developing the patient summary instance" />
            <mustSupport value="true" />
        </element>
        <element id="Patient.name.family">
            <path value="Patient.name.family" />
            <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" />
            <comment value="IPS-UV flags this as a Must Support element. It is not currently flagged as Must Support in PS-CA, as stakeholders have indicated the element may not be supported by the majority of systems today. Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received. Vendors should expect that some jurisdictions may add a Must Support requirement within the context of their own jurisdictional content." />
        </element>
        <element id="Patient.gender">
            <path value="Patient.gender" />
            <mustSupport value="true" />
        </element>
        <element id="Patient.birthDate">
            <path value="Patient.birthDate" />
            <comment value="While the birthDate element requires a value, if the exact date of birth is unknown, only the known portion of the date (e.g., the year) should be provided without estimating or inferring unknown parts of the date. Use of the Data Absent Reason is appropriate when the date of birth of an individual cannot be determined." />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="Patient.address">
            <path value="Patient.address" />
            <comment value="IPS-UV flags this as a Must Support element. It is not currently flagged as Must Support in PS-CA, as stakeholders have indicated the element may not be supported by the majority of systems today. Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received. Vendors should expect that some jurisdictions may add a Must Support requirement within the context of their own jurisdictional content." />
        </element>
        <element id="Patient.generalPractitioner">
            <path value="Patient.generalPractitioner" />
            <comment value="IPS-UV flags this as a Must Support element. It is not currently flagged as Must Support in PS-CA, as stakeholders have indicated the element may not be supported by the majority of systems today. Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received. Vendors should expect that some jurisdictions may add a Must Support requirement within the context of their own jurisdictional content." />
        </element>
    </differential>
</StructureDefinition>
{
    "resourceType": "StructureDefinition",
    "id": "patient-ca-ps",
    "url": "http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/patient-ca-ps",
    "name": "PatientPSCA",
    "title": "Patient (PS-CA)",
    "status": "draft",
    "experimental": false,
    "date": "04/09/2024 08:00:00",
    "description": "This profile represents the constraints applied to the Patient resource by the PS-CA project to represent the minimum expectations for the Patient resource when used in the PS-CA composition profile or in one of the referred resources. It is informed by the constraints of the [Patient IPS-UV profile](http://hl7.org/fhir/uv/ips/StructureDefinition-Patient-uv-ips.html) and the [Canadian Baseline Profile](http://build.fhir.org/ig/HL7-Canada/ca-baseline/branches/master/StructureDefinition-profile-patient.html)",
    "copyright": "Copyright © 2024+ Canada Health Infoway. All rights reserved. [Terms of Use and License Agreements](https://ic.infoway-inforoute.ca/en/about/tou). [Privacy Policy](https://www.infoway-inforoute.ca/en/legal/privacy-policy).",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Patient",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Patient",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Patient.extension:individual-recordedSexOrGender",
                "path": "Patient.extension",
                "sliceName": "individual-recordedSexOrGender",
                "short": "Extension for representing an individuals recorded sex or gender.",
                "definition": "Recorded sex or gender (RSG) information includes the various sex and gender concepts that are often used in existing systems but are known NOT to represent a gender identity, sex parameter for clinical use, or attributes related to sexuality, such as sexual orientation, sexual activity, or sexual attraction. Examples of recorded sex or gender concepts include administrative gender, administrative sex, and sex assigned at birth. When exchanging this concept, refer to the guidance in the Gender Harmony Implementation Guide",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender"
                        ]
                    }
                ]
            },
            {
                "id": "Patient.identifier",
                "path": "Patient.identifier",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "pattern",
                            "path": "type"
                        }
                    ],
                    "rules": "open"
                },
                "comment": "This element employs the constraints on identifier put forth in the CA Baseline using a profiled data type.",
                "type":  [
                    {
                        "code": "Identifier",
                        "profile":  [
                            "http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-identifier"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "Patient.identifier.type",
                "path": "Patient.identifier.type",
                "comment": "The slices provided below are examples of identifier types used by jurisdictions for patient summary. These are not required, and the slicing is open meaning that other types can be provided and used in an implementation."
            },
            {
                "id": "Patient.identifier.system",
                "path": "Patient.identifier.system",
                "min": 1
            },
            {
                "id": "Patient.identifier.value",
                "path": "Patient.identifier.value",
                "short": "The value that is unique within the system.",
                "min": 1
            },
            {
                "id": "Patient.identifier:JHN",
                "path": "Patient.identifier",
                "sliceName": "JHN",
                "short": "Jurisdictional Health Number",
                "definition": "Federal patient and person health numbers used by all jurisdictions across Canada"
            },
            {
                "id": "Patient.identifier:JHN.extension",
                "path": "Patient.identifier.extension"
            },
            {
                "id": "Patient.identifier:JHN.extension:versionCode",
                "path": "Patient.identifier.extension",
                "sliceName": "versionCode",
                "short": "Health Number Version Code",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-identifierversion"
                        ]
                    }
                ]
            },
            {
                "id": "Patient.identifier:JHN.type",
                "path": "Patient.identifier.type",
                "min": 1,
                "patternCodeableConcept": {
                    "coding":  [
                        {
                            "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
                            "code": "JHN"
                        }
                    ]
                }
            },
            {
                "id": "Patient.identifier:JHN.system",
                "path": "Patient.identifier.system",
                "short": "A Health Number Naming System from the Canadian URI Registry",
                "min": 1
            },
            {
                "id": "Patient.identifier:JHN.value",
                "path": "Patient.identifier.value",
                "min": 1
            },
            {
                "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"
            },
            {
                "id": "Patient.identifier:MRN.type",
                "path": "Patient.identifier.type",
                "min": 1,
                "patternCodeableConcept": {
                    "coding":  [
                        {
                            "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
                            "code": "MR"
                        }
                    ]
                }
            },
            {
                "id": "Patient.identifier:MRN.system",
                "path": "Patient.identifier.system",
                "short": "An identifier for the system supplying the MRN",
                "min": 1
            },
            {
                "id": "Patient.identifier:MRN.value",
                "path": "Patient.identifier.value",
                "min": 1
            },
            {
                "id": "Patient.name",
                "path": "Patient.name",
                "requirements": "Need to be able to track the patient by multiple names. Examples are your official name and a partner name.\nThe Alphabetic representation of the name SHALL be always provided",
                "min": 1,
                "constraint":  [
                    {
                        "key": "core-pat-1",
                        "severity": "error",
                        "human": "Either Patient.name.given and/or Patient.name.family and/or Patient.name.text SHALL be present or a Data Absent Reason Extension SHALL be present.",
                        "expression": "(family.exists() or given.exists() or text.exists()) xor extension.where(url='http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()",
                        "xpath": "(/f:name/f:extension/@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason' and not(/f:name/f:family or /f:name/f:given or /f:name/f:text)) or (not(/f:name/f:extension/@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason') and (/f:name/f:family or /f:name/f:given or /f:name/f:text))"
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "Patient.name.text",
                "path": "Patient.name.text",
                "definition": "Text representation of the full name. Due to the cultural variance around the world a consuming system may not know how to present the name correctly; moreover not all the parts of the name go in given or family. Creators are therefore strongly encouraged to provide through this element a presented version of the name. Future versions of this guide may require this element",
                "comment": "Some systems will not have a field for representing the full name as a string, these systems are still expected to be able to demonstrate they can construct name.text when developing the patient summary instance",
                "mustSupport": true
            },
            {
                "id": "Patient.name.family",
                "path": "Patient.name.family",
                "mustSupport": true
            },
            {
                "id": "Patient.name.given",
                "path": "Patient.name.given",
                "mustSupport": true
            },
            {
                "id": "Patient.telecom",
                "path": "Patient.telecom",
                "comment": "IPS-UV flags this as a Must Support element. It is not currently flagged as Must Support in PS-CA, as stakeholders have indicated the element may not be supported by the majority of systems today. Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received. Vendors should expect that some jurisdictions may add a Must Support requirement within the context of their own jurisdictional content."
            },
            {
                "id": "Patient.gender",
                "path": "Patient.gender",
                "mustSupport": true
            },
            {
                "id": "Patient.birthDate",
                "path": "Patient.birthDate",
                "comment": "While the birthDate element requires a value, if the exact date of birth is unknown, only the known portion of the date (e.g., the year) should be provided without estimating or inferring unknown parts of the date. Use of the Data Absent Reason is appropriate when the date of birth of an individual cannot be determined.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Patient.address",
                "path": "Patient.address",
                "comment": "IPS-UV flags this as a Must Support element. It is not currently flagged as Must Support in PS-CA, as stakeholders have indicated the element may not be supported by the majority of systems today. Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received. Vendors should expect that some jurisdictions may add a Must Support requirement within the context of their own jurisdictional content."
            },
            {
                "id": "Patient.generalPractitioner",
                "path": "Patient.generalPractitioner",
                "comment": "IPS-UV flags this as a Must Support element. It is not currently flagged as Must Support in PS-CA, as stakeholders have indicated the element may not be supported by the majority of systems today. Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received. Vendors should expect that some jurisdictions may add a Must Support requirement within the context of their own jurisdictional content."
            }
        ]
    }
}

Terminology bindings (Differential)

Terminology bindings (Snapshot)

Constraints

PathIdGradeDetailsExpression
Patient.namecore-pat-1errorEither Patient.name.given and/or Patient.name.family and/or Patient.name.text SHALL be present or a Data Absent Reason Extension SHALL be present.(family.exists() or given.exists() or text.exists()) xor extension.where(url='http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()

Obligations

Key Differences between the IPS-UV and PS-CA

Must Support Differences:

The following elements are considered Must Support in the IPS-UV specification that are relaxed in this version of the PS-CA profile:

  • Patient.telecom

  • Patient.address

  • Patient.generalPractitioner

    Note: Systems that support these elements are encouraged to send them in patient summaries

Cardinality Differences:

There are no cardinality differences between this profile and IPS-UV

Vocabulary Differences:

  • Patient.identifier
    • slices added for JPID & MRN identifier types anticipated to be used by early implementers

Other differences between the IPS and PS-CA Include:

  • Patient.name.text: comment added