This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times). See the Directory of published versions
9.3 Resource Procedure - Content
An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing.
9.3.1 Scope and Usage
Procedure is one of the event resources in the FHIR workflow specification.
This resource is used to record the details of current and historical procedures performed on, with, or for a patient, practitioner, device, organization, or location. Examples include surgical procedures, diagnostic procedures, endoscopic procedures, biopsies, counseling, physiotherapy, personal support services, adult day care services, non-emergency transportation, home modification, exercise, verification of enrollment qualifications for a social program etc. Procedures may be performed by a healthcare professional, a service provider, a friend or relative or in some cases by the patient themselves.
Procedures can be performed on other non-patient subjects. For example, a procedure can represent an inspection to verify temperature or humidity for storage at a given location. Additionally, a procedure can represent the verification of the practitioner's qualifications for accreditation.
This resource provides summary information about the occurrence of the procedure and is not intended to
provide real-time snapshots of a procedure as it unfolds, though for long-running procedures such as psychotherapy,
it could represent summary level information about overall progress. The creation of a resource to support detailed
real-time procedure information awaits the identification of a specific implementation use-case to share such information.
9.3.2 Boundaries and Relationships
The Procedure resource should not be used to capture an event if a more specific resource already exists - e.g.
immunizations , drug administrations ,
communications , and nutrition intake . The boundary between determining whether an action is a Procedure
(training or counseling) as opposed to a Communication is based on whether
there's a specific intent to change the mind-set of the patient. Mere disclosure of information would be considered
a Communication. A process that involves verification of the patient's comprehension or to change the patient's
mental state would be a Procedure.
Note that many diagnostic processes are procedures that generate Observations and
DiagnosticReports . In many cases,
such an observation does not require an explicit representation of the procedure used to create the
observation, but where there are details of interest about how the diagnostic procedure was performed,
the Procedure resource is used to describe the activity.
Some diagnostic procedures might not have a Procedure record. The Procedure record is only necessary when
there is a need to capture information about the physical intervention that was performed to capture the diagnostic
information (e.g. anesthetic, incision, scope size, etc.)
A Task is a workflow step such as canceling an order, fulfilling an order, signing an order, merging a set of records, admitting a patient.
Procedures are actions that are intended to result in a physical or mental change to or for the subject (e.g. surgery, physiotherapy, training, counseling).
A Task resource often exists in parallel with clinical resources. For example, a Task might request fulfillment of a ServiceRequest ordering a Procedure.
9.3.3 References to this Resource
Implements: Event
Resource References: Account , AdverseEvent , Appointment , BiologicallyDerivedProduct , CarePlan ... Show 24 more , ChargeItem , Claim , DetectedIssue , DeviceDispense , DeviceUsage , DiagnosticReport , Encounter , EpisodeOfCare , ExplanationOfBenefit , Flag , GenomicStudy , Goal , ImagingSelection , ImagingStudy , MedicationAdministration , MedicationDispense , MedicationRequest , MedicationStatement , NutritionIntake , Observation , itself , QuestionnaireResponse , ServiceRequest and Specimen
Extension References: BiologicallyDerivedProduct Collection Procedure , BiologicallyDerivedProduct Manipulation , BiologicallyDerivedProduct Processing , Condition Due To , Condition Occurred Following ... Show 4 more , Conditions , Dosage - Minimum Gap Between Doses , Immunization Procedure and Procedure Caused By
9.3.4
Resource Content
UML Diagram (Legend )
Procedure (DomainResource ) Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server identifier : Identifier [0..*]A reference to a resource that contains details of the request for this procedure basedOn : Reference [0..*] « CarePlan |ServiceRequest | MedicationRequest » A larger event of which this particular procedure is a component or step partOf : Reference [0..*] « Procedure |Observation | MedicationAdministration » A code specifying the state of the procedure. Generally, this will be the in-progress or completed state (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) EventStatus ! »Captures the reason for the current state of the procedure statusReason : CodeableConcept [0..1] « null (Strength=Example) ProcedureNotPerformedReasonSN... ?? » A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure") category : CodeableConcept [0..*] « null (Strength=Example) ProcedureCategoryCodesSNOMEDCT ?? »The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy") code : CodeableConcept [0..1] « null (Strength=Example) ProcedureCodesSNOMEDCT ?? »On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure subject : Reference [1..1] « Patient |Group |Device |Practitioner | Organization |Location » Who is the target of the procedure when it is not the subject of record only. If focus is not present, then subject is the focus. If focus is present and the subject is one of the targets of the procedure, include subject as a focus as well. If focus is present and the subject is not included in focus, it implies that the procedure was only targeted on the focus. For example, when a caregiver is given education for a patient, the caregiver would be the focus and the procedure record is associated with the subject (e.g. patient). For example, use focus when recording the target of the education, training, or counseling is the parent or relative of a patient (this element modifies the meaning of other elements) focus : Reference [0..1] « Patient |Group |RelatedPerson |Practitioner | Organization |CareTeam |PractitionerRole |Specimen » The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated encounter : Reference [0..1] « Encounter »Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured occurrence[x] : DataType [0..1] « dateTime |Period |string |Age |Range | Timing » The date the occurrence of the procedure was first captured in the record regardless of Procedure.status (potentially after the occurrence of the event) recorded : dateTime [0..1]Individual who recorded the record and takes responsibility for its content recorder : Reference [0..1] « Patient |RelatedPerson |Practitioner | PractitionerRole » Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report reported[x] : DataType [0..1] « boolean |Reference (Patient | RelatedPerson |Practitioner |PractitionerRole |Organization ) » The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant location : Reference [0..1] « Location »The coded reason or reference why the procedure was performed. This may be a coded entity of some type, be present as text, or be a reference to one of several resources that justify the procedure reason : CodeableReference [0..*] « Condition |Observation |Procedure | DiagnosticReport |DocumentReference ; null (Strength=Example) ProcedureReasonCodes ?? » Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion bodySite : CodeableConcept [0..*] « Codes describing anatomical locations. May include laterality. (Strength=Example) SNOMEDCTBodyStructures ?? » « This element has or is affected by some invariants C »Indicates the body structure on the subject's body where the procedure was performed bodyStructure : Reference [0..*] « BodyStructure »The short term outcome of the procedure assessed during the procedure, at the conclusion of the procedure, during the immediate post-performance period, or at discharge. The outcome is usually expected to be within the encounter during which the procedure was performed outcome : CodeableReference [0..*] « Observation ; null (Strength=Example) ProcedureOutcomeCodesSNOMEDCT ?? » This could be a histology result, pathology report, surgical report, etc report : Reference [0..*] « DiagnosticReport |DocumentReference | Composition » Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues complication : CodeableReference [0..*] « Condition ; null (Strength=Example) ConditionProblemDiagnosisCodes ?? » If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used. CarePlan can reference the Procedure via CarePlan.addresses followUp : CodeableReference [0..*] « ServiceRequest |PlanDefinition ; null (Strength=Example) ProcedureFollowUpCodesSNOMEDCT ?? » Any other notes and comments about the procedure note : Annotation [0..*]Identifies medications, devices and any other substance used as part of the procedure used : CodeableReference [0..*] « Device |Medication |Substance | BiologicallyDerivedProduct ; null (Strength=Example) DeviceType ?? » Other resources from the patient record that may be relevant to the procedure. The information from these resources was either used to create the instance or is provided to help with its interpretation. This extension should not be used if more specific inline elements or extensions are available supportingInfo : Reference [0..*] « Any »Performer Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist function : CodeableConcept [0..1] « null (Strength=Example) ParticipantRoles ?? »Indicates who or what performed the procedure actor : Reference [1..1] « Practitioner |PractitionerRole | Organization |Patient |RelatedPerson |Device |CareTeam | HealthcareService » « This element has or is affected by some invariants C » The Organization the Patient, RelatedPerson, Device, CareTeam, and HealthcareService was acting on behalf of onBehalfOf : Reference [0..1] « Organization » « This element has or is affected by some invariants C »Time period during which the performer performed the procedure period : Period [0..1]FocalDevice The kind of change that happened to the device during the procedure action : CodeableConcept [0..1] « null (Strength=Preferred) ProcedureDeviceActionCodes ? »The device that was manipulated (changed) during the procedure manipulated : Reference [1..1] « Device »Indicates who or what performed the procedure and how they were involved performer[0..*] A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure focalDevice[0..*]
JSON Template
{
"resourceType" : "Procedure ",
// from Resource : id , meta , implicitRules , and language
// from DomainResource : text , contained , extension , and modifierExtension
"identifier " : [{ Identifier }], // External Identifiers for this procedure
"basedOn " : [{ Reference (CarePlan |MedicationRequest |ServiceRequest ) }], // A request for this procedure
"partOf " : [{ Reference (MedicationAdministration |Observation |Procedure ) }], // Part of referenced event
"status " : "<code >", // R! preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
"statusReason " : { CodeableConcept }, // Reason for current status
"category " : [{ CodeableConcept }], // Classification of the procedure
"code " : { CodeableConcept }, // Identification of the procedure
"subject " : { Reference (Device |Group |Location |Organization |Patient |
Practitioner ) }, // R! Individual or entity the procedure was performed on
"focus " : { Reference (CareTeam |Group |Organization |Patient |Practitioner |
PractitionerRole |RelatedPerson |Specimen ) }, // Who is the target of the procedure when it is not the subject of record only
"encounter " : { Reference (Encounter ) }, // The Encounter during which this Procedure was created
// occurrence[x]: When the procedure occurred or is occurring . One of these 6:
"occurrenceDateTime " : "<dateTime >",
"occurrencePeriod " : { Period },
"occurrenceString " : "<string >",
"occurrenceAge " : { Age },
"occurrenceRange " : { Range },
"occurrenceTiming " : { Timing },
"recorded " : "<dateTime >", // When the procedure was first captured in the subject's record
"recorder " : { Reference (Patient |Practitioner |PractitionerRole |
RelatedPerson ) }, // Who recorded the procedure
// reported[x]: Reported rather than primary record . One of these 2:
"reportedBoolean " : <boolean >,
"reportedReference " : { Reference (Organization |Patient |Practitioner |
PractitionerRole |RelatedPerson ) },
"performer " : [{ // Who performed the procedure and what they did
"function " : { CodeableConcept }, // Type of performance
"actor " : { Reference (CareTeam |Device |HealthcareService |Organization |
Patient |Practitioner |PractitionerRole |RelatedPerson ) }, // I R! Who performed the procedure
"onBehalfOf " : { Reference (Organization ) }, // I Organization the device or practitioner was acting for
"period " : { Period } // When the performer performed the procedure
}],
"location " : { Reference (Location ) }, // Where the procedure happened
"reason " : [{ CodeableReference (Condition |DiagnosticReport |DocumentReference |
Observation |Procedure ) }], // The justification that the procedure was performed
"bodySite " : [{ CodeableConcept }], // I Target body sites
"bodyStructure " : [{ Reference (BodyStructure ) }], // Target body structure
"outcome " : [{ CodeableReference (Observation ) }], // The result of procedure
"report " : [{ Reference (Composition |DiagnosticReport |DocumentReference ) }], // Any report resulting from the procedure
"complication " : [{ CodeableReference (Condition ) }], // Complication following the procedure
"followUp " : [{ CodeableReference (PlanDefinition |ServiceRequest ) }], // Instructions for follow up
"note " : [{ Annotation }], // Additional information about the procedure
"focalDevice " : [{ // Manipulated, implanted, or removed device
"action " : { CodeableConcept }, // Kind of change to device
"manipulated " : { Reference (Device ) } // R! Device that was changed
}],
"used " : [{ CodeableReference (BiologicallyDerivedProduct |Device |Medication |
Substance ) }], // Items used during procedure
"supportingInfo " : [{ Reference (Any ) }] // Extra information relevant to the procedure
}
Changes from both R4 and R4B
Procedure
Procedure.basedOn
Type Reference: Added Target Type MedicationRequest
Procedure.category
Max Cardinality changed from 1 to *
Procedure.subject
Type Reference: Added Target Types Device, Practitioner, Organization, Location
Procedure.focus
Procedure.occurrence[x]
Procedure.recorded
Procedure.reported[x]
Procedure.performer.actor
Type Reference: Added Target Types CareTeam, HealthcareService
Procedure.performer.period
Procedure.reason
Procedure.bodyStructure
Procedure.outcome
Max Cardinality changed from 1 to * Type changed from CodeableConcept to CodeableReference
Procedure.complication
Type changed from CodeableConcept to CodeableReference
Procedure.followUp
Type changed from CodeableConcept to CodeableReference
Procedure.used
Procedure.supportingInfo
Procedure.instantiatesCanonical
Procedure.instantiatesUri
Procedure.performed[x]
Procedure.asserter
Deleted (-> Procedure.reportedReference)
Procedure.reasonCode
Deleted (-> Procedure.reason)
Procedure.reasonReference
Deleted (-> Procedure.reason)
Procedure.complicationDetail
Deleted (-> Procedure.complication)
Procedure.usedReference
Deleted (-> Procedure.used)
Procedure.usedCode
Deleted (-> Procedure.used)
See the Full Difference for further information
This analysis is available for R4 as XML or JSON
and for R4B as XML or JSON .
UML Diagram (Legend )
Procedure (DomainResource ) Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server identifier : Identifier [0..*]A reference to a resource that contains details of the request for this procedure basedOn : Reference [0..*] « CarePlan |ServiceRequest | MedicationRequest » A larger event of which this particular procedure is a component or step partOf : Reference [0..*] « Procedure |Observation | MedicationAdministration » A code specifying the state of the procedure. Generally, this will be the in-progress or completed state (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) EventStatus ! »Captures the reason for the current state of the procedure statusReason : CodeableConcept [0..1] « null (Strength=Example) ProcedureNotPerformedReasonSN... ?? » A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure") category : CodeableConcept [0..*] « null (Strength=Example) ProcedureCategoryCodesSNOMEDCT ?? »The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy") code : CodeableConcept [0..1] « null (Strength=Example) ProcedureCodesSNOMEDCT ?? »On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure subject : Reference [1..1] « Patient |Group |Device |Practitioner | Organization |Location » Who is the target of the procedure when it is not the subject of record only. If focus is not present, then subject is the focus. If focus is present and the subject is one of the targets of the procedure, include subject as a focus as well. If focus is present and the subject is not included in focus, it implies that the procedure was only targeted on the focus. For example, when a caregiver is given education for a patient, the caregiver would be the focus and the procedure record is associated with the subject (e.g. patient). For example, use focus when recording the target of the education, training, or counseling is the parent or relative of a patient (this element modifies the meaning of other elements) focus : Reference [0..1] « Patient |Group |RelatedPerson |Practitioner | Organization |CareTeam |PractitionerRole |Specimen » The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated encounter : Reference [0..1] « Encounter »Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured occurrence[x] : DataType [0..1] « dateTime |Period |string |Age |Range | Timing » The date the occurrence of the procedure was first captured in the record regardless of Procedure.status (potentially after the occurrence of the event) recorded : dateTime [0..1]Individual who recorded the record and takes responsibility for its content recorder : Reference [0..1] « Patient |RelatedPerson |Practitioner | PractitionerRole » Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report reported[x] : DataType [0..1] « boolean |Reference (Patient | RelatedPerson |Practitioner |PractitionerRole |Organization ) » The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant location : Reference [0..1] « Location »The coded reason or reference why the procedure was performed. This may be a coded entity of some type, be present as text, or be a reference to one of several resources that justify the procedure reason : CodeableReference [0..*] « Condition |Observation |Procedure | DiagnosticReport |DocumentReference ; null (Strength=Example) ProcedureReasonCodes ?? » Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion bodySite : CodeableConcept [0..*] « Codes describing anatomical locations. May include laterality. (Strength=Example) SNOMEDCTBodyStructures ?? » « This element has or is affected by some invariants C »Indicates the body structure on the subject's body where the procedure was performed bodyStructure : Reference [0..*] « BodyStructure »The short term outcome of the procedure assessed during the procedure, at the conclusion of the procedure, during the immediate post-performance period, or at discharge. The outcome is usually expected to be within the encounter during which the procedure was performed outcome : CodeableReference [0..*] « Observation ; null (Strength=Example) ProcedureOutcomeCodesSNOMEDCT ?? » This could be a histology result, pathology report, surgical report, etc report : Reference [0..*] « DiagnosticReport |DocumentReference | Composition » Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues complication : CodeableReference [0..*] « Condition ; null (Strength=Example) ConditionProblemDiagnosisCodes ?? » If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used. CarePlan can reference the Procedure via CarePlan.addresses followUp : CodeableReference [0..*] « ServiceRequest |PlanDefinition ; null (Strength=Example) ProcedureFollowUpCodesSNOMEDCT ?? » Any other notes and comments about the procedure note : Annotation [0..*]Identifies medications, devices and any other substance used as part of the procedure used : CodeableReference [0..*] « Device |Medication |Substance | BiologicallyDerivedProduct ; null (Strength=Example) DeviceType ?? » Other resources from the patient record that may be relevant to the procedure. The information from these resources was either used to create the instance or is provided to help with its interpretation. This extension should not be used if more specific inline elements or extensions are available supportingInfo : Reference [0..*] « Any »Performer Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist function : CodeableConcept [0..1] « null (Strength=Example) ParticipantRoles ?? »Indicates who or what performed the procedure actor : Reference [1..1] « Practitioner |PractitionerRole | Organization |Patient |RelatedPerson |Device |CareTeam | HealthcareService » « This element has or is affected by some invariants C » The Organization the Patient, RelatedPerson, Device, CareTeam, and HealthcareService was acting on behalf of onBehalfOf : Reference [0..1] « Organization » « This element has or is affected by some invariants C »Time period during which the performer performed the procedure period : Period [0..1]FocalDevice The kind of change that happened to the device during the procedure action : CodeableConcept [0..1] « null (Strength=Preferred) ProcedureDeviceActionCodes ? »The device that was manipulated (changed) during the procedure manipulated : Reference [1..1] « Device »Indicates who or what performed the procedure and how they were involved performer[0..*] A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure focalDevice[0..*]
JSON Template
{
"resourceType" : "Procedure ",
// from Resource : id , meta , implicitRules , and language
// from DomainResource : text , contained , extension , and modifierExtension
"identifier " : [{ Identifier }], // External Identifiers for this procedure
"basedOn " : [{ Reference (CarePlan |MedicationRequest |ServiceRequest ) }], // A request for this procedure
"partOf " : [{ Reference (MedicationAdministration |Observation |Procedure ) }], // Part of referenced event
"status " : "<code >", // R! preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
"statusReason " : { CodeableConcept }, // Reason for current status
"category " : [{ CodeableConcept }], // Classification of the procedure
"code " : { CodeableConcept }, // Identification of the procedure
"subject " : { Reference (Device |Group |Location |Organization |Patient |
Practitioner ) }, // R! Individual or entity the procedure was performed on
"focus " : { Reference (CareTeam |Group |Organization |Patient |Practitioner |
PractitionerRole |RelatedPerson |Specimen ) }, // Who is the target of the procedure when it is not the subject of record only
"encounter " : { Reference (Encounter ) }, // The Encounter during which this Procedure was created
// occurrence[x]: When the procedure occurred or is occurring . One of these 6:
"occurrenceDateTime " : "<dateTime >",
"occurrencePeriod " : { Period },
"occurrenceString " : "<string >",
"occurrenceAge " : { Age },
"occurrenceRange " : { Range },
"occurrenceTiming " : { Timing },
"recorded " : "<dateTime >", // When the procedure was first captured in the subject's record
"recorder " : { Reference (Patient |Practitioner |PractitionerRole |
RelatedPerson ) }, // Who recorded the procedure
// reported[x]: Reported rather than primary record . One of these 2:
"reportedBoolean " : <boolean >,
"reportedReference " : { Reference (Organization |Patient |Practitioner |
PractitionerRole |RelatedPerson ) },
"performer " : [{ // Who performed the procedure and what they did
"function " : { CodeableConcept }, // Type of performance
"actor " : { Reference (CareTeam |Device |HealthcareService |Organization |
Patient |Practitioner |PractitionerRole |RelatedPerson ) }, // I R! Who performed the procedure
"onBehalfOf " : { Reference (Organization ) }, // I Organization the device or practitioner was acting for
"period " : { Period } // When the performer performed the procedure
}],
"location " : { Reference (Location ) }, // Where the procedure happened
"reason " : [{ CodeableReference (Condition |DiagnosticReport |DocumentReference |
Observation |Procedure ) }], // The justification that the procedure was performed
"bodySite " : [{ CodeableConcept }], // I Target body sites
"bodyStructure " : [{ Reference (BodyStructure ) }], // Target body structure
"outcome " : [{ CodeableReference (Observation ) }], // The result of procedure
"report " : [{ Reference (Composition |DiagnosticReport |DocumentReference ) }], // Any report resulting from the procedure
"complication " : [{ CodeableReference (Condition ) }], // Complication following the procedure
"followUp " : [{ CodeableReference (PlanDefinition |ServiceRequest ) }], // Instructions for follow up
"note " : [{ Annotation }], // Additional information about the procedure
"focalDevice " : [{ // Manipulated, implanted, or removed device
"action " : { CodeableConcept }, // Kind of change to device
"manipulated " : { Reference (Device ) } // R! Device that was changed
}],
"used " : [{ CodeableReference (BiologicallyDerivedProduct |Device |Medication |
Substance ) }], // Items used during procedure
"supportingInfo " : [{ Reference (Any ) }] // Extra information relevant to the procedure
}
Changes from both R4 and R4B
Procedure
Procedure.basedOn
Type Reference: Added Target Type MedicationRequest
Procedure.category
Max Cardinality changed from 1 to *
Procedure.subject
Type Reference: Added Target Types Device, Practitioner, Organization, Location
Procedure.focus
Procedure.occurrence[x]
Procedure.recorded
Procedure.reported[x]
Procedure.performer.actor
Type Reference: Added Target Types CareTeam, HealthcareService
Procedure.performer.period
Procedure.reason
Procedure.bodyStructure
Procedure.outcome
Max Cardinality changed from 1 to * Type changed from CodeableConcept to CodeableReference
Procedure.complication
Type changed from CodeableConcept to CodeableReference
Procedure.followUp
Type changed from CodeableConcept to CodeableReference
Procedure.used
Procedure.supportingInfo
Procedure.instantiatesCanonical
Procedure.instantiatesUri
Procedure.performed[x]
Procedure.asserter
Deleted (-> Procedure.reportedReference)
Procedure.reasonCode
Deleted (-> Procedure.reason)
Procedure.reasonReference
Deleted (-> Procedure.reason)
Procedure.complicationDetail
Deleted (-> Procedure.complication)
Procedure.usedReference
Deleted (-> Procedure.used)
Procedure.usedCode
Deleted (-> Procedure.used)
See the Full Difference for further information
This analysis is available for R4 as XML or JSON
and for R4B as XML or JSON .
Additional definitions: Master Definition XML + JSON ,
XML Schema /Schematron + JSON
Schema , ShEx (for Turtle ) + see the extensions , the spreadsheet version & the dependency analysis
9.3.4.1
Terminology Bindings
Path
ValueSet
Type
Documentation
Procedure.status
EventStatus
Required
Codes identifying the lifecycle stage of an event.
Procedure.statusReason
ProcedureNotPerformedReasonSNOMEDCT
Example
Situation codes describing the reason that a procedure, which might otherwise be expected, was not performed, or a procedure that was started and was not completed. Consists of SNOMED CT codes, children of procedure contraindicated (183932001), procedure discontinued (416406003), procedure not done (416237000), procedure not indicated (428119001), procedure not offered (416064006), procedure not wanted (416432009), procedure refused (183944003), and procedure stopped (394908001) as well as 410536001 Contraindicated (qualifier value).
Procedure.category
ProcedureCategoryCodesSNOMEDCT
Example
Procedure Category code: A selection of relevant SNOMED CT codes.
Procedure.code
ProcedureCodesSNOMEDCT
Example
Procedure Code: All SNOMED CT procedure codes.
Procedure.performer.function
ParticipantRoles
Example
Roles of participants that may be included in a care team. Defined as: Healthcare professional (occupation) or Services (qualifier value).
Procedure.reason
ProcedureReasonCodes
Example
This example value set defines the set of codes that can be used to indicate a reason for a procedure.
Procedure.bodySite
SNOMEDCTBodyStructures
Example
This value set includes all codes from SNOMED CT where concept is-a 442083009 (Anatomical or acquired body site (body structure)).
Procedure.outcome
ProcedureOutcomeCodesSNOMEDCT
Example
Procedure Outcome code: A selection of relevant SNOMED CT codes.
Procedure.complication
ConditionProblemDiagnosisCodes
Example
Example value set for Condition/Problem/Diagnosis codes.
Procedure.followUp
ProcedureFollowUpCodesSNOMEDCT
Example
Procedure follow up codes: A selection of SNOMED CT codes relevant to procedure follow up.
Procedure.focalDevice.action
ProcedureDeviceActionCodes
Preferred
Example codes indicating the change that happened to the device during the procedure. Note that these are in no way complete and might not even be appropriate for some uses.
Procedure.used
DeviceType
Example
Codes used to identify medical devices. Includes concepts from SNOMED CT (http://www.snomed.org/) where concept is-a 49062001 (Device) and is provided as a suggestive example.
9.3.4.2 Constraints
UniqueKey Level Location Description Expression prc-1Rule 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() con-4Rule (base) bodyStructure SHALL only be present if Procedure.bodySite is not present bodySite.exists() implies bodyStructure.empty()
9.3.4.3
Use of Procedure properties
Many of the elements of Procedure have inherent relationships and may be conveyed by the Procedure.code or in the text element
of the Procedure.code property. I.e. you may be able to infer category, bodySite and even indication.
Whether these other properties will be populated may vary by implementation.
Care should be taken to avoid nonsensical combinations/statements; e.g. "name=amputation, bodySite=heart".
Sometimes a complex procedure may consist of several subordinate procedures. In these cases, the list of procedures may be unwieldy for those attempting to view a procedure list. Two properties support ways of filtering and selecting procedures: the partOf property, which associates subordinate procedures to their containing procedures, and could be used to filter out those with partOf values in a higher-level list, and the category, which could be use to flag procedures that are, e.g., billable.
There are other activities that may be captured by an EHR that might not be of value to other providers (e.g. shaving, anesthesia, time admitted to recovery, etc.). The boundary between these classes may vary and is up to the judgment of the implementer. An option for capturing information of potential value that doesn't merit the name "procedure" is to use the note property.
9.3.4.4
Use of Procedure.used
For devices, these are devices that are incidental to / or used to perform the procedure - scalpels, gauze, endoscopes, etc.
Devices that are the focus of the procedure should appear in Procedure.device instead.
9.3.5 Search Parameters
Search parameters for this resource. See also the full list of search parameters for this resource ,
and check the Extensions registry for search parameters on extensions related to this resource.
The common parameters also apply. See Searching for more
information about searching in REST, messaging, and services.
Name
Type
Description
Expression
In Common
based-on
reference
A request for this procedure
Procedure.basedOn (CarePlan , MedicationRequest , ServiceRequest )
category
token
Classification of the procedure
Procedure.category
code
token
A code to identify a procedure
Procedure.code
21 Resources
date
date
When the procedure occurred or is occurring
Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing)
26 Resources
encounter
reference
The Encounter during which this Procedure was created
Procedure.encounter (Encounter )
29 Resources
identifier
token
A unique identifier for a procedure
Procedure.identifier
65 Resources
location
reference
Where the procedure happened
Procedure.location (Location )
part-of
reference
Part of referenced event
Procedure.partOf (Observation , Procedure , MedicationAdministration )
patient
reference
Search by subject - a patient
Procedure.subject.where(resolve() is Patient) (Patient )
65 Resources
performer
reference
Who performed the procedure
Procedure.performer.actor (Practitioner , Organization , CareTeam , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson )
reason-code
token
Reference to a concept (by class)
Procedure.reason.concept
reason-reference
reference
Reference to a resource (by instance)
Procedure.reason.reference
report
reference
Any report resulting from the procedure
Procedure.report (Composition , DiagnosticReport , DocumentReference )
status
token
preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Procedure.status
subject
reference
Search by subject
Procedure.subject (Practitioner , Group , Organization , Device , Patient , Location )