Pharmaceutical Quality (Industry)
1.0.0 - STU1 International flag

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

Resource Profile: Procedure - Drug

Official URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Procedure-drug-pq Version: 1.0.0
Active as of 2024-05-08 Computable Name: ProcedureDrugPq
Other Identifiers: OID:2.16.840.1.113883.4.642.40.41.42.36

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.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* Procedure An action that is being or was performed on an individual or entity
... identifier S 0..* Identifier External Identifiers for this procedure
... status S 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... code S 0..1 CodeableConcept Identification of the procedure
Binding: Process Validation Procedure (example)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... alternate-reference S 0..* Reference(Resource) alternate-reference
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
... performer S 0..* BackboneElement Who performed the procedure and what they did

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.codeexampleVsProcessValidationProcedurePQ (a valid code from Example Local Codes - Drug)
http://hl7.org/fhir/uv/pharm-quality/ValueSet/vs-process-validation-procedure-pq
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* Procedure An action that is being or was performed on an individual or entity
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... status ?!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.

... code SΣ 0..1 CodeableConcept Identification of the procedure
Binding: Process Validation Procedure (example)
... subject SΣ 1..1 Reference(Patient | Group | Device | Practitioner | Organization | Location) Individual or entity the procedure was performed on
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... alternate-reference S 0..* Reference(Resource) alternate-reference
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
... performer SΣC 0..* BackboneElement Who performed the procedure and what they did
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor ΣC 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) Who performed the procedure

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|5.0.0
from the FHIR Standard
Procedure.codeexampleVsProcessValidationProcedurePQ (a valid code from Example Local Codes - Drug)
http://hl7.org/fhir/uv/pharm-quality/ValueSet/vs-process-validation-procedure-pq
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf 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-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prc-1errorProcedure.performerProcedure.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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* Procedure An action that is being or was performed on an individual or entity
... 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

Additional BindingsPurpose
CommonLanguages Starter Set
... 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
... identifier SΣ 0..* Identifier External Identifiers for this procedure
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) A request for this procedure
... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
... status ?!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.

... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReasonSNOMEDCT (example): A code that identifies the reason a procedure was not performed.

... category Σ 0..* CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodesSNOMEDCT (example): A code that classifies a procedure for searching, sorting and display purposes.


... code SΣ 0..1 CodeableConcept Identification of the procedure
Binding: Process Validation Procedure (example)
... subject SΣ 1..1 Reference(Patient | Group | Device | Practitioner | Organization | Location) Individual or entity the procedure was performed on
.... id 0..1 id Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... alternate-reference S 0..* Reference(Resource) alternate-reference
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 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).

.... identifier ΣC 0..1 Identifier Logical reference, when literal reference is not known
.... display ΣC 0..1 string Text alternative for the resource
... focus Σ 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
... encounter Σ 0..1 Reference(Encounter) The Encounter during which this Procedure was created
... occurrence[x] Σ 0..1 When the procedure occurred or is occurring
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceString string
.... occurrenceAge Age
.... occurrenceRange Range
.... occurrenceTiming Timing
... recorded Σ 0..1 dateTime When the procedure was first captured in the subject's record
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... reported[x] Σ 0..1 Reported rather than primary record
.... reportedBoolean boolean
.... reportedReference Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
... performer SΣC 0..* BackboneElement Who performed the procedure and what they did
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
.... 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
.... function Σ 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... actor ΣC 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) Who performed the procedure
.... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
.... period 0..1 Period When the performer performed the procedure
... location Σ 0..1 Reference(Location) Where the procedure happened
... reason Σ 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.


... bodySite Σ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts


... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodesSNOMEDCT (example): An outcome of a procedure - whether it was resolved or otherwise.

... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
... complication 0..* CodeableReference(Condition) Complication following the procedure
Binding: ConditionProblemDiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodesSNOMEDCT (example): Specific follow up required for a procedure e.g. removal of sutures.


... note 0..* Annotation Additional information about the procedure
... focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
.... 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
.... action 0..1 CodeableConcept Kind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.

.... manipulated 1..1 Reference(Device) Device that was changed
... used 0..* CodeableReference(Device | Medication | Substance | BiologicallyDerivedProduct) Items used during procedure
Binding: DeviceType (example): Codes describing items used during a procedure.


... supportingInfo 0..* Reference(Resource) Extra information relevant to the procedure

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|5.0.0
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReasonSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeexampleVsProcessValidationProcedurePQ (a valid code from Example Local Codes - Drug)
http://hl7.org/fhir/uv/pharm-quality/ValueSet/vs-process-validation-procedure-pq
from this IG
Procedure.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Procedure.outcomeexampleProcedureOutcomeCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleConditionProblemDiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-followup
from the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
from the FHIR Standard
Procedure.usedexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf 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-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prc-1errorProcedure.performerProcedure.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()

This structure is derived from Procedure

Summary

Must-Support: 6 elements

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* Procedure An action that is being or was performed on an individual or entity
... identifier S 0..* Identifier External Identifiers for this procedure
... status S 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... code S 0..1 CodeableConcept Identification of the procedure
Binding: Process Validation Procedure (example)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... alternate-reference S 0..* Reference(Resource) alternate-reference
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
... performer S 0..* BackboneElement Who performed the procedure and what they did

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.codeexampleVsProcessValidationProcedurePQ (a valid code from Example Local Codes - Drug)
http://hl7.org/fhir/uv/pharm-quality/ValueSet/vs-process-validation-procedure-pq
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* Procedure An action that is being or was performed on an individual or entity
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... status ?!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.

... code SΣ 0..1 CodeableConcept Identification of the procedure
Binding: Process Validation Procedure (example)
... subject SΣ 1..1 Reference(Patient | Group | Device | Practitioner | Organization | Location) Individual or entity the procedure was performed on
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... alternate-reference S 0..* Reference(Resource) alternate-reference
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
... performer SΣC 0..* BackboneElement Who performed the procedure and what they did
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor ΣC 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) Who performed the procedure

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|5.0.0
from the FHIR Standard
Procedure.codeexampleVsProcessValidationProcedurePQ (a valid code from Example Local Codes - Drug)
http://hl7.org/fhir/uv/pharm-quality/ValueSet/vs-process-validation-procedure-pq
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf 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-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prc-1errorProcedure.performerProcedure.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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* Procedure An action that is being or was performed on an individual or entity
... 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

Additional BindingsPurpose
CommonLanguages Starter Set
... 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
... identifier SΣ 0..* Identifier External Identifiers for this procedure
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) A request for this procedure
... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
... status ?!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.

... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReasonSNOMEDCT (example): A code that identifies the reason a procedure was not performed.

... category Σ 0..* CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodesSNOMEDCT (example): A code that classifies a procedure for searching, sorting and display purposes.


... code SΣ 0..1 CodeableConcept Identification of the procedure
Binding: Process Validation Procedure (example)
... subject SΣ 1..1 Reference(Patient | Group | Device | Practitioner | Organization | Location) Individual or entity the procedure was performed on
.... id 0..1 id Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... alternate-reference S 0..* Reference(Resource) alternate-reference
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 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).

.... identifier ΣC 0..1 Identifier Logical reference, when literal reference is not known
.... display ΣC 0..1 string Text alternative for the resource
... focus Σ 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
... encounter Σ 0..1 Reference(Encounter) The Encounter during which this Procedure was created
... occurrence[x] Σ 0..1 When the procedure occurred or is occurring
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceString string
.... occurrenceAge Age
.... occurrenceRange Range
.... occurrenceTiming Timing
... recorded Σ 0..1 dateTime When the procedure was first captured in the subject's record
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... reported[x] Σ 0..1 Reported rather than primary record
.... reportedBoolean boolean
.... reportedReference Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
... performer SΣC 0..* BackboneElement Who performed the procedure and what they did
prc-1: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole
.... 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
.... function Σ 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... actor ΣC 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService) Who performed the procedure
.... onBehalfOf C 0..1 Reference(Organization) Organization the device or practitioner was acting for
.... period 0..1 Period When the performer performed the procedure
... location Σ 0..1 Reference(Location) Where the procedure happened
... reason Σ 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.


... bodySite Σ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts


... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodesSNOMEDCT (example): An outcome of a procedure - whether it was resolved or otherwise.

... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
... complication 0..* CodeableReference(Condition) Complication following the procedure
Binding: ConditionProblemDiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodesSNOMEDCT (example): Specific follow up required for a procedure e.g. removal of sutures.


... note 0..* Annotation Additional information about the procedure
... focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
.... 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
.... action 0..1 CodeableConcept Kind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.

.... manipulated 1..1 Reference(Device) Device that was changed
... used 0..* CodeableReference(Device | Medication | Substance | BiologicallyDerivedProduct) Items used during procedure
Binding: DeviceType (example): Codes describing items used during a procedure.


... supportingInfo 0..* Reference(Resource) Extra information relevant to the procedure

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|5.0.0
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReasonSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeexampleVsProcessValidationProcedurePQ (a valid code from Example Local Codes - Drug)
http://hl7.org/fhir/uv/pharm-quality/ValueSet/vs-process-validation-procedure-pq
from this IG
Procedure.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Procedure.outcomeexampleProcedureOutcomeCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleConditionProblemDiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodesSNOMEDCT
http://hl7.org/fhir/ValueSet/procedure-followup
from the FHIR Standard
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
http://hl7.org/fhir/ValueSet/device-action
from the FHIR Standard
Procedure.usedexampleDeviceType
http://hl7.org/fhir/ValueSet/device-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf 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-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prc-1errorProcedure.performerProcedure.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()

This structure is derived from Procedure

Summary

Must-Support: 6 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron