AU Patient Summary Implementation Guide
1.0.1-ci-build - CI Build Australia flag

AU Patient Summary Implementation Guide, published by HL7 Australia. This guide is not an authorized publication; it is the continuous build for version 1.0.1-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7au/au-fhir-ps/ and changes regularly. See the Directory of published versions

Resource Profile: AU PS Procedure

Official URL: http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-procedure Version: 1.0.1-ci-build
Standards status: Trial-use Maturity Level: 2 Computable Name: AUPSProcedure

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2024+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for a Procedure resource in the context of a patient summary in an Australian context. It is based on the AU Core Procedure profile, and applies the additional requirements from Procedure (IPS).

See Comparison With Other National and International IGs for a comparison between AU Patient Summary (AU PS) profiles and profiles in other implementation guides.

Profile Specific Implementation Guidance

  • See the guidance on implementing the Procedure resource in AU Core.
  • The Procedure resource can represent a clinical indication with Procedure.reasonCode, or a reference with Procedure.reasonReference to a Condition or other resource.
    • Although both are marked as Must Support, producers are not required to support both a code and a reference, but they SHALL support at least one of these elements
    • A consumer SHALL support both elements

The additional obligation on Procedure.performedDateTime for AU PS Producer is SHOULD:able-to-populate. This obligation is in addition to the obligation of SHALL:populate-if-known. There is no additional obligation for AU PS Consumer, the obligations of SHALL:handle and SHOULD:display apply.

This additional obligation is present in the underlying structure but due to a tooling limitation is not currently rendered in the Formal Views of Profile Content. See Zulip discussion for more information.

Examples for this Profile: Bundle/aups-gpvisit-retrieval

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
Procedure.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Procedure.Slices for extension Content/Rules for all slices
Procedure.Slices for extension.extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
Procedure.Slices for extension.extension:targetBodyStructure 0..* Reference(BodyStructure) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Procedure.status This element is a modifier element. This element has obligations and must be supported. This element is included in summaries. 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.
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.code This element has obligations and must be supported. This element is included in summaries. 1..1 CodeableConceptIPS Identification of the procedure
Binding: Procedure (extensible)
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject This element has obligations and must be supported. This element is included in summaries. 1..1 Reference(AU PS Patient) Who the procedure was performed on
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject.reference This element has obligations and must be supported. This element is included in summaries. C 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
Procedure.encounter This element has obligations and must be supported. This element is included in summaries. 0..1 Reference(AU PS Encounter) Encounter created as part of
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x] This element has obligations and must be supported. This element is included in summaries. 1..1 When the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x].performedDateTime dateTime This target must be supported.
Procedure.performed[x].performedPeriod Period
Procedure.performed[x].performedString string
Procedure.performed[x].performedAge Age
Procedure.performed[x].performedRange Range
Procedure.reasonCode This element has obligations and must be supported. This element is included in summaries. 0..* CodeableConceptIPS Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.reasonReference This element has obligations and must be supported. This element is included in summaries. 0..* Reference(AU PS Condition | Observation | AU PS Procedure | DocumentReference) The justification that the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.code Base extensible Procedure ⏿1.0.2 tx.hl7.org.au
Procedure.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Procedure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Procedure If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Procedure If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Procedure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Procedure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from AUCoreProcedure

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
Procedure.status This element has obligations. 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.code This element has obligations. 1..1 CodeableConceptIPS Identification of the procedure
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject This element has obligations. 1..1 Reference(AU PS Patient) Who the procedure was performed on
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject.reference This element has obligations and must be supported. 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
Procedure.performed[x] This element has obligations. 1..1 When the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x].performedDateTime dateTime
Procedure.performed[x].performedPeriod Period
Procedure.performed[x].performedString string
Procedure.performed[x].performedAge Age
Procedure.performed[x].performedRange Range
Procedure.performer
Procedure.performer.actor 1..1 Reference(AU PS Patient | AU PS RelatedPerson | Device - Performer or Observer (IPS) | AU PS Practitioner | AU PS PractitionerRole | AU PS Organization) The reference to the practitioner
Procedure.performer.onBehalfOf 0..1 Reference(AU PS Organization) Organization the device or practitioner was acting for
Procedure.reasonCode This element has obligations. 0..* CodeableConceptIPS Coded reason procedure performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.reasonReference This element has obligations. 0..* Reference(AU PS Condition | Observation | AU PS Procedure | DocumentReference) The justification that the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
Procedure.id This element is included in summaries. 0..1 id Logical id of this artifact
Procedure.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Procedure.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Procedure.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Procedure.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Procedure.contained 0..* Resource Contained, inline Resources
Procedure.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Procedure.Slices for extension.extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
Procedure.Slices for extension.extension:targetBodyStructure 0..* Reference(BodyStructure) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Procedure.identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Procedure.instantiatesCanonical This element is included in summaries. 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
Procedure.instantiatesUri This element is included in summaries. 0..* uri Instantiates external protocol or definition
Procedure.basedOn This element is included in summaries. 0..* Reference(CarePlan | ServiceRequest) A request for this procedure
Procedure.partOf This element is included in summaries. 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
Procedure.status This element is a modifier element. This element has obligations and must be supported. This element is included in summaries. 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.
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.statusReason This element is included in summaries. 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
Procedure.category This element is included in summaries. 0..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
Procedure.code This element has obligations and must be supported. This element is included in summaries. 1..1 CodeableConceptIPS Identification of the procedure
Binding: Procedure (extensible)
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject This element has obligations and must be supported. This element is included in summaries. 1..1 Reference(AU PS Patient) Who the procedure was performed on
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject.id 0..1 string Unique id for inter-element referencing
Procedure.subject.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.subject.reference This element has obligations and must be supported. This element is included in summaries. C 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
Procedure.subject.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Procedure.subject.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Procedure.subject.display This element is included in summaries. 0..1 string Text alternative for the resource
Procedure.encounter This element has obligations and must be supported. This element is included in summaries. 0..1 Reference(AU PS Encounter) Encounter created as part of
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x] This element has obligations and must be supported. This element is included in summaries. 1..1 When the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x].performedDateTime dateTime This target must be supported.
Procedure.performed[x].performedPeriod Period
Procedure.performed[x].performedString string
Procedure.performed[x].performedAge Age
Procedure.performed[x].performedRange Range
Procedure.recorder This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
Procedure.asserter This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Person who asserts this procedure
Procedure.performer This element is included in summaries. 0..* BackboneElement The people who performed the procedure
Procedure.performer.id 0..1 string Unique id for inter-element referencing
Procedure.performer.extension 0..* Extension Additional content defined by implementations
Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.performer.function This element is included in summaries. 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
Procedure.performer.actor This element is included in summaries. 1..1 Reference(AU PS Patient | AU PS RelatedPerson | Device - Performer or Observer (IPS) | AU PS Practitioner | AU PS PractitionerRole | AU PS Organization) The reference to the practitioner
Procedure.performer.onBehalfOf 0..1 Reference(AU PS Organization) Organization the device or practitioner was acting for
Procedure.location This element is included in summaries. 0..1 Reference(Location) Where the procedure happened
Procedure.reasonCode This element has obligations and must be supported. This element is included in summaries. 0..* CodeableConceptIPS Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.reasonReference This element has obligations and must be supported. This element is included in summaries. 0..* Reference(AU PS Condition | Observation | AU PS Procedure | DocumentReference) The justification that the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.bodySite This element is included in summaries. C 0..* CodeableConcept Target body sites
Binding: Body Site (extensible)
Constraints: au-core-pro-01
Procedure.outcome This element is included in summaries. 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
Procedure.report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
Procedure.complication 0..* CodeableConcept Complication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
Procedure.complicationDetail 0..* Reference(Condition) A condition that is a result of the procedure
Procedure.followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.
Procedure.note 0..* Annotation Additional information about the procedure
Procedure.focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
Procedure.focalDevice.id 0..1 string Unique id for inter-element referencing
Procedure.focalDevice.extension 0..* Extension Additional content defined by implementations
Procedure.focalDevice.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.focalDevice.action 0..1 CodeableConcept Kind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.
Procedure.focalDevice.manipulated 1..1 Reference(Device) Device that was changed
Procedure.usedReference 0..* Reference(Device | Medication | Substance) Items used during procedure
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

Path Status Usage ValueSet Version Source
Procedure.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base extensible Procedure ⏿1.0.2 tx.hl7.org.au
Procedure.subject.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.
Procedure.bodySite Base extensible Body Site ⏿1.0.2 tx.hl7.org.au
Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.complication Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍4.0.1 FHIR Std.
Procedure.usedCode Base example FHIR Device Types 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
au-core-pro-01 error Procedure.bodySite If a coded body site is provided, at least one coding shall be from SNOMED CT coding.exists() implies coding.where(system='http://snomed.info/sct').exists()
dom-2 error Procedure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Procedure If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Procedure If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Procedure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Procedure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
Procedure.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Procedure.Slices for extension Content/Rules for all slices
Procedure.Slices for extension.extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
Procedure.Slices for extension.extension:targetBodyStructure 0..* Reference(BodyStructure) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Procedure.status This element is a modifier element. This element has obligations and must be supported. This element is included in summaries. 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.
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.code This element has obligations and must be supported. This element is included in summaries. 1..1 CodeableConceptIPS Identification of the procedure
Binding: Procedure (extensible)
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject This element has obligations and must be supported. This element is included in summaries. 1..1 Reference(AU PS Patient) Who the procedure was performed on
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject.reference This element has obligations and must be supported. This element is included in summaries. C 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
Procedure.encounter This element has obligations and must be supported. This element is included in summaries. 0..1 Reference(AU PS Encounter) Encounter created as part of
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x] This element has obligations and must be supported. This element is included in summaries. 1..1 When the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x].performedDateTime dateTime This target must be supported.
Procedure.performed[x].performedPeriod Period
Procedure.performed[x].performedString string
Procedure.performed[x].performedAge Age
Procedure.performed[x].performedRange Range
Procedure.reasonCode This element has obligations and must be supported. This element is included in summaries. 0..* CodeableConceptIPS Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.reasonReference This element has obligations and must be supported. This element is included in summaries. 0..* Reference(AU PS Condition | Observation | AU PS Procedure | DocumentReference) The justification that the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.code Base extensible Procedure ⏿1.0.2 tx.hl7.org.au
Procedure.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Procedure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Procedure If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Procedure If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Procedure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Procedure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from AUCoreProcedure

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
Procedure.status This element has obligations. 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.code This element has obligations. 1..1 CodeableConceptIPS Identification of the procedure
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject This element has obligations. 1..1 Reference(AU PS Patient) Who the procedure was performed on
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject.reference This element has obligations and must be supported. 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
Procedure.encounter This element has obligations. 0..1 Reference(AU PS Encounter) Encounter created as part of
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x] This element has obligations. 1..1 When the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x].performedDateTime dateTime
Procedure.performed[x].performedPeriod Period
Procedure.performed[x].performedString string
Procedure.performed[x].performedAge Age
Procedure.performed[x].performedRange Range
Procedure.performer
Procedure.performer.actor 1..1 Reference(AU PS Patient | AU PS RelatedPerson | Device - Performer or Observer (IPS) | AU PS Practitioner | AU PS PractitionerRole | AU PS Organization) The reference to the practitioner
Procedure.performer.onBehalfOf 0..1 Reference(AU PS Organization) Organization the device or practitioner was acting for
Procedure.reasonCode This element has obligations. 0..* CodeableConceptIPS Coded reason procedure performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.reasonReference This element has obligations. 0..* Reference(AU PS Condition | Observation | AU PS Procedure | DocumentReference) The justification that the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
Procedure.id This element is included in summaries. 0..1 id Logical id of this artifact
Procedure.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Procedure.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Procedure.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Procedure.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Procedure.contained 0..* Resource Contained, inline Resources
Procedure.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Procedure.Slices for extension.extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
Procedure.Slices for extension.extension:targetBodyStructure 0..* Reference(BodyStructure) The target point for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure
Procedure.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Procedure.identifier This element is included in summaries. 0..* Identifier External Identifiers for this procedure
Procedure.instantiatesCanonical This element is included in summaries. 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
Procedure.instantiatesUri This element is included in summaries. 0..* uri Instantiates external protocol or definition
Procedure.basedOn This element is included in summaries. 0..* Reference(CarePlan | ServiceRequest) A request for this procedure
Procedure.partOf This element is included in summaries. 0..* Reference(Procedure | Observation | MedicationAdministration) Part of referenced event
Procedure.status This element is a modifier element. This element has obligations and must be supported. This element is included in summaries. 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.
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.statusReason This element is included in summaries. 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
Procedure.category This element is included in summaries. 0..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
Procedure.code This element has obligations and must be supported. This element is included in summaries. 1..1 CodeableConceptIPS Identification of the procedure
Binding: Procedure (extensible)
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject This element has obligations and must be supported. This element is included in summaries. 1..1 Reference(AU PS Patient) Who the procedure was performed on
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.subject.id 0..1 string Unique id for inter-element referencing
Procedure.subject.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Procedure.subject.reference This element has obligations and must be supported. This element is included in summaries. C 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate AU PS Producer
SHALL:handle AU PS Consumer
Procedure.subject.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Procedure.subject.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Procedure.subject.display This element is included in summaries. 0..1 string Text alternative for the resource
Procedure.encounter This element has obligations and must be supported. This element is included in summaries. 0..1 Reference(AU PS Encounter) Encounter created as part of
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x] This element has obligations and must be supported. This element is included in summaries. 1..1 When the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.performed[x].performedDateTime dateTime This target must be supported.
Procedure.performed[x].performedPeriod Period
Procedure.performed[x].performedString string
Procedure.performed[x].performedAge Age
Procedure.performed[x].performedRange Range
Procedure.recorder This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
Procedure.asserter This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Person who asserts this procedure
Procedure.performer This element is included in summaries. 0..* BackboneElement The people who performed the procedure
Procedure.performer.id 0..1 string Unique id for inter-element referencing
Procedure.performer.extension 0..* Extension Additional content defined by implementations
Procedure.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.performer.function This element is included in summaries. 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
Procedure.performer.actor This element is included in summaries. 1..1 Reference(AU PS Patient | AU PS RelatedPerson | Device - Performer or Observer (IPS) | AU PS Practitioner | AU PS PractitionerRole | AU PS Organization) The reference to the practitioner
Procedure.performer.onBehalfOf 0..1 Reference(AU PS Organization) Organization the device or practitioner was acting for
Procedure.location This element is included in summaries. 0..1 Reference(Location) Where the procedure happened
Procedure.reasonCode This element has obligations and must be supported. This element is included in summaries. 0..* CodeableConceptIPS Coded reason procedure performed
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.reasonReference This element has obligations and must be supported. This element is included in summaries. 0..* Reference(AU PS Condition | Observation | AU PS Procedure | DocumentReference) The justification that the procedure was performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
Procedure.bodySite This element is included in summaries. C 0..* CodeableConcept Target body sites
Binding: Body Site (extensible)
Constraints: au-core-pro-01
Procedure.outcome This element is included in summaries. 0..1 CodeableConcept The result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise.
Procedure.report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Any report resulting from the procedure
Procedure.complication 0..* CodeableConcept Complication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
Procedure.complicationDetail 0..* Reference(Condition) A condition that is a result of the procedure
Procedure.followUp 0..* CodeableConcept Instructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.
Procedure.note 0..* Annotation Additional information about the procedure
Procedure.focalDevice 0..* BackboneElement Manipulated, implanted, or removed device
Procedure.focalDevice.id 0..1 string Unique id for inter-element referencing
Procedure.focalDevice.extension 0..* Extension Additional content defined by implementations
Procedure.focalDevice.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Procedure.focalDevice.action 0..1 CodeableConcept Kind of change to device
Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure.
Procedure.focalDevice.manipulated 1..1 Reference(Device) Device that was changed
Procedure.usedReference 0..* Reference(Device | Medication | Substance) Items used during procedure
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

Path Status Usage ValueSet Version Source
Procedure.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Procedure.status Base required EventStatus 📍4.0.1 FHIR Std.
Procedure.statusReason Base example Procedure Not Performed Reason (SNOMED-CT) 📍4.0.1 FHIR Std.
Procedure.category Base example Procedure Category Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.code Base extensible Procedure ⏿1.0.2 tx.hl7.org.au
Procedure.subject.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base example Procedure Reason Codes 📍4.0.1 FHIR Std.
Procedure.bodySite Base extensible Body Site ⏿1.0.2 tx.hl7.org.au
Procedure.outcome Base example Procedure Outcome Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.complication Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
Procedure.followUp Base example Procedure Follow up Codes (SNOMED CT) 📍4.0.1 FHIR Std.
Procedure.focalDevice.​action Base preferred Procedure Device Action Codes 📍4.0.1 FHIR Std.
Procedure.usedCode Base example FHIR Device Types 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
au-core-pro-01 error Procedure.bodySite If a coded body site is provided, at least one coding shall be from SNOMED CT coding.exists() implies coding.where(system='http://snomed.info/sct').exists()
dom-2 error Procedure If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Procedure If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Procedure If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Procedure If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Procedure A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron