NHDR Implementation Guide Release 1.0
0.1.0 - ci-build
NHDR Implementation Guide Release 1.0, published by NHDR. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/PROJ-PHILHEALTH-EA-NHDR/PhilHealth-NHDR-IG-Review/ and changes regularly. See the Directory of published versions
Official URL: https://nhdr.gov.ph/fhir/StructureDefinition/PH-Provenance | Version: 0.1.0 | |||
Standards status: Draft | Computable Name: PH_Provenance | |||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.
Usages:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() ![]() |
Σ | 1..* | Reference(Resource) | Target Reference(s) (usually version specific) |
![]() ![]() ![]() |
Σ | 1..1 | instant | When the activity was recorded / updated |
![]() ![]() ![]() |
1..* | BackboneElement | Actor involved | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
![]() ![]() ![]() |
0..* | PH_Signature | Signature on target | |
![]() |
Path | Conformance | ValueSet | URI |
Provenance.entity.role | required | ProvenanceEntityRolehttp://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Provenance | 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 | Provenance | 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 | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Provenance | 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() |
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..* | PH_Signature | Signature on target | |
![]() |
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact |
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() |
Σ | 1..* | Reference(Resource) | Target Reference(s) (usually version specific) |
![]() ![]() ![]() |
Σ | 1..1 | instant | When the activity was recorded / updated |
![]() ![]() ![]() |
1..* | BackboneElement | Actor involved | |
![]() ![]() ![]() ![]() |
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..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. |
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
![]() ![]() ![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |
![]() ![]() ![]() |
0..* | PH_Signature | Signature on target | |
![]() |
Path | Conformance | ValueSet | URI |
Provenance.agent.type | extensible | ProvenanceParticipantTypehttp://hl7.org/fhir/ValueSet/provenance-agent-type From the FHIR Standard | |
Provenance.agent.role | example | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type From the FHIR Standard | |
Provenance.entity.role | required | ProvenanceEntityRolehttp://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Provenance | 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 | Provenance | 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 | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Provenance | 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() |
This structure is derived from Provenance
Key Elements View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() ![]() |
Σ | 1..* | Reference(Resource) | Target Reference(s) (usually version specific) |
![]() ![]() ![]() |
Σ | 1..1 | instant | When the activity was recorded / updated |
![]() ![]() ![]() |
1..* | BackboneElement | Actor involved | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
![]() ![]() ![]() |
0..* | PH_Signature | Signature on target | |
![]() |
Path | Conformance | ValueSet | URI |
Provenance.entity.role | required | ProvenanceEntityRolehttp://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Provenance | 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 | Provenance | 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 | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Provenance | 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() |
Differential View
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..* | PH_Signature | Signature on target | |
![]() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact |
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() |
Σ | 1..* | Reference(Resource) | Target Reference(s) (usually version specific) |
![]() ![]() ![]() |
Σ | 1..1 | instant | When the activity was recorded / updated |
![]() ![]() ![]() |
1..* | BackboneElement | Actor involved | |
![]() ![]() ![]() ![]() |
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..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. |
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
![]() ![]() ![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |
![]() ![]() ![]() |
0..* | PH_Signature | Signature on target | |
![]() |
Path | Conformance | ValueSet | URI |
Provenance.agent.type | extensible | ProvenanceParticipantTypehttp://hl7.org/fhir/ValueSet/provenance-agent-type From the FHIR Standard | |
Provenance.agent.role | example | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type From the FHIR Standard | |
Provenance.entity.role | required | ProvenanceEntityRolehttp://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Provenance | 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 | Provenance | 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 | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Provenance | 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() |
This structure is derived from Provenance
Other representations of profile: CSV, Excel, Schematron