Australian Digital Health Agency FHIR Implementation Guide
1.2.0-ci-build - draft Australia flag

Australian Digital Health Agency FHIR Implementation Guide, published by Australian Digital Health Agency. This guide is not an authorized publication; it is the continuous build for version 1.2.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/AuDigitalHealth/ci-fhir-r4/ and changes regularly. See the Directory of published versions

Resource Profile: ADHA Core Procedure

Official URL: http://ns.electronichealth.net.au/fhir/StructureDefinition/dh-procedure-core-1 Version: 1.0.0
Active as of 2024-09-12 Computable Name: ADHAProcedureCore

Copyright/Legal: Copyright © 2022 Australian Digital Health Agency - All rights reserved. This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.

The purpose of this profile is to provide a core representation of a procedure for the electronic exchange of health information between individuals, healthcare providers, and the My Health Record system infrastructure in Australia.

This profile identifies the additional constraints, extensions, and value sets that build on and extend Procedure that are supported.

This profile is designed to set a core Procedure standard for:

  • Query for procedures performed for a patient
  • Record or update a procedure performed for a patient

This profile may be referred to by APIs, which will be listed here when available.

Profile specific guidance

  • Procedure.category provides an efficient way of supporting system interactions, e.g. restricting searches. Implementers need to understand that data categorisation is somewhat subjective. The categorisation applied by the source may not align with a receiver’s expectations.
  • In an exchange with the My Health Record system Procedure.status is "completed".
  • The Procedure resource can represent a reason as a code with Procedure.reasonCode, or a reference with Procedure.reasonReference to a Condition or other resource.
    • Although both are marked as must support, sending systems are not required to support both a code and a reference, but they SHALL support at least one of these elements.
    • A receiving or persisting system SHALL support both elements.
  • A procedure including an implantable device should use Procedure.focalDevice with a reference to a Device resource.

Usage:

Formal Views of Profile Content

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

This structure is derived from AUBaseProcedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C 0..* AUBaseProcedure A procedure in an Australian healthcare context
inv-dh-pro-01: If present, an asserter shall at least have a reference, an identifier or a display
... status S 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... statusReason S 0..1 CodeableConcept Reason for current status
... category S 1..1 CodeableConcept Classification of the procedure
... subject SC 1..1 Reference(ADHA Core Patient) Who the procedure was performed on
inv-dh-pro-02: At least reference or a valid identifier shall be present
... encounter S 0..1 Reference(ADHA Core Encounter) Encounter created as part of
... performed[x] S 1..1 dateTime, Period, string, Age, Range When the procedure was performed
... recorder SC 1..1 Reference(ADHA Authoring PractitionerRole | ADHA Core Patient | ADHA Authoring RelatedPerson) Who recorded the procedure
inv-dh-pro-03: At least reference or display or a valid identifier shall be present
... asserter SC 0..1 Reference(ADHA Core PractitionerRole | ADHA Core Patient | ADHA Core RelatedPerson) Person who asserts this procedure
... reasonCode S 0..* CodeableConcept Coded reason procedure performed
... reasonReference[x] S 0..* Reference(ADHA Core Condition | ADHA Core Observation | ADHA Core Procedure | ADHA Core DocumentReference) The justification that the procedure was performed
... bodySite SC 0..* CodeableConcept Target body sites
Binding: Body Site . (extensible)
inv-dh-pro-04: If a coded body site is provided, at least one code shall be from SNOMED CT
... note S 0..* Annotation Additional information about the procedure

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.codeextensibleProcedure .
https://healthterminologies.gov.au/fhir/ValueSet/procedure-1
Procedure.bodySiteextensibleBodySite .
https://healthterminologies.gov.au/fhir/ValueSet/body-site-1

Constraints

IdGradePath(s)DetailsRequirements
inv-dh-pro-01errorProcedureIf present, an asserter shall at least have a reference, an identifier or a display
: asserter.exists() implies asserter.all($this.reference.exists() or $this.identifier.exists() or $this.display.exists())
inv-dh-pro-02errorProcedure.subjectAt least reference or a valid identifier shall be present
: reference.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-03errorProcedure.recorderAt least reference or display or a valid identifier shall be present
: reference.exists() or display.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-04errorProcedure.bodySiteIf a coded body site is provided, at least one code shall be from SNOMED CT
: coding.exists() implies coding.where(system='http://snomed.info/sct').exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C 0..* AUBaseProcedure A procedure in an Australian healthcare context
inv-dh-pro-01: If present, an asserter shall at least have a reference, an identifier or a display
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... targetBodyStructure 0..* Reference(BodyStructure) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... statusReason SΣ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.

... category SΣ 1..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

... code SΣ 1..1 CodeableConcept Identification of the procedure
Binding: Procedure . (extensible)
... subject SΣC 1..1 Reference(ADHA Core Patient) Who the procedure was performed on
inv-dh-pro-02: At least reference or a valid identifier shall be present
... encounter SΣ 0..1 Reference(ADHA Core Encounter) Encounter created as part of
... performed[x] SΣ 1..1 When the procedure was performed
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder SΣC 1..1 Reference(ADHA Authoring PractitionerRole | ADHA Core Patient | ADHA Authoring RelatedPerson) Who recorded the procedure
inv-dh-pro-03: At least reference or display or a valid identifier shall be present
... asserter SΣC 0..1 Reference(ADHA Core PractitionerRole | ADHA Core Patient | ADHA Core RelatedPerson) Person who asserts this procedure
... reasonCode SΣ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference SΣ 0..* Reference(ADHA Core Condition | ADHA Core Observation | ADHA Core Procedure | ADHA Core DocumentReference) The justification that the procedure was performed
... bodySite SΣC 0..* CodeableConcept Target body sites
Binding: Body Site . (extensible)
inv-dh-pro-04: If a coded body site is provided, at least one code shall be from SNOMED CT
... note S 0..* Annotation Additional information about the procedure

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeextensibleProcedure .
https://healthterminologies.gov.au/fhir/ValueSet/procedure-1
Procedure.reasonCodeexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteextensibleBodySite .
https://healthterminologies.gov.au/fhir/ValueSet/body-site-1

Constraints

IdGradePath(s)DetailsRequirements
inv-dh-pro-01errorProcedureIf present, an asserter shall at least have a reference, an identifier or a display
: asserter.exists() implies asserter.all($this.reference.exists() or $this.identifier.exists() or $this.display.exists())
inv-dh-pro-02errorProcedure.subjectAt least reference or a valid identifier shall be present
: reference.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-03errorProcedure.recorderAt least reference or display or a valid identifier shall be present
: reference.exists() or display.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-04errorProcedure.bodySiteIf a coded body site is provided, at least one code shall be from SNOMED CT
: coding.exists() implies coding.where(system='http://snomed.info/sct').exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C 0..* AUBaseProcedure A procedure in an Australian healthcare context
inv-dh-pro-01: If present, an asserter shall at least have a reference, an identifier or a display
... 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: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... targetBodyStructure 0..* Reference(BodyStructure) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 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 SΣ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.

... category SΣ 1..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

... code SΣ 1..1 CodeableConcept Identification of the procedure
Binding: Procedure . (extensible)
... subject SΣC 1..1 Reference(ADHA Core Patient) Who the procedure was performed on
inv-dh-pro-02: At least reference or a valid identifier shall be present
... encounter SΣ 0..1 Reference(ADHA Core Encounter) Encounter created as part of
... performed[x] SΣ 1..1 When the procedure was performed
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder SΣC 1..1 Reference(ADHA Authoring PractitionerRole | ADHA Core Patient | ADHA Authoring RelatedPerson) Who recorded the procedure
inv-dh-pro-03: At least reference or display or a valid identifier shall be present
... asserter SΣC 0..1 Reference(ADHA Core PractitionerRole | ADHA Core Patient | ADHA Core RelatedPerson) Person who asserts this procedure
... performer Σ 0..* BackboneElement The people who performed the procedure
.... 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 Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
.... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
... location Σ 0..1 Reference(Location) Where the procedure happened
... reasonCode SΣ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference SΣ 0..* Reference(ADHA Core Condition | ADHA Core Observation | ADHA Core Procedure | ADHA Core DocumentReference) The justification that the procedure was performed
... bodySite SΣC 0..* CodeableConcept Target body sites
Binding: Body Site . (extensible)
inv-dh-pro-04: If a coded body site is provided, at least one code shall be from SNOMED CT
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (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..* CodeableConcept Complication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... complicationDetail 0..* Reference(Condition) A condition that is a result of the procedure
... followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.


... note S 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
... usedReference 0..* Reference(Device | Medication | Substance) Items used during procedure
... usedCode 0..* CodeableConcept Coded items used during the procedure
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeextensibleProcedure .
https://healthterminologies.gov.au/fhir/ValueSet/procedure-1
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonCodeexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteextensibleBodySite .
https://healthterminologies.gov.au/fhir/ValueSet/body-site-1
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
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.usedCodeexampleFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
inv-dh-pro-01errorProcedureIf present, an asserter shall at least have a reference, an identifier or a display
: asserter.exists() implies asserter.all($this.reference.exists() or $this.identifier.exists() or $this.display.exists())
inv-dh-pro-02errorProcedure.subjectAt least reference or a valid identifier shall be present
: reference.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-03errorProcedure.recorderAt least reference or display or a valid identifier shall be present
: reference.exists() or display.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-04errorProcedure.bodySiteIf a coded body site is provided, at least one code shall be from SNOMED CT
: coding.exists() implies coding.where(system='http://snomed.info/sct').exists()

Differential View

This structure is derived from AUBaseProcedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C 0..* AUBaseProcedure A procedure in an Australian healthcare context
inv-dh-pro-01: If present, an asserter shall at least have a reference, an identifier or a display
... status S 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... statusReason S 0..1 CodeableConcept Reason for current status
... category S 1..1 CodeableConcept Classification of the procedure
... subject SC 1..1 Reference(ADHA Core Patient) Who the procedure was performed on
inv-dh-pro-02: At least reference or a valid identifier shall be present
... encounter S 0..1 Reference(ADHA Core Encounter) Encounter created as part of
... performed[x] S 1..1 dateTime, Period, string, Age, Range When the procedure was performed
... recorder SC 1..1 Reference(ADHA Authoring PractitionerRole | ADHA Core Patient | ADHA Authoring RelatedPerson) Who recorded the procedure
inv-dh-pro-03: At least reference or display or a valid identifier shall be present
... asserter SC 0..1 Reference(ADHA Core PractitionerRole | ADHA Core Patient | ADHA Core RelatedPerson) Person who asserts this procedure
... reasonCode S 0..* CodeableConcept Coded reason procedure performed
... reasonReference[x] S 0..* Reference(ADHA Core Condition | ADHA Core Observation | ADHA Core Procedure | ADHA Core DocumentReference) The justification that the procedure was performed
... bodySite SC 0..* CodeableConcept Target body sites
Binding: Body Site . (extensible)
inv-dh-pro-04: If a coded body site is provided, at least one code shall be from SNOMED CT
... note S 0..* Annotation Additional information about the procedure

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Procedure.codeextensibleProcedure .
https://healthterminologies.gov.au/fhir/ValueSet/procedure-1
Procedure.bodySiteextensibleBodySite .
https://healthterminologies.gov.au/fhir/ValueSet/body-site-1

Constraints

IdGradePath(s)DetailsRequirements
inv-dh-pro-01errorProcedureIf present, an asserter shall at least have a reference, an identifier or a display
: asserter.exists() implies asserter.all($this.reference.exists() or $this.identifier.exists() or $this.display.exists())
inv-dh-pro-02errorProcedure.subjectAt least reference or a valid identifier shall be present
: reference.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-03errorProcedure.recorderAt least reference or display or a valid identifier shall be present
: reference.exists() or display.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-04errorProcedure.bodySiteIf a coded body site is provided, at least one code shall be from SNOMED CT
: coding.exists() implies coding.where(system='http://snomed.info/sct').exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C 0..* AUBaseProcedure A procedure in an Australian healthcare context
inv-dh-pro-01: If present, an asserter shall at least have a reference, an identifier or a display
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... targetBodyStructure 0..* Reference(BodyStructure) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... statusReason SΣ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.

... category SΣ 1..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

... code SΣ 1..1 CodeableConcept Identification of the procedure
Binding: Procedure . (extensible)
... subject SΣC 1..1 Reference(ADHA Core Patient) Who the procedure was performed on
inv-dh-pro-02: At least reference or a valid identifier shall be present
... encounter SΣ 0..1 Reference(ADHA Core Encounter) Encounter created as part of
... performed[x] SΣ 1..1 When the procedure was performed
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder SΣC 1..1 Reference(ADHA Authoring PractitionerRole | ADHA Core Patient | ADHA Authoring RelatedPerson) Who recorded the procedure
inv-dh-pro-03: At least reference or display or a valid identifier shall be present
... asserter SΣC 0..1 Reference(ADHA Core PractitionerRole | ADHA Core Patient | ADHA Core RelatedPerson) Person who asserts this procedure
... reasonCode SΣ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference SΣ 0..* Reference(ADHA Core Condition | ADHA Core Observation | ADHA Core Procedure | ADHA Core DocumentReference) The justification that the procedure was performed
... bodySite SΣC 0..* CodeableConcept Target body sites
Binding: Body Site . (extensible)
inv-dh-pro-04: If a coded body site is provided, at least one code shall be from SNOMED CT
... note S 0..* Annotation Additional information about the procedure

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeextensibleProcedure .
https://healthterminologies.gov.au/fhir/ValueSet/procedure-1
Procedure.reasonCodeexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteextensibleBodySite .
https://healthterminologies.gov.au/fhir/ValueSet/body-site-1

Constraints

IdGradePath(s)DetailsRequirements
inv-dh-pro-01errorProcedureIf present, an asserter shall at least have a reference, an identifier or a display
: asserter.exists() implies asserter.all($this.reference.exists() or $this.identifier.exists() or $this.display.exists())
inv-dh-pro-02errorProcedure.subjectAt least reference or a valid identifier shall be present
: reference.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-03errorProcedure.recorderAt least reference or display or a valid identifier shall be present
: reference.exists() or display.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-04errorProcedure.bodySiteIf a coded body site is provided, at least one code shall be from SNOMED CT
: coding.exists() implies coding.where(system='http://snomed.info/sct').exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C 0..* AUBaseProcedure A procedure in an Australian healthcare context
inv-dh-pro-01: If present, an asserter shall at least have a reference, an identifier or a display
... 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: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... targetBodyStructure 0..* Reference(BodyStructure) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 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 SΣ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.

... category SΣ 1..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

... code SΣ 1..1 CodeableConcept Identification of the procedure
Binding: Procedure . (extensible)
... subject SΣC 1..1 Reference(ADHA Core Patient) Who the procedure was performed on
inv-dh-pro-02: At least reference or a valid identifier shall be present
... encounter SΣ 0..1 Reference(ADHA Core Encounter) Encounter created as part of
... performed[x] SΣ 1..1 When the procedure was performed
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder SΣC 1..1 Reference(ADHA Authoring PractitionerRole | ADHA Core Patient | ADHA Authoring RelatedPerson) Who recorded the procedure
inv-dh-pro-03: At least reference or display or a valid identifier shall be present
... asserter SΣC 0..1 Reference(ADHA Core PractitionerRole | ADHA Core Patient | ADHA Core RelatedPerson) Person who asserts this procedure
... performer Σ 0..* BackboneElement The people who performed the procedure
.... 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 Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
.... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
... location Σ 0..1 Reference(Location) Where the procedure happened
... reasonCode SΣ 0..* CodeableConcept Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference SΣ 0..* Reference(ADHA Core Condition | ADHA Core Observation | ADHA Core Procedure | ADHA Core DocumentReference) The justification that the procedure was performed
... bodySite SΣC 0..* CodeableConcept Target body sites
Binding: Body Site . (extensible)
inv-dh-pro-04: If a coded body site is provided, at least one code shall be from SNOMED CT
... outcome Σ 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (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..* CodeableConcept Complication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.


... complicationDetail 0..* Reference(Condition) A condition that is a result of the procedure
... followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.


... note S 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
... usedReference 0..* Reference(Device | Medication | Substance) Items used during procedure
... usedCode 0..* CodeableConcept Coded items used during the procedure
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
http://hl7.org/fhir/ValueSet/procedure-not-performed-reason
from the FHIR Standard
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-category
from the FHIR Standard
Procedure.codeextensibleProcedure .
https://healthterminologies.gov.au/fhir/ValueSet/procedure-1
Procedure.performer.functionexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Procedure.reasonCodeexampleProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
Procedure.bodySiteextensibleBodySite .
https://healthterminologies.gov.au/fhir/ValueSet/body-site-1
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-outcome
from the FHIR Standard
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
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.usedCodeexampleFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
inv-dh-pro-01errorProcedureIf present, an asserter shall at least have a reference, an identifier or a display
: asserter.exists() implies asserter.all($this.reference.exists() or $this.identifier.exists() or $this.display.exists())
inv-dh-pro-02errorProcedure.subjectAt least reference or a valid identifier shall be present
: reference.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-03errorProcedure.recorderAt least reference or display or a valid identifier shall be present
: reference.exists() or display.exists() or identifier.where(system.count() + value.count() >1).exists()
inv-dh-pro-04errorProcedure.bodySiteIf a coded body site is provided, at least one code shall be from SNOMED CT
: coding.exists() implies coding.where(system='http://snomed.info/sct').exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Below is an overview of the mandatory and optional search parameters. FHIR search operations and the syntax used to describe the interactions is described here.

Name Type Conformance Description Path
category token SHALL Classification of the procedure Procedure.category
subject:identifier token SHALL Search by subject Procedure.subject.identifier
code token SHALL A code to identify a procedure Procedure.code
date token SHALL When the procedure was performed Procedure.performed
status token SHALL preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Procedure.status

Mandatory Search Parameters

The following search parameters and search parameter combinations SHALL be supported:

  1. SHALL support searching for all procedures for a patient using the subject:identifier search parameter:

    GET [base]/Procedure?subject:identifier={system|}[code]

    Example:

     GET [base]/Procedure?subject:identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608000228437
    

    Implementation Notes: Fetches a bundle of all Procedure resources for the specified patient (how to search by :identifier)

  2. SHALL support searching using the combination subject:identifier and category search parameter:

    GET [base]/Procedure?subject:identifier={system|}[code]&category={system|}[code]

    Example:

     GET [base]/Procedure?subject:identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608000228437&category=http://snomed.info/sct|387713003
    

    Implementation Notes: Fetches a bundle of all Procedure resources with the category of "Surgical procedure" for the specified patient (how to search by :identifier)

  3. SHALL support searching using the combination subject:identifier and code search parameter:

    GET [base]/Procedure?subject:identifier={system|}[code]&code={system|}[code]

    Example:

     GET [base]/Procedure?subject:identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608000228437&code=http://snomed.info/sct|34068001
    

    Implementation Notes: Fetches a bundle of all Procedure resources with the code of an 34068001 (Heart valve replacement) for the specified patient (how to search by :identifier and how to search by token)

  4. SHALL support searching using the combination subject:identifier and status search parameter:

    GET [base]/Procedure?subject:identifier={system|}[code]&status={system|}[code]

    Example:

     GET [base]/Procedure?subject:identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608000228437&&status=completed
    

    Implementation Notes: Fetches a bundle of all completed Procedure resources for the specified patient.

  5. SHALL support searching using the combination of the subject:identifier and date search parameters:

    GET [base]/Procedure?subject:identifier={system|}[code]&date=[date]

    Example:

     GET [base]/Procedure?subject:identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608000228437&date=ge2013-03-14
    

    Implementation Notes: Fetches a bundle of all Procedure resources for the specified patient that have a date greater than or equal to 14 March 2013. (how to search by :identifier and how to search by date)