## Profile Comparison between http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-procedure vs http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-procedure

Left: | AU PS Procedure (http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-procedure)
Right: | AU PS Procedure (http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-procedure)

### Messages

Error | StructureDefinition.version | Values for version differ: '0.4.0-draft' vs '0.5.0-preview'
Information | StructureDefinition.status | Values for status differ: 'draft' vs 'active'
Information | StructureDefinition.date | Values for date differ: '2025-08-22T04:48:04+00:00' vs '2025-12-03T03:25:00+00:00'
Information | Procedure.language | Example/preferred bindings differ at Procedure.language using binding from AUPSProcedure
Information | Procedure.focalDevice.action | Example/preferred bindings differ at Procedure.focalDevice.action using binding from AUPSProcedure

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org.au/fhir/core/StructureDefinition/au-core-procedure |
copyright | Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved. |
date | 2025-08-22T04:48:04+00:00 | 2025-12-03T03:25:00+00:00 | Values Differ
description | 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](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-procedure.html) profile, and applies the additional requirements from [Procedure (IPS)](http://hl7.org/fhir/uv/ips/StructureDefinition/Procedure-uv-ips). |
experimental |  |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | urn:iso:std:iso:3166#AU |
kind | resource |
name | AUPSProcedure |
publisher | HL7 Australia |
purpose |  |
status | draft | active | Values Differ
title | AU PS Procedure |
type | Procedure |
url | http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-procedure |
version | 0.4.0-draft | 0.5.0-preview | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Procedure |  | 0..* | AUCoreProcedure | A procedure in an Australian healthcare context This profile also complies with the profile Procedure (IPS) |  | 0..* | AUCoreProcedure | A procedure in an Australian healthcare context This profile also complies with the profile Procedure (IPS) |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
| Example/preferred bindings differ at Procedure.language using binding from AUPSProcedure
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 |  | 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 |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | External Identifiers for this procedure | Σ | 0..* | Identifier | External Identifiers for this procedure |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure | Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure |
partOf | Σ | 0..* | Reference(Procedure | Observation | MedicationAdministration) | Part of referenced event | Σ | 0..* | Reference(Procedure | Observation | MedicationAdministration) | Part of referenced event |
status | ?!SO Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: ?? (required): A code specifying the state of the procedure.
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
| ?!SO Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: ?? (required): A code specifying the state of the procedure.
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: ?? (example): A code that identifies the reason a procedure was not performed. | Σ | 0..1 | CodeableConcept | Reason for current status Binding: ?? (example): A code that identifies the reason a procedure was not performed. |
category | Σ | 0..1 | CodeableConcept | Classification of the procedure Binding: ?? (example): A code that classifies a procedure for searching, sorting and display purposes. | Σ | 0..1 | CodeableConcept | Classification of the procedure Binding: ?? (example): A code that classifies a procedure for searching, sorting and display purposes. |
code | SO Σ | 1..1 | ?? | Identification of the procedure Binding: ?? (extensible)
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
| SO Σ | 1..1 | ?? | Identification of the procedure Binding: ?? (extensible)
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
subject | SO Σ | 1..1 | Reference(AU PS Patient) | Who the procedure was performed on
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
| SO Σ | 1..1 | Reference(AU PS Patient) | Who the procedure was performed on
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | SO Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
| SO Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). |
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
display | Σ | 0..1 | string | Text alternative for the resource | Σ | 0..1 | string | Text alternative for the resource |
encounter | SO Σ | 0..1 | Reference(AU PS Encounter) | Encounter created as part of
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
| SO Σ | 0..1 | Reference(AU PS Encounter) | Encounter created as part of
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
performed[x] | SO Σ | 1..1 | dateTime S, Period, string, Age, Range | When the procedure was performed
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
| SO Σ | 1..1 | dateTime S, Period, string, Age, Range | When the procedure was performed
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
recorder | Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Who recorded the procedure | Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Who recorded the procedure |
asserter | Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Person who asserts this procedure | Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Person who asserts this procedure |
performer | Σ | 0..* | BackboneElement | The people who performed the procedure | Σ | 0..* | BackboneElement | The people who performed the procedure |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
function | Σ | 0..1 | CodeableConcept | Type of performance Binding: ?? (example): A code that identifies the role of a performer of the procedure. | Σ | 0..1 | CodeableConcept | Type of performance Binding: ?? (example): A code that identifies the role of a performer of the procedure. |
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 | Σ | 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 |
onBehalfOf |  | 0..1 | Reference(AU PS Organization) | Organization the device or practitioner was acting for |  | 0..1 | Reference(AU PS Organization) | Organization the device or practitioner was acting for |
location | Σ | 0..1 | Reference(Location) | Where the procedure happened | Σ | 0..1 | Reference(Location) | Where the procedure happened |
reasonCode | SO Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ?? (example): A code that identifies the reason a procedure is required.
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
| SO Σ | 0..* | ?? | Coded reason procedure performed Binding: ?? (example): A code that identifies the reason a procedure is required.
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
reasonReference | SO Σ | 0..* | Reference(AU PS Condition | Observation | AU PS Procedure | DocumentReference) | The justification that the procedure was performed
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
| SO Σ | 0..* | Reference(AU PS Condition | Observation | AU PS Procedure | DocumentReference) | The justification that the procedure was performed
Obligations | Actor | Source
SHALL:populate-if-known | AU Core Responder | from AU Core Procedure
SHALL:no-error | AU Core Requester | from AU Core Procedure
SHALL:populate-if-known | AU PS Producer |
SHALL:handle | AU PS Consumer |
SHOULD:display | AU PS Consumer |
bodySite | Σ C | 0..* | CodeableConcept | Target body sites Binding: ?? (extensible) | Σ C | 0..* | CodeableConcept | Target body sites Binding: ?? (extensible) |
outcome | Σ | 0..1 | CodeableConcept | The result of procedure Binding: ?? (example): An outcome of a procedure - whether it was resolved or otherwise. | Σ | 0..1 | CodeableConcept | The result of procedure Binding: ?? (example): An outcome of a procedure - whether it was resolved or otherwise. |
report |  | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure |  | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure |
complication |  | 0..* | CodeableConcept | Complication following the procedure Binding: ?? (example): Codes describing complications that resulted from a procedure. |  | 0..* | CodeableConcept | Complication following the procedure Binding: ?? (example): Codes describing complications that resulted from a procedure. |
complicationDetail |  | 0..* | Reference(Condition) | A condition that is a result of the procedure |  | 0..* | Reference(Condition) | A condition that is a result of the procedure |
followUp |  | 0..* | CodeableConcept | Instructions for follow up Binding: ?? (example): Specific follow up required for a procedure e.g. removal of sutures. |  | 0..* | CodeableConcept | Instructions for follow up Binding: ?? (example): Specific follow up required for a procedure e.g. removal of sutures. |
note |  | 0..* | Annotation | Additional information about the procedure |  | 0..* | Annotation | Additional information about the procedure |
focalDevice |  | 0..* | BackboneElement | Manipulated, implanted, or removed device |  | 0..* | BackboneElement | Manipulated, implanted, or removed device |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
action |  | 0..1 | CodeableConcept | Kind of change to device Binding: ?? (preferred): A kind of change that happened to the device during the procedure. |  | 0..1 | CodeableConcept | Kind of change to device Binding: ?? (preferred): A kind of change that happened to the device during the procedure. | Example/preferred bindings differ at Procedure.focalDevice.action using binding from AUPSProcedure
manipulated |  | 1..1 | Reference(Device) | Device that was changed |  | 1..1 | Reference(Device) | Device that was changed |
usedReference |  | 0..* | Reference(Device | Medication | Substance) | Items used during procedure |  | 0..* | Reference(Device | Medication | Substance) | Items used during procedure |
usedCode |  | 0..* | CodeableConcept | Coded items used during the procedure Binding: ?? (example): Codes describing items used during a procedure. |  | 0..* | CodeableConcept | Coded items used during the procedure Binding: ?? (example): Codes describing items used during a procedure. |
Documentation for this format