This page is part of the SMART Health Cards Vaccination and Testing, Release 1 | STU 1 (v0.6.2: STU 1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions
Defining URL: | http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-us-ad |
Version: | 0.6.2 |
Name: | SHCPatientUnitedStatesAD |
Title: | Patient Profile - United States - Allowable Data |
Status: | Active as of 2021-08-13T13:26:56+00:00 |
Definition: | Only elements necessary for Verifiers can be populated. |
Publisher: | HL7 International - Public Health Work Group |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-us-ad
For representing the minimal information needed to identify a patient in a SMART Health Card.
Implementation instructions ← Start here!
Primary profile (DM) | Fallback Profiles (AD) | Scope |
---|---|---|
Patient - General | Fallback | For general use where no geographic-specific profile exists |
Patient - United States | Fallback | United States only |
Note! This is a fallback “allowable data” (AD) profile. Implementers should validate against the primary “data minimization” (DM) profile if possible.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from SHCPatientGeneralAD
This structure is derived from SHCPatientGeneralAD
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | SHCPatientGeneralAD | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
identifier | 0..0 | |||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | SHCPatientGeneralAD | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
id | Σ | 0..1 | string | Should not be populated |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
name | SΣI | 1..* | HumanName | Official name (i.e., legal name) of patient |
id | 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 | |
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (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 |
family | 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 |
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name |
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name |
period | Σ | 0..1 | Period | Time period when name was/is in use |
telecom | Σ | 0..* | ContactPoint | A contact detail for the individual |
id | 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 | |
system | ΣI | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. |
value | ΣI | 0..1 | string | The actual contact point details |
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. |
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) |
period | Σ | 0..1 | Period | Time period when the contact point was/is in use |
birthDate | SΣ | 0..1 | date | The date of birth for the individual |
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |
deceasedBoolean | boolean | |||
deceasedDateTime | dateTime | |||
address | Σ | 0..* | Address | An address for the individual |
id | 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 | |
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home |
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both |
city | ΣI | 0..1 | string | Name of city, town etc. Example General: Erewhon |
district | ΣI | 0..1 | string | District name (aka county) Example General: Madison |
state | ΣI | 0..1 | string | Sub-unit of country (abbreviations ok) |
postalCode | ΣI | 0..1 | string | Postal code for area Example General: 9132 |
country | Σ | 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"} |
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible): The domestic partnership status of a person. | |
multipleBirth[x] | 0..1 | Whether patient is part of a multiple birth | ||
multipleBirthBoolean | boolean | |||
multipleBirthInteger | integer | |||
communication | 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 | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 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: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
preferred | 0..1 | boolean | Language preference indicator | |
generalPractitioner | 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 |
link | ?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 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 |
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | SHCPatientGeneralAD | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
name | ΣI | 1..* | HumanName | Official name (i.e., legal name) of patient |
family | Σ | 0..1 | string | Family name (often called 'Surname') |
given | Σ | 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 |
birthDate | Σ | 0..1 | date | The date of birth for the individual |
Documentation for this format |
This structure is derived from SHCPatientGeneralAD
Differential View
This structure is derived from SHCPatientGeneralAD
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | SHCPatientGeneralAD | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
identifier | 0..0 | |||
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | SHCPatientGeneralAD | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
id | Σ | 0..1 | string | Should not be populated |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
name | SΣI | 1..* | HumanName | Official name (i.e., legal name) of patient |
id | 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 | |
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (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 |
family | 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 |
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name |
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name |
period | Σ | 0..1 | Period | Time period when name was/is in use |
telecom | Σ | 0..* | ContactPoint | A contact detail for the individual |
id | 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 | |
system | ΣI | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. |
value | ΣI | 0..1 | string | The actual contact point details |
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. |
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) |
period | Σ | 0..1 | Period | Time period when the contact point was/is in use |
birthDate | SΣ | 0..1 | date | The date of birth for the individual |
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |
deceasedBoolean | boolean | |||
deceasedDateTime | dateTime | |||
address | Σ | 0..* | Address | An address for the individual |
id | 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 | |
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home |
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both |
city | ΣI | 0..1 | string | Name of city, town etc. Example General: Erewhon |
district | ΣI | 0..1 | string | District name (aka county) Example General: Madison |
state | ΣI | 0..1 | string | Sub-unit of country (abbreviations ok) |
postalCode | ΣI | 0..1 | string | Postal code for area Example General: 9132 |
country | Σ | 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"} |
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible): The domestic partnership status of a person. | |
multipleBirth[x] | 0..1 | Whether patient is part of a multiple birth | ||
multipleBirthBoolean | boolean | |||
multipleBirthInteger | integer | |||
communication | 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 | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 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: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
preferred | 0..1 | boolean | Language preference indicator | |
generalPractitioner | 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 |
link | ?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 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 |
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. |
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Patient.language | preferred | CommonLanguages Max Binding: AllLanguages |
Patient.name.use | required | NameUse |
Patient.telecom.system | required | ContactPointSystem |
Patient.telecom.use | required | ContactPointUse |
Patient.address.use | required | AddressUse |
Patient.address.type | required | AddressType |
Patient.maritalStatus | extensible | Marital Status Codes |
Patient.contact.relationship | extensible | PatientContactRelationship |
Patient.contact.gender | required | AdministrativeGender |
Patient.communication.language | preferred | CommonLanguages Max Binding: AllLanguages |
Patient.link.type | required | LinkType |
Id | Path | Details | Requirements |
dom-2 | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Patient | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | Patient | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Patient.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.active | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vc-name-invariant | Patient.name | Require one of the key name elements to be filled. Allows for `text` for names that cannot be cleanly categorized into `family` or `given` (https://www.nature.com/articles/d41586-020-02761-z). : (family.exists() or given.exists()) xor text.exists() | |
ele-1 | Patient.name.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.name.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.name.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.name.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.name.family | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.name.given | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.name.prefix | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.name.suffix | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.name.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.telecom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.telecom.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.telecom.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.telecom.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.telecom.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vc-should-be-omitted-privacy | Patient.telecom.value | SHOULD be omitted to protect privacy and for data minimization. : $this.length() = 0 | |
ele-1 | Patient.telecom.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.telecom.rank | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.telecom.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.birthDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.deceased[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.address.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.address.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address.city | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vc-should-be-omitted-privacy | Patient.address.city | SHOULD be omitted to protect privacy and for data minimization. : $this.length() = 0 | |
ele-1 | Patient.address.district | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vc-should-be-omitted-privacy | Patient.address.district | SHOULD be omitted to protect privacy and for data minimization. : $this.length() = 0 | |
ele-1 | Patient.address.state | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vc-should-be-omitted-privacy | Patient.address.state | SHOULD be omitted to protect privacy and for data minimization. : $this.length() = 0 | |
ele-1 | Patient.address.postalCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vc-should-be-omitted-privacy | Patient.address.postalCode | SHOULD be omitted to protect privacy and for data minimization. : $this.length() = 0 | |
ele-1 | Patient.address.country | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.maritalStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.multipleBirth[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.contact.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.contact.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.contact.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.contact.relationship | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.telecom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.address | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.gender | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.organization | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.communication | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.communication.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.communication.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.communication.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.communication.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.communication.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.communication.preferred | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.generalPractitioner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.managingOrganization | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.link | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.link.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.link.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.link.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.link.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.link.other | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.link.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |