Pharmaceutical Quality (Industry), published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/uv-dx-pq/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Procedure-drug-pq | Version: 1.0.0 | ||||
| Active as of 2026-05-10 | Computable Name: ProcedureDrugPq | ||||
| Other Identifiers: OID:2.16.840.1.113883.4.642.40.41.42.74 | |||||
This Procedure profile represents the actual performance of a manufacturing step, so that measurements can be recorded (via Observations), such as the actual “hold time” used, or the “bioburden” at the beginning or end of the step. The Procedure may record which device was used in the performance of a manufacturing step.
Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Procedure | An action that is being or was performed on an individual or entity | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Identifier | External Identifiers for this procedure |
![]() ![]() |
?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): A code specifying the state of the procedure. |
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Identification of the procedure Binding: Process Validation Procedure (preferred) |
![]() ![]() |
SΣ | 1..1 | Reference(Patient | Group | Device | Practitioner | Organization | Location) | Individual or entity the procedure was performed on |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(Resource) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference |
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL |
![]() ![]() |
SΣC | 0..* | BackboneElement | Who performed the procedure and what they did Constraints: prc-1 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
ΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) | Who performed the procedure |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Procedure.status | Base | required | EventStatus | 📍5.0.0 | FHIR Std. |
| Procedure.code | Base | preferred | Process Validation Procedure | 📦1.0.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Procedure | 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 | Procedure | 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 | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Procedure | 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()
|
| prc-1 | error | Procedure.performer | Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole |
onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
Procedure | |||
![]() ![]() |
S | 0..* | Identifier | External Identifiers for this procedure |
![]() ![]() |
S | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown |
![]() ![]() |
S | 0..1 | CodeableConcept | Identification of the procedure Binding: Process Validation Procedure (preferred) |
![]() ![]() |
S | 1..1 | Reference(Patient | Group | Device | Practitioner | Organization | Location) | Individual or entity the procedure was performed on |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
S | 0..* | Reference(Resource) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference |
![]() ![]() |
S | 0..* | BackboneElement | Who performed the procedure and what they did |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Procedure.code | Base | preferred | Process Validation Procedure | 📦1.0.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Procedure | An action that is being or was performed on an individual or entity | |||||
![]() ![]() |
Σ | 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: AllLanguages (required): IETF language tag for 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 | ||||
![]() ![]() |
SΣ | 0..* | Identifier | External Identifiers for this procedure | ||||
![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure | ||||
![]() ![]() |
Σ | 0..* | Reference(Procedure | Observation | MedicationAdministration) | Part of referenced event | ||||
![]() ![]() |
?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): A code specifying the state of the procedure. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: ProcedureNotPerformedReasonSNOMEDCT (example): A code that identifies the reason a procedure was not performed. | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Classification of the procedure Binding: ProcedureCategoryCodesSNOMEDCT (example): A code that classifies a procedure for searching, sorting and display purposes. | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Identification of the procedure Binding: Process Validation Procedure (preferred) | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient | Group | Device | Practitioner | Organization | Location) | Individual or entity the procedure was performed on | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(Resource) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference | ||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
![]() ![]() ![]() |
ΣC | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Text alternative for the resource | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Group | RelatedPerson | Practitioner | Organization | CareTeam | PractitionerRole | Specimen) | Who is the target of the procedure when it is not the subject of record only | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | The Encounter during which this Procedure was created | ||||
![]() ![]() |
Σ | 0..1 | When the procedure occurred or is occurring | |||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
Timing | |||||||
![]() ![]() |
Σ | 0..1 | dateTime | When the procedure was first captured in the subject's record | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Who recorded the procedure | ||||
![]() ![]() |
Σ | 0..1 | Reported rather than primary record | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) | |||||||
![]() ![]() |
SΣC | 0..* | BackboneElement | Who performed the procedure and what they did Constraints: prc-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..1 | CodeableConcept | Type of performance Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure. | ||||
![]() ![]() ![]() |
ΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) | Who performed the procedure | ||||
![]() ![]() ![]() |
C | 0..1 | Reference(Organization) | Organization the device or practitioner was acting for | ||||
![]() ![]() ![]() |
0..1 | Period | When the performer performed the procedure | |||||
![]() ![]() |
Σ | 0..1 | Reference(Location) | Where the procedure happened | ||||
![]() ![]() |
Σ | 0..* | CodeableReference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required. | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Target body sites Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodesSNOMEDCT (example): An outcome of a procedure - whether it was resolved or otherwise. | ||||
![]() ![]() |
0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure | |||||
![]() ![]() |
0..* | CodeableReference(Condition) | Complication following the procedure Binding: ConditionProblemDiagnosisCodes (example): Codes describing complications that resulted from a procedure. | |||||
![]() ![]() |
0..* | CodeableConcept | Instructions for follow up Binding: ProcedureFollowUpCodesSNOMEDCT (example): Specific follow up required for a procedure e.g. removal of sutures. | |||||
![]() ![]() |
0..* | Annotation | Additional information about the procedure | |||||
![]() ![]() |
0..* | BackboneElement | Manipulated, implanted, or removed device | |||||
![]() ![]() ![]() |
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 | Kind of change to device Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure. | |||||
![]() ![]() ![]() |
1..1 | Reference(Device) | Device that was changed | |||||
![]() ![]() |
0..* | CodeableReference(Device | Medication | Substance | BiologicallyDerivedProduct) | Items used during procedure Binding: DeviceType (example): Codes describing items used during a procedure. | |||||
![]() ![]() |
0..* | Reference(Resource) | Extra information relevant to the procedure | |||||
Documentation for this format | ||||||||
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Procedure | 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 | Procedure | 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 | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Procedure | 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()
|
| prc-1 | error | Procedure.performer | Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole |
onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty()
|
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Procedure | An action that is being or was performed on an individual or entity | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Identifier | External Identifiers for this procedure |
![]() ![]() |
?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): A code specifying the state of the procedure. |
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Identification of the procedure Binding: Process Validation Procedure (preferred) |
![]() ![]() |
SΣ | 1..1 | Reference(Patient | Group | Device | Practitioner | Organization | Location) | Individual or entity the procedure was performed on |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(Resource) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference |
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL |
![]() ![]() |
SΣC | 0..* | BackboneElement | Who performed the procedure and what they did Constraints: prc-1 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
ΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) | Who performed the procedure |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Procedure.status | Base | required | EventStatus | 📍5.0.0 | FHIR Std. |
| Procedure.code | Base | preferred | Process Validation Procedure | 📦1.0.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Procedure | 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 | Procedure | 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 | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Procedure | 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()
|
| prc-1 | error | Procedure.performer | Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole |
onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty()
|
Differential View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
Procedure | |||
![]() ![]() |
S | 0..* | Identifier | External Identifiers for this procedure |
![]() ![]() |
S | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown |
![]() ![]() |
S | 0..1 | CodeableConcept | Identification of the procedure Binding: Process Validation Procedure (preferred) |
![]() ![]() |
S | 1..1 | Reference(Patient | Group | Device | Practitioner | Organization | Location) | Individual or entity the procedure was performed on |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
S | 0..* | Reference(Resource) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference |
![]() ![]() |
S | 0..* | BackboneElement | Who performed the procedure and what they did |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Procedure.code | Base | preferred | Process Validation Procedure | 📦1.0.0 | This IG |
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Procedure | An action that is being or was performed on an individual or entity | |||||
![]() ![]() |
Σ | 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: AllLanguages (required): IETF language tag for 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 | ||||
![]() ![]() |
SΣ | 0..* | Identifier | External Identifiers for this procedure | ||||
![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure | ||||
![]() ![]() |
Σ | 0..* | Reference(Procedure | Observation | MedicationAdministration) | Part of referenced event | ||||
![]() ![]() |
?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): A code specifying the state of the procedure. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: ProcedureNotPerformedReasonSNOMEDCT (example): A code that identifies the reason a procedure was not performed. | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Classification of the procedure Binding: ProcedureCategoryCodesSNOMEDCT (example): A code that classifies a procedure for searching, sorting and display purposes. | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Identification of the procedure Binding: Process Validation Procedure (preferred) | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient | Group | Device | Practitioner | Organization | Location) | Individual or entity the procedure was performed on | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(Resource) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference | ||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") - must be a resource in resources Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
![]() ![]() ![]() |
ΣC | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Text alternative for the resource | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Group | RelatedPerson | Practitioner | Organization | CareTeam | PractitionerRole | Specimen) | Who is the target of the procedure when it is not the subject of record only | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | The Encounter during which this Procedure was created | ||||
![]() ![]() |
Σ | 0..1 | When the procedure occurred or is occurring | |||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
Timing | |||||||
![]() ![]() |
Σ | 0..1 | dateTime | When the procedure was first captured in the subject's record | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Who recorded the procedure | ||||
![]() ![]() |
Σ | 0..1 | Reported rather than primary record | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) | |||||||
![]() ![]() |
SΣC | 0..* | BackboneElement | Who performed the procedure and what they did Constraints: prc-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..1 | CodeableConcept | Type of performance Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure. | ||||
![]() ![]() ![]() |
ΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) | Who performed the procedure | ||||
![]() ![]() ![]() |
C | 0..1 | Reference(Organization) | Organization the device or practitioner was acting for | ||||
![]() ![]() ![]() |
0..1 | Period | When the performer performed the procedure | |||||
![]() ![]() |
Σ | 0..1 | Reference(Location) | Where the procedure happened | ||||
![]() ![]() |
Σ | 0..* | CodeableReference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required. | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Target body sites Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodesSNOMEDCT (example): An outcome of a procedure - whether it was resolved or otherwise. | ||||
![]() ![]() |
0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure | |||||
![]() ![]() |
0..* | CodeableReference(Condition) | Complication following the procedure Binding: ConditionProblemDiagnosisCodes (example): Codes describing complications that resulted from a procedure. | |||||
![]() ![]() |
0..* | CodeableConcept | Instructions for follow up Binding: ProcedureFollowUpCodesSNOMEDCT (example): Specific follow up required for a procedure e.g. removal of sutures. | |||||
![]() ![]() |
0..* | Annotation | Additional information about the procedure | |||||
![]() ![]() |
0..* | BackboneElement | Manipulated, implanted, or removed device | |||||
![]() ![]() ![]() |
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 | Kind of change to device Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure. | |||||
![]() ![]() ![]() |
1..1 | Reference(Device) | Device that was changed | |||||
![]() ![]() |
0..* | CodeableReference(Device | Medication | Substance | BiologicallyDerivedProduct) | Items used during procedure Binding: DeviceType (example): Codes describing items used during a procedure. | |||||
![]() ![]() |
0..* | Reference(Resource) | Extra information relevant to the procedure | |||||
Documentation for this format | ||||||||
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Procedure | 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 | Procedure | 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 | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Procedure | 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()
|
| prc-1 | error | Procedure.performer | Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole |
onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty()
|
Other representations of profile: CSV, Excel, Schematron