## Profile Comparison between http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-ad vs http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-ad

Left: | Patient Profile - General - Allowable Data (http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-ad)
Right: | Patient Profile - General - Allowable Data (http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-ad)

### Messages

Error | StructureDefinition.version | Values for version differ: '0.6.2' vs '1.0.0'
Information | StructureDefinition.date | Values for date differ: '2021-08-13T13:26:56+00:00' vs '2025-09-03T20:15:06+00:00'
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International - Public Health Work Group' vs 'HL7 International / Public Health'
Information | StructureDefinition.definition | Values for definition differ: 'For [data minimization reasons](profiles.html#data-minimization), this element SHOULD NOT be populated when generating a resource conforming to this profile for inclusion in one of the Bundles profiled in this IG.' vs 'For [data minimization reasons](profiles.html#data-minimization-and-privacy), this element SHOULD NOT be populated when generating a resource conforming to this profile for inclusion in one of the Bundles profiled in this IG.'
Information | StructureDefinition.comment | Values for comment differ: 'Cardinality for this element is set to `1..*` rather than `1..1` as in rare cases there may be a valid rational for including multiple `name` elements. The Data Minimization version of this profile reflects the rarity of this by setting `name` to `1..1`.' vs 'Cardinality for this element is set to `1..*` rather than `1..1` as in rare cases there may be a valid rational for including multiple `name` elements (e.g., for a recent name change that is not yet reflected on a photo ID but will be soon). The Data Minimization version of this profile reflects the rarity of this by setting `name` to `1..1`. Name parts are typically split between `name.family` and `name.given`. For example Marie Salomea Skłodowska Curie would be represented as `name.family=“Curie”`, and `name.given=[“Marie”, “Salomea”, “Skłodowska”]`. If it is not clear how to split the parts of a person's name into `name.family` and `name.given`, or if a person has a single word for their name, implementers MAY use `name.text` instead (e.g., `name.text=“Marie Salomea Skłodowska Curie”`). Issuers SHOULD make every effort to have the contents of `name` match what appears on the patient's government-issued photo ID. Other implementers SHALL support display/processing of `name.family`/`name.given` AND `name.text`.'
Information | StructureDefinition.short | Values for short differ: 'Use instead of `family` and `given` if the patient's name cannot be easily split these elements' vs 'Use instead of `family` and `given` if the patient's name cannot be easily split into these elements'
Information | StructureDefinition.short | Values for short differ: 'Given names (not always 'first'). Includes middle names' vs 'Parts of patient's name other than their family name that appear on photo ID; e.g., first and middle names'
Information | StructureDefinition.comment | Values for comment differ: 'If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called 'first name' since given names do not always come first.' vs 'This element is used to represent all parts of a patient's name that are not their family name. For example, Marie Salomea Skłodowska Curie would have three values for `name.given`: `['Marie', 'Salomea', 'Skłodowska']`. Implementers SHOULD include all given name parts that appear on the patient's government-issued photo ID.'
Warning | Patient.name.prefix | Elements differ in definition for mustSupport: 'false' vs 'true'
Warning | Patient.name.suffix | Elements differ in definition for mustSupport: 'false' vs 'true'
Information | StructureDefinition.short | Values for short differ: 'SHALL not be included' vs 'Administrative gender'
Information | StructureDefinition.definition | Values for definition differ: 'Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.' vs 'Administrative gender. Issuers SHALL NOT include `gender` unless required by law in the jurisdiction where the SMART Health Card is issued. Verifiers SHALL NOT use `gender` in their workflows unless required by law in both the jurisdiction where the SMART Health Card was issued and the jurisdiction governing the Verifier.'
Information | StructureDefinition.comment | Values for comment differ: 'Self-identified gender may change over time, and it may not be possible to re-issue a credential updating the value of this element. Including this element could therefore create a situation where the gender element in the credential does not match that in another form of identification, or does not match the Holder's self-identified gender at the time they present their credential to a Verifier. Because gender is a common field in administrative data, it is possible Issuers will include it without considering the potential harms to Holders as described above. We have therefore disallowed this element in both the allowable and data minimization profiles.' vs 'SMART Health Cards cannot be used as a form of identification. From the [SMART Health Card specification](https://spec.smarthealth.cards/#can-a-smart-health-card-be-used-as-a-form-of-identification): _'SMART Health Cards are designed for use alongside existing forms of identification (e.g., a driver's license in person, or an online ID verification service). A SMART Health Card is a non-forgeable digital artifact analogous to a paper record on official letterhead. Concretely, the problem SMART Health Cards solve is one of provenance: a digitally signed SMART Health Card is a credential that guarantees that a specific issuer generated the record. The duty of verifying that the person presenting a Health Card is the subject of the data within the Health Card (or is authorized to act on behalf of this data subject) falls to the person or system receiving and validating a Health Card.'_ To facilitate verifying that the person presenting a Health Card is the subject of the data within the Health Card (or is authorized to act on behalf of this data subject), the patient's name and date of birth are included the SMART Health Card. **Gender is typically not included** because name and date of birth are sufficient for verification workflows, and there may be legitimate reasons why gender in a SMART Health Card does not match that in an existing form of identification (e.g., a change in administrative gender, or differences in how gender is represented). Note that it may not be possible to get a re-issued SMART Health Card if a patient's administrative gender changes. Additionally, patients may not wish to share their administrative gender with Verifiers. Since this information is typically not necessary for the Verifiers' use case, it should be omitted as is consistent with the [privacy by design](index.html#privacy-by-design) approach used throughout this IG.'
Information | Patient.gender | Element maximum cardinalities differ: '0' vs '1'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Patient |
copyright |  |
date | 2021-08-13T13:26:56+00:00 | 2025-09-03T20:15:06+00:00 | Values Differ
description | Slight modification of Patient, with identifier as 0..0 and limited MS. For general use if no geographic-specific profile exists. | Defines a [fallback (AD) profile](./profiles.html#conformance-to-profiles) representing a patient in a health card related to infectious disease vaccination and testing issued in jurisdictions where no jurisdiction-specific profile is available. [See here for implementation details](./patient.html). | Values Differ
experimental |  |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |
kind | resource |
name | SHCPatientGeneralAD |
publisher | HL7 International - Public Health Work Group | HL7 International / Public Health | Values Differ
purpose |  |
status | active |
title | Patient Profile - General - Allowable Data |
type | Patient |
url | http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-ad |
version | 0.6.2 | 1.0.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Patient |  | 0..* | Patient | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test |  | 0..* | Patient | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test |
id | Σ | 0..1 | string | Should not be populated | Σ | 0..1 | id | Should not be populated |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | An identifier for this patient | Σ | 0..* | Identifier | An identifier for this patient |
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
name | S Σ C | 1..* | HumanName | Official name (i.e., legal name) of patient Constraints: vc-name-invariant | S Σ C | 1..* | HumanName | Official name (i.e., legal name) of patient Constraints: vc-name-invariant |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: ?? (required): The use of a human name. | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: ?? (required): The use of a human name. |
text | Σ | 0..1 | string | Use instead of `family` and `given` if the patient's name cannot be easily split these elements | Σ | 0..1 | string | Use instead of `family` and `given` if the patient's name cannot be easily split into these elements |
family | S Σ | 0..1 | string | Family name (often called 'Surname') | S Σ | 0..1 | string | Family name (often called 'Surname') |
given | S Σ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name | S Σ | 0..* | string | Parts of patient's name other than their family name that appear on photo ID; e.g., first and middle names This repeating element order: Given Names appear in the correct order for presenting the name |
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name | S Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name | Elements differ in definition for mustSupport: 'false' vs 'true'
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name | S Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name | Elements differ in definition for mustSupport: 'false' vs 'true'
period | Σ | 0..1 | Period | Time period when name was/is in use | Σ | 0..1 | Period | Time period when name was/is in use |
telecom | Σ | 0..* | ContactPoint | A contact detail for the individual | Σ | 0..* | ContactPoint | A contact detail for the individual |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ?? (required): Telecommunications form for contact point. | Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ?? (required): Telecommunications form for contact point. |
value | Σ C | 0..1 | string | The actual contact point details Constraints: vc-should-be-omitted-privacy | Σ C | 0..1 | string | The actual contact point details Constraints: vc-should-be-omitted-privacy |
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ?? (required): Use of contact point. | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ?? (required): Use of contact point. |
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) |
period | Σ | 0..1 | Period | Time period when the contact point was/is in use | Σ | 0..1 | Period | Time period when the contact point was/is in use |
gender | Σ | 0..0 |  |  | Σ C | 0..1 | code | Administrative gender Binding: ?? (required): The gender of a person used for administrative purposes. Constraints: use-only-if-required-by-law | Element maximum cardinalities differ: '0' vs '1'
birthDate | S Σ | 0..1 | date | The date of birth for the individual | S Σ | 0..1 | date | The date of birth for the individual |
deceased[x] | ?!Σ | 0..1 | boolean, dateTime | Indicates if the individual is deceased or not | ?!Σ | 0..1 | boolean, dateTime | Indicates if the individual is deceased or not |
address | Σ | 0..* | Address | An address for the individual | Σ | 0..* | Address | An address for the individual |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: ?? (required): The use of an address. Example General: home | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: ?? (required): The use of an address. Example General: home |
type | Σ | 0..1 | code | postal | physical | both Binding: ?? (required): The type of an address (physical / postal). Example General: both | Σ | 0..1 | code | postal | physical | both Binding: ?? (required): The type of an address (physical / postal). Example General: both |
text | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
line | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
city | Σ C | 0..1 | string | Name of city, town etc. Constraints: vc-should-be-omitted-privacy Example General: Erewhon | Σ C | 0..1 | string | Name of city, town etc. Constraints: vc-should-be-omitted-privacy Example General: Erewhon |
district | Σ C | 0..1 | string | District name (aka county) Constraints: vc-should-be-omitted-privacy Example General: Madison | Σ C | 0..1 | string | District name (aka county) Constraints: vc-should-be-omitted-privacy Example General: Madison |
state | Σ C | 0..1 | string | Sub-unit of country (abbreviations ok) Constraints: vc-should-be-omitted-privacy | Σ C | 0..1 | string | Sub-unit of country (abbreviations ok) Constraints: vc-should-be-omitted-privacy |
postalCode | Σ C | 0..1 | string | Postal code for area Constraints: vc-should-be-omitted-privacy Example General: 9132 | Σ C | 0..1 | string | Postal code for area Constraints: vc-should-be-omitted-privacy Example General: 9132 |
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) |
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"} | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"} |
maritalStatus |  | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: ?? (extensible): The domestic partnership status of a person. |  | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: ?? (extensible): The domestic partnership status of a person. |
multipleBirth[x] |  | 0..1 | boolean, integer | Whether patient is part of a multiple birth |  | 0..1 | boolean, integer | Whether patient is part of a multiple birth |
photo |  | 0..0 |  |  |  | 0..0 |  |  |
contact | C | 0..0 |  |  | C | 0..0 |  |  |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
relationship |  | 0..* | CodeableConcept | The kind of relationship Binding: ?? (extensible): The nature of the relationship between a patient and a contact person for that patient. |  | 0..* | CodeableConcept | The kind of relationship Binding: ?? (extensible): The nature of the relationship between a patient and a contact person for that patient. |
name |  | 0..1 | HumanName | A name associated with the contact person |  | 0..1 | HumanName | A name associated with the contact person |
telecom |  | 0..* | ContactPoint | A contact detail for the person |  | 0..* | ContactPoint | A contact detail for the person |
address |  | 0..1 | Address | Address for the contact person |  | 0..1 | Address | Address for the contact person |
gender |  | 0..1 | code | male | female | other | unknown Binding: ?? (required): The gender of a person used for administrative purposes. |  | 0..1 | code | male | female | other | unknown Binding: ?? (required): The gender of a person used for administrative purposes. |
organization | C | 0..1 | Reference(Organization) | Organization that is associated with the contact | C | 0..1 | Reference(Organization) | Organization that is associated with the contact |
period |  | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient |  | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient |
communication |  | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health |  | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
language |  | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
preferred |  | 0..1 | boolean | Language preference indicator |  | 0..1 | boolean | Language preference indicator |
generalPractitioner |  | 0..* | Reference(Organization | Practitioner | PractitionerRole) | Patient's nominated primary care provider |  | 0..* | Reference(Organization | Practitioner | PractitionerRole) | Patient's nominated primary care provider |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that is the custodian of the patient record | Σ | 0..1 | Reference(Organization) | Organization that is the custodian of the patient record |
link | ?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person | ?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to |
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: ?? (required): The type of link between this patient resource and another patient resource. | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: ?? (required): The type of link between this patient resource and another patient resource. |
Documentation for this format