SPL Mapping FHIR R5 Implementation Guide, published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 0.2.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-spl/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/us/spl/StructureDefinition/DualSubmissionProvenance | Version: 0.2.1 | |||
Standards status: Trial-use | Maturity Level: 1 | Computable Name: DualSubmissionProvenance |
A profile that links changes made to a FHIR system either via a converted SPL document or that are sent to a SPL system
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
target | S | 1..* | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Target Reference(s) (usually version specific) |
occurred[x] | S | 1..1 | Period, dateTime | When the activity occurred |
recorded | S | 0..1 | instant | When the activity was recorded / updated |
activity | S | 1..1 | CodeableConcept | Activity that occurred |
agent | S | 1..1 | BackboneElement | Actor involved |
type | S | 1..1 | CodeableConcept | How the agent participated Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assembler | |
who | S | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | The agent that participated in the event |
entity | S | 1..* | BackboneElement | An entity used in this activity |
role | S | 1..1 | code | revision | quotation | source | instantiates | removal Required Pattern: source |
what | 1..1 | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Identity of entity | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children |
contained | 0..* | Resource | Contained, inline Resources | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
target | SΣ | 1..* | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Target Reference(s) (usually version specific) ele-1: All FHIR elements must have a @value or children |
occurred[x] | S | 1..1 | When the activity occurred ele-1: All FHIR elements must have a @value or children | |
occurredPeriod | Period | |||
occurredDateTime | dateTime | |||
recorded | SΣ | 0..1 | instant | When the activity was recorded / updated ele-1: All FHIR elements must have a @value or children |
activity | S | 1..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (example): The activity that took place. ele-1: All FHIR elements must have a @value or children |
agent | SΣC | 1..1 | BackboneElement | Actor involved ele-1: All FHIR elements must have a @value or children prov-1: Who and onBehalfOf cannot be the same prov-2: If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner prov-3: If who is an organization, onBehalfOf can't be a PractitionerRole within that organization |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ParticipationRoleType (example): The type of participation that a provenance agent played with respect to the activity. ele-1: All FHIR elements must have a @value or children Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assembler | |
who | SΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | The agent that participated in the event ele-1: All FHIR elements must have a @value or children |
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated ele-1: All FHIR elements must have a @value or children |
entity | SΣ | 1..* | BackboneElement | An entity used in this activity ele-1: All FHIR elements must have a @value or children |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
role | SΣ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. ele-1: All FHIR elements must have a @value or children Required Pattern: source |
what | Σ | 1..1 | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Identity of entity ele-1: All FHIR elements must have a @value or children |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Provenance.activity | example | ProvenanceActivityTypehttp://hl7.org/fhir/ValueSet/provenance-activity-type from the FHIR Standard | |
Provenance.agent.type | example | Pattern: assemblerhttp://hl7.org/fhir/ValueSet/participation-role-type from the FHIR Standard | |
Provenance.entity.role | required | Pattern: sourcehttp://hl7.org/fhir/ValueSet/provenance-entity-role|5.0.0 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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() | |
prov-1 | error | Provenance.agent | Who and onBehalfOf cannot be the same : who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve() | |
prov-2 | error | Provenance.agent | If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner : who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve() | |
prov-3 | error | Provenance.agent | If who is an organization, onBehalfOf can't be a PractitionerRole within that organization : who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
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: AllLanguages (required): IETF language tag for 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 | ||||
target | SΣ | 1..* | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Target Reference(s) (usually version specific) | ||||
occurred[x] | S | 1..1 | When the activity occurred | |||||
occurredPeriod | Period | |||||||
occurredDateTime | dateTime | |||||||
recorded | SΣ | 0..1 | instant | When the activity was recorded / updated | ||||
policy | 0..* | uri | Policy or plan the activity was defined by | |||||
location | 0..1 | Reference(Location) | Where the activity occurred, if relevant | |||||
authorization | 0..* | CodeableReference() | Authorization (purposeOfUse) related to the event Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity. | |||||
activity | S | 1..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (example): The activity that took place. | ||||
basedOn | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) | Workflow authorization within which this event occurred | |||||
patient | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity | |||||
encounter | 0..1 | Reference(Encounter) | Encounter within which this event occurred or which the event is tightly associated | |||||
agent | SΣC | 1..1 | BackboneElement | Actor involved prov-1: Who and onBehalfOf cannot be the same prov-2: If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner prov-3: If who is an organization, onBehalfOf can't be a PractitionerRole within that organization | ||||
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 | ||||
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ParticipationRoleType (example): The type of participation that a provenance agent played with respect to the activity. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assembler | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
who | SΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | The agent that participated in the event | ||||
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated | ||||
entity | SΣ | 1..* | BackboneElement | An entity used in this activity | ||||
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 | ||||
role | SΣ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source | ||||
what | Σ | 1..1 | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Identity of entity | ||||
agent | 0..* | See agent (Provenance) | Entity is attributed to this agent | |||||
signature | 0..* | Signature | Signature on target | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Provenance.language | required | AllLanguageshttp://hl7.org/fhir/ValueSet/all-languages|5.0.0 from the FHIR Standard | |
Provenance.authorization | example | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse | |
Provenance.activity | example | ProvenanceActivityTypehttp://hl7.org/fhir/ValueSet/provenance-activity-type from the FHIR Standard | |
Provenance.agent.type | example | Pattern: assemblerhttp://hl7.org/fhir/ValueSet/participation-role-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 | Pattern: sourcehttp://hl7.org/fhir/ValueSet/provenance-entity-role|5.0.0 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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() | |
prov-1 | error | Provenance.agent | Who and onBehalfOf cannot be the same : who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve() | |
prov-2 | error | Provenance.agent | If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner : who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve() | |
prov-3 | error | Provenance.agent | If who is an organization, onBehalfOf can't be a PractitionerRole within that organization : who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve() |
This structure is derived from Provenance
Summary
Mandatory: 4 elements
Must-Support: 9 elements
Structures
This structure refers to these other structures:
Maturity: 1
Differential View
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
target | S | 1..* | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Target Reference(s) (usually version specific) |
occurred[x] | S | 1..1 | Period, dateTime | When the activity occurred |
recorded | S | 0..1 | instant | When the activity was recorded / updated |
activity | S | 1..1 | CodeableConcept | Activity that occurred |
agent | S | 1..1 | BackboneElement | Actor involved |
type | S | 1..1 | CodeableConcept | How the agent participated Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assembler | |
who | S | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | The agent that participated in the event |
entity | S | 1..* | BackboneElement | An entity used in this activity |
role | S | 1..1 | code | revision | quotation | source | instantiates | removal Required Pattern: source |
what | 1..1 | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Identity of entity | |
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children |
contained | 0..* | Resource | Contained, inline Resources | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
target | SΣ | 1..* | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Target Reference(s) (usually version specific) ele-1: All FHIR elements must have a @value or children |
occurred[x] | S | 1..1 | When the activity occurred ele-1: All FHIR elements must have a @value or children | |
occurredPeriod | Period | |||
occurredDateTime | dateTime | |||
recorded | SΣ | 0..1 | instant | When the activity was recorded / updated ele-1: All FHIR elements must have a @value or children |
activity | S | 1..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (example): The activity that took place. ele-1: All FHIR elements must have a @value or children |
agent | SΣC | 1..1 | BackboneElement | Actor involved ele-1: All FHIR elements must have a @value or children prov-1: Who and onBehalfOf cannot be the same prov-2: If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner prov-3: If who is an organization, onBehalfOf can't be a PractitionerRole within that organization |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ParticipationRoleType (example): The type of participation that a provenance agent played with respect to the activity. ele-1: All FHIR elements must have a @value or children Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assembler | |
who | SΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | The agent that participated in the event ele-1: All FHIR elements must have a @value or children |
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated ele-1: All FHIR elements must have a @value or children |
entity | SΣ | 1..* | BackboneElement | An entity used in this activity ele-1: All FHIR elements must have a @value or children |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
role | SΣ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. ele-1: All FHIR elements must have a @value or children Required Pattern: source |
what | Σ | 1..1 | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Identity of entity ele-1: All FHIR elements must have a @value or children |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Provenance.activity | example | ProvenanceActivityTypehttp://hl7.org/fhir/ValueSet/provenance-activity-type from the FHIR Standard | |
Provenance.agent.type | example | Pattern: assemblerhttp://hl7.org/fhir/ValueSet/participation-role-type from the FHIR Standard | |
Provenance.entity.role | required | Pattern: sourcehttp://hl7.org/fhir/ValueSet/provenance-entity-role|5.0.0 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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() | |
prov-1 | error | Provenance.agent | Who and onBehalfOf cannot be the same : who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve() | |
prov-2 | error | Provenance.agent | If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner : who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve() | |
prov-3 | error | Provenance.agent | If who is an organization, onBehalfOf can't be a PractitionerRole within that organization : who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
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: AllLanguages (required): IETF language tag for 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 | ||||
target | SΣ | 1..* | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Target Reference(s) (usually version specific) | ||||
occurred[x] | S | 1..1 | When the activity occurred | |||||
occurredPeriod | Period | |||||||
occurredDateTime | dateTime | |||||||
recorded | SΣ | 0..1 | instant | When the activity was recorded / updated | ||||
policy | 0..* | uri | Policy or plan the activity was defined by | |||||
location | 0..1 | Reference(Location) | Where the activity occurred, if relevant | |||||
authorization | 0..* | CodeableReference() | Authorization (purposeOfUse) related to the event Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity. | |||||
activity | S | 1..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (example): The activity that took place. | ||||
basedOn | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) | Workflow authorization within which this event occurred | |||||
patient | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity | |||||
encounter | 0..1 | Reference(Encounter) | Encounter within which this event occurred or which the event is tightly associated | |||||
agent | SΣC | 1..1 | BackboneElement | Actor involved prov-1: Who and onBehalfOf cannot be the same prov-2: If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner prov-3: If who is an organization, onBehalfOf can't be a PractitionerRole within that organization | ||||
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 | ||||
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ParticipationRoleType (example): The type of participation that a provenance agent played with respect to the activity. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: assembler | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
who | SΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | The agent that participated in the event | ||||
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated | ||||
entity | SΣ | 1..* | BackboneElement | An entity used in this activity | ||||
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 | ||||
role | SΣ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source | ||||
what | Σ | 1..1 | Reference(SPLDocumentReference | ProductSubmissionDocument | RegistrantOrganization | LabelerOrganization | EstablishmentOrganization | GDUFAFacilityOrganization) | Identity of entity | ||||
agent | 0..* | See agent (Provenance) | Entity is attributed to this agent | |||||
signature | 0..* | Signature | Signature on target | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Provenance.language | required | AllLanguageshttp://hl7.org/fhir/ValueSet/all-languages|5.0.0 from the FHIR Standard | |
Provenance.authorization | example | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse | |
Provenance.activity | example | ProvenanceActivityTypehttp://hl7.org/fhir/ValueSet/provenance-activity-type from the FHIR Standard | |
Provenance.agent.type | example | Pattern: assemblerhttp://hl7.org/fhir/ValueSet/participation-role-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 | Pattern: sourcehttp://hl7.org/fhir/ValueSet/provenance-entity-role|5.0.0 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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() | |
prov-1 | error | Provenance.agent | Who and onBehalfOf cannot be the same : who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve() | |
prov-2 | error | Provenance.agent | If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner : who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve() | |
prov-3 | error | Provenance.agent | If who is an organization, onBehalfOf can't be a PractitionerRole within that organization : who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve() |
This structure is derived from Provenance
Summary
Mandatory: 4 elements
Must-Support: 9 elements
Structures
This structure refers to these other structures:
Maturity: 1
Other representations of profile: CSV, Excel, Schematron