VA PGHD FHIR R4 Governance
2.1.27 - active
VA PGHD FHIR R4 Governance - Local Development build (v2.1.27) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://veteran.apps.va.gov/smart-pgd-fhir/v2/StructureDefinition/va-pghd-patient-base-v1.0 | Version: 2.1.27 | |||
| Active as of 2023-03-01 | Computable Name: VAPghdPatientProfileBase | |||
VA PGHD Patient base profile defining the common constraints for all PGHD patients. It should have at least 1 ICN identifier with the right VA ICN system (urn:oid:2.16.840.1.113883.4.349) and ICN value format ([0-9]{10}V[0-9]{6}). The local identifier type code - ICN is defined in the VA PGHD code system.
This is the PGHD patient base profile defining the common constraints for all VA PGHD patient profiles. Other PGHD patient profiles should derive from this base profile.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Patient | PGHD Governance Rules for Patients Constraints: pghd-meta-tag-1, pghd-patient-identifier-1, pghd-patient-identifier-icn-1, pghd-patient-identifier-icn-2, pghd-patient-identifier-icn-3, pghd-patient-identifier-type-1, pghd-patient-properties-1, pghd-patient-text-1 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |
![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() |
dateTime | |||
![]() ![]() |
?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to |
![]() ![]() ![]() |
Σ | 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 | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | 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 | error | 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 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Patient | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| pghd-meta-tag-1 | error | Patient | A QuestionnaireResponse must have at least one meta tag, one of which has system = 'https://wiki.mobilehealth.va.gov/x/Onc1C', a code, and a display value |
meta.tag.where(system = 'https://wiki.mobilehealth.va.gov/x/Onc1C' and code.exists() and display.exists()).count() = 1
|
| pghd-patient-identifier-1 | error | Patient | A Patient identifier must have system and value properties |
identifier.all(system.exists() and value.exists())
|
| pghd-patient-identifier-icn-1 | error | Patient | A Patient must have exactly one identifier with system = urn:oid:2.16.840.1.113883.4.349, and value matching 0000000000V000000 (where 0 indicates a decimal digit) |
identifier.where(system = 'urn:uuid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where(system = 'urn:oid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system) and value.matches('^[0-9]{10}V[0-9]{6}$')).count() > 0
|
| pghd-patient-identifier-icn-2 | warning | Patient | The Patient identifier.system URN is not the expected 'urn:oid:2.16.840.1.113883.4.349' |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() = 1 implies identifier.exists(system = 'urn:oid:2.16.840.1.113883.4.349')
|
| pghd-patient-identifier-icn-3 | error | Patient | Patient submitted with uuid- and oid- based ICNs must have the same value |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() > 0 implies identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).select(value).distinct().count() = 1
|
| pghd-patient-identifier-type-1 | warning | Patient | Patient identifier type.text is not supported |
identifier.type.text.exists().not()
|
| pghd-patient-properties-1 | warning | Patient | Patient properties must be one of id, text, identifier, meta.tag, meta.profile, or system-maintained meta properties |
(children().exclude($this.id | $this.identifier | $this.text | $this.meta) | meta.children().exclude($this.meta.tag | $this.meta.profile | $this.meta.versionId | $this.meta.lastUpdated | $this.meta.source)).exists().not()
|
| pghd-patient-text-1 | warning | Patient | Patient.text is used to indicate test Patients that can be removed at a later date |
text.hasValue().not()
|
This structure is derived from Patient
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Patient | PGHD Governance Rules for Patients Constraints: pghd-meta-tag-1, pghd-patient-identifier-1, pghd-patient-identifier-icn-1, pghd-patient-identifier-icn-2, pghd-patient-identifier-icn-3, pghd-patient-identifier-type-1, pghd-patient-properties-1, pghd-patient-text-1 |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| pghd-meta-tag-1 | error | Patient | A QuestionnaireResponse must have at least one meta tag, one of which has system = 'https://wiki.mobilehealth.va.gov/x/Onc1C', a code, and a display value |
meta.tag.where(system = 'https://wiki.mobilehealth.va.gov/x/Onc1C' and code.exists() and display.exists()).count() = 1
|
| pghd-patient-identifier-1 | error | Patient | A Patient identifier must have system and value properties |
identifier.all(system.exists() and value.exists())
|
| pghd-patient-identifier-icn-1 | error | Patient | A Patient must have exactly one identifier with system = urn:oid:2.16.840.1.113883.4.349, and value matching 0000000000V000000 (where 0 indicates a decimal digit) |
identifier.where(system = 'urn:uuid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where(system = 'urn:oid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system) and value.matches('^[0-9]{10}V[0-9]{6}$')).count() > 0
|
| pghd-patient-identifier-icn-2 | warning | Patient | The Patient identifier.system URN is not the expected 'urn:oid:2.16.840.1.113883.4.349' |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() = 1 implies identifier.exists(system = 'urn:oid:2.16.840.1.113883.4.349')
|
| pghd-patient-identifier-icn-3 | error | Patient | Patient submitted with uuid- and oid- based ICNs must have the same value |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() > 0 implies identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).select(value).distinct().count() = 1
|
| pghd-patient-identifier-type-1 | warning | Patient | Patient identifier type.text is not supported |
identifier.type.text.exists().not()
|
| pghd-patient-properties-1 | warning | Patient | Patient properties must be one of id, text, identifier, meta.tag, meta.profile, or system-maintained meta properties |
(children().exclude($this.id | $this.identifier | $this.text | $this.meta) | meta.children().exclude($this.meta.tag | $this.meta.profile | $this.meta.versionId | $this.meta.lastUpdated | $this.meta.source)).exists().not()
|
| pghd-patient-text-1 | warning | Patient | Patient.text is used to indicate test Patients that can be removed at a later date |
text.hasValue().not()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Patient | PGHD Governance Rules for Patients Constraints: pghd-meta-tag-1, pghd-patient-identifier-1, pghd-patient-identifier-icn-1, pghd-patient-identifier-icn-2, pghd-patient-identifier-icn-3, pghd-patient-identifier-type-1, pghd-patient-properties-1, pghd-patient-text-1 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | An identifier for this patient | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
![]() ![]() |
Σ | 0..* | HumanName | A name associated with the patient | ||||
![]() ![]() |
Σ | 0..* | ContactPoint | A contact detail for the individual | ||||
![]() ![]() |
Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
![]() ![]() |
Σ | 0..1 | date | The date of birth for the individual | ||||
![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() |
Σ | 0..* | Address | An address for the individual | ||||
![]() ![]() |
0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible): The domestic partnership status of a person. | |||||
![]() ![]() |
0..1 | Whether patient is part of a multiple birth | ||||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
integer | |||||||
![]() ![]() |
0..* | Attachment | Image of the patient | |||||
![]() ![]() |
C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient Constraints: pat-1 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. | |||||
![]() ![]() ![]() |
0..1 | HumanName | A name associated with the contact person | |||||
![]() ![]() ![]() |
0..* | ContactPoint | A contact detail for the person | |||||
![]() ![]() ![]() |
0..1 | Address | Address for the contact person | |||||
![]() ![]() ![]() |
0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
![]() ![]() ![]() |
C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
![]() ![]() ![]() |
0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
![]() ![]() |
0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | boolean | Language preference indicator | |||||
![]() ![]() |
0..* | Reference(Organization | Practitioner | PractitionerRole) | Patient's nominated primary care provider | |||||
![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that is the custodian of the patient record | ||||
![]() ![]() |
?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | ||||
![]() ![]() ![]() |
Σ | 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 | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Patient.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Patient.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.maritalStatus | Base | extensible | MaritalStatus | 📍4.0.1 | FHIR Std. |
| Patient.contact.relationship | Base | extensible | Patient Contact Relationship | 📍4.0.1 | FHIR Std. |
| Patient.contact.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.communication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | 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 | error | 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 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Patient | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| pat-1 | error | Patient.contact | SHALL at least contain a contact's details or a reference to an organization |
name.exists() or telecom.exists() or address.exists() or organization.exists()
|
| pghd-meta-tag-1 | error | Patient | A QuestionnaireResponse must have at least one meta tag, one of which has system = 'https://wiki.mobilehealth.va.gov/x/Onc1C', a code, and a display value |
meta.tag.where(system = 'https://wiki.mobilehealth.va.gov/x/Onc1C' and code.exists() and display.exists()).count() = 1
|
| pghd-patient-identifier-1 | error | Patient | A Patient identifier must have system and value properties |
identifier.all(system.exists() and value.exists())
|
| pghd-patient-identifier-icn-1 | error | Patient | A Patient must have exactly one identifier with system = urn:oid:2.16.840.1.113883.4.349, and value matching 0000000000V000000 (where 0 indicates a decimal digit) |
identifier.where(system = 'urn:uuid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where(system = 'urn:oid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system) and value.matches('^[0-9]{10}V[0-9]{6}$')).count() > 0
|
| pghd-patient-identifier-icn-2 | warning | Patient | The Patient identifier.system URN is not the expected 'urn:oid:2.16.840.1.113883.4.349' |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() = 1 implies identifier.exists(system = 'urn:oid:2.16.840.1.113883.4.349')
|
| pghd-patient-identifier-icn-3 | error | Patient | Patient submitted with uuid- and oid- based ICNs must have the same value |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() > 0 implies identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).select(value).distinct().count() = 1
|
| pghd-patient-identifier-type-1 | warning | Patient | Patient identifier type.text is not supported |
identifier.type.text.exists().not()
|
| pghd-patient-properties-1 | warning | Patient | Patient properties must be one of id, text, identifier, meta.tag, meta.profile, or system-maintained meta properties |
(children().exclude($this.id | $this.identifier | $this.text | $this.meta) | meta.children().exclude($this.meta.tag | $this.meta.profile | $this.meta.versionId | $this.meta.lastUpdated | $this.meta.source)).exists().not()
|
| pghd-patient-text-1 | warning | Patient | Patient.text is used to indicate test Patients that can be removed at a later date |
text.hasValue().not()
|
This structure is derived from Patient
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Patient | PGHD Governance Rules for Patients Constraints: pghd-meta-tag-1, pghd-patient-identifier-1, pghd-patient-identifier-icn-1, pghd-patient-identifier-icn-2, pghd-patient-identifier-icn-3, pghd-patient-identifier-type-1, pghd-patient-properties-1, pghd-patient-text-1 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |
![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() |
dateTime | |||
![]() ![]() |
?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to |
![]() ![]() ![]() |
Σ | 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 | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | 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 | error | 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 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Patient | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| pghd-meta-tag-1 | error | Patient | A QuestionnaireResponse must have at least one meta tag, one of which has system = 'https://wiki.mobilehealth.va.gov/x/Onc1C', a code, and a display value |
meta.tag.where(system = 'https://wiki.mobilehealth.va.gov/x/Onc1C' and code.exists() and display.exists()).count() = 1
|
| pghd-patient-identifier-1 | error | Patient | A Patient identifier must have system and value properties |
identifier.all(system.exists() and value.exists())
|
| pghd-patient-identifier-icn-1 | error | Patient | A Patient must have exactly one identifier with system = urn:oid:2.16.840.1.113883.4.349, and value matching 0000000000V000000 (where 0 indicates a decimal digit) |
identifier.where(system = 'urn:uuid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where(system = 'urn:oid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system) and value.matches('^[0-9]{10}V[0-9]{6}$')).count() > 0
|
| pghd-patient-identifier-icn-2 | warning | Patient | The Patient identifier.system URN is not the expected 'urn:oid:2.16.840.1.113883.4.349' |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() = 1 implies identifier.exists(system = 'urn:oid:2.16.840.1.113883.4.349')
|
| pghd-patient-identifier-icn-3 | error | Patient | Patient submitted with uuid- and oid- based ICNs must have the same value |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() > 0 implies identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).select(value).distinct().count() = 1
|
| pghd-patient-identifier-type-1 | warning | Patient | Patient identifier type.text is not supported |
identifier.type.text.exists().not()
|
| pghd-patient-properties-1 | warning | Patient | Patient properties must be one of id, text, identifier, meta.tag, meta.profile, or system-maintained meta properties |
(children().exclude($this.id | $this.identifier | $this.text | $this.meta) | meta.children().exclude($this.meta.tag | $this.meta.profile | $this.meta.versionId | $this.meta.lastUpdated | $this.meta.source)).exists().not()
|
| pghd-patient-text-1 | warning | Patient | Patient.text is used to indicate test Patients that can be removed at a later date |
text.hasValue().not()
|
Differential View
This structure is derived from Patient
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Patient | PGHD Governance Rules for Patients Constraints: pghd-meta-tag-1, pghd-patient-identifier-1, pghd-patient-identifier-icn-1, pghd-patient-identifier-icn-2, pghd-patient-identifier-icn-3, pghd-patient-identifier-type-1, pghd-patient-properties-1, pghd-patient-text-1 |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| pghd-meta-tag-1 | error | Patient | A QuestionnaireResponse must have at least one meta tag, one of which has system = 'https://wiki.mobilehealth.va.gov/x/Onc1C', a code, and a display value |
meta.tag.where(system = 'https://wiki.mobilehealth.va.gov/x/Onc1C' and code.exists() and display.exists()).count() = 1
|
| pghd-patient-identifier-1 | error | Patient | A Patient identifier must have system and value properties |
identifier.all(system.exists() and value.exists())
|
| pghd-patient-identifier-icn-1 | error | Patient | A Patient must have exactly one identifier with system = urn:oid:2.16.840.1.113883.4.349, and value matching 0000000000V000000 (where 0 indicates a decimal digit) |
identifier.where(system = 'urn:uuid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where(system = 'urn:oid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system) and value.matches('^[0-9]{10}V[0-9]{6}$')).count() > 0
|
| pghd-patient-identifier-icn-2 | warning | Patient | The Patient identifier.system URN is not the expected 'urn:oid:2.16.840.1.113883.4.349' |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() = 1 implies identifier.exists(system = 'urn:oid:2.16.840.1.113883.4.349')
|
| pghd-patient-identifier-icn-3 | error | Patient | Patient submitted with uuid- and oid- based ICNs must have the same value |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() > 0 implies identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).select(value).distinct().count() = 1
|
| pghd-patient-identifier-type-1 | warning | Patient | Patient identifier type.text is not supported |
identifier.type.text.exists().not()
|
| pghd-patient-properties-1 | warning | Patient | Patient properties must be one of id, text, identifier, meta.tag, meta.profile, or system-maintained meta properties |
(children().exclude($this.id | $this.identifier | $this.text | $this.meta) | meta.children().exclude($this.meta.tag | $this.meta.profile | $this.meta.versionId | $this.meta.lastUpdated | $this.meta.source)).exists().not()
|
| pghd-patient-text-1 | warning | Patient | Patient.text is used to indicate test Patients that can be removed at a later date |
text.hasValue().not()
|
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Patient | PGHD Governance Rules for Patients Constraints: pghd-meta-tag-1, pghd-patient-identifier-1, pghd-patient-identifier-icn-1, pghd-patient-identifier-icn-2, pghd-patient-identifier-icn-3, pghd-patient-identifier-type-1, pghd-patient-properties-1, pghd-patient-text-1 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | An identifier for this patient | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
![]() ![]() |
Σ | 0..* | HumanName | A name associated with the patient | ||||
![]() ![]() |
Σ | 0..* | ContactPoint | A contact detail for the individual | ||||
![]() ![]() |
Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
![]() ![]() |
Σ | 0..1 | date | The date of birth for the individual | ||||
![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() |
Σ | 0..* | Address | An address for the individual | ||||
![]() ![]() |
0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible): The domestic partnership status of a person. | |||||
![]() ![]() |
0..1 | Whether patient is part of a multiple birth | ||||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
integer | |||||||
![]() ![]() |
0..* | Attachment | Image of the patient | |||||
![]() ![]() |
C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient Constraints: pat-1 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. | |||||
![]() ![]() ![]() |
0..1 | HumanName | A name associated with the contact person | |||||
![]() ![]() ![]() |
0..* | ContactPoint | A contact detail for the person | |||||
![]() ![]() ![]() |
0..1 | Address | Address for the contact person | |||||
![]() ![]() ![]() |
0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
![]() ![]() ![]() |
C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
![]() ![]() ![]() |
0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
![]() ![]() |
0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | boolean | Language preference indicator | |||||
![]() ![]() |
0..* | Reference(Organization | Practitioner | PractitionerRole) | Patient's nominated primary care provider | |||||
![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that is the custodian of the patient record | ||||
![]() ![]() |
?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | ||||
![]() ![]() ![]() |
Σ | 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 | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Patient.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Patient.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.maritalStatus | Base | extensible | MaritalStatus | 📍4.0.1 | FHIR Std. |
| Patient.contact.relationship | Base | extensible | Patient Contact Relationship | 📍4.0.1 | FHIR Std. |
| Patient.contact.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.communication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | 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 | error | 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 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Patient | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| pat-1 | error | Patient.contact | SHALL at least contain a contact's details or a reference to an organization |
name.exists() or telecom.exists() or address.exists() or organization.exists()
|
| pghd-meta-tag-1 | error | Patient | A QuestionnaireResponse must have at least one meta tag, one of which has system = 'https://wiki.mobilehealth.va.gov/x/Onc1C', a code, and a display value |
meta.tag.where(system = 'https://wiki.mobilehealth.va.gov/x/Onc1C' and code.exists() and display.exists()).count() = 1
|
| pghd-patient-identifier-1 | error | Patient | A Patient identifier must have system and value properties |
identifier.all(system.exists() and value.exists())
|
| pghd-patient-identifier-icn-1 | error | Patient | A Patient must have exactly one identifier with system = urn:oid:2.16.840.1.113883.4.349, and value matching 0000000000V000000 (where 0 indicates a decimal digit) |
identifier.where(system = 'urn:uuid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where(system = 'urn:oid:2.16.840.1.113883.4.349' and value.matches('^[0-9]{10}V[0-9]{6}$')).count() < 2 and identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system) and value.matches('^[0-9]{10}V[0-9]{6}$')).count() > 0
|
| pghd-patient-identifier-icn-2 | warning | Patient | The Patient identifier.system URN is not the expected 'urn:oid:2.16.840.1.113883.4.349' |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() = 1 implies identifier.exists(system = 'urn:oid:2.16.840.1.113883.4.349')
|
| pghd-patient-identifier-icn-3 | error | Patient | Patient submitted with uuid- and oid- based ICNs must have the same value |
identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).count() > 0 implies identifier.where('urn:oid:2.16.840.1.113883.4.349,urn:uuid:2.16.840.1.113883.4.349'.contains($this.system)).select(value).distinct().count() = 1
|
| pghd-patient-identifier-type-1 | warning | Patient | Patient identifier type.text is not supported |
identifier.type.text.exists().not()
|
| pghd-patient-properties-1 | warning | Patient | Patient properties must be one of id, text, identifier, meta.tag, meta.profile, or system-maintained meta properties |
(children().exclude($this.id | $this.identifier | $this.text | $this.meta) | meta.children().exclude($this.meta.tag | $this.meta.profile | $this.meta.versionId | $this.meta.lastUpdated | $this.meta.source)).exists().not()
|
| pghd-patient-text-1 | warning | Patient | Patient.text is used to indicate test Patients that can be removed at a later date |
text.hasValue().not()
|
This structure is derived from Patient
Other representations of profile: CSV, Excel, Schematron