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

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

### Messages

Information | Procedure.language | Example/preferred bindings differ at Procedure.language using binding from AUCoreProcedure
Information | Procedure.focalDevice.action | Example/preferred bindings differ at Procedure.focalDevice.action using binding from AUCoreProcedure

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org.au/fhir/StructureDefinition/au-procedure |
copyright | Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved. |
description | This profile sets minimum expectations for a Procedure resource to record, search, and fetch procedures associated with a patient. It is based on the [AU Base Procedure](https://hl7.org.au/fhir/5.0.0/StructureDefinition-au-procedure.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the Procedure resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context. | This profile sets minimum expectations for a Procedure resource to record, search, and fetch procedures associated with a patient. It is based on the [AU Base Procedure](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-procedure.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the Procedure resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context. | Values Differ
experimental |  |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | urn:iso:std:iso:3166#AU |
kind | resource |
name | AUCoreProcedure |
publisher | HL7 Australia |
purpose |  |
status | active |
title | AU Core Procedure |
type | Procedure |
url | http://hl7.org.au/fhir/core/StructureDefinition/au-core-procedure |

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Procedure |  | 0..* | AUBaseProcedure | A procedure in an Australian healthcare context |  | 0..* | AUBaseProcedure | A procedure in an Australian healthcare context |
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 AUCoreProcedure
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
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
| ?!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
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
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 | CodeableConcept | Identification of the procedure Binding: ?? (extensible)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
| SO Σ | 1..1 | CodeableConcept | Identification of the procedure Binding: ?? (extensible)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
subject | SO Σ | 1..1 | Reference(AU Core Patient) | Who the procedure was performed on
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
| SO Σ | 1..1 | Reference(AU Core Patient) | Who the procedure was performed on
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
encounter | SO Σ | 0..1 | Reference(AU Core Encounter) | Encounter created as part of
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
| SO Σ | 0..1 | Reference(AU Core Encounter) | Encounter created as part of
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
performed[x] | SO Σ | 0..1 | dateTime, Period, string, Age, Range | When the procedure was performed
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
| SO Σ | 0..1 | dateTime S, Period, string, Age, Range | When the procedure was performed
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
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(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | The reference to the practitioner | Σ | 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 |  | 0..1 | Reference(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
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
| SO Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ?? (example): A code that identifies the reason a procedure is required.
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
reasonReference | SO Σ | 0..* | Reference(AU Core Condition | Observation | AU Core Procedure | DocumentReference) | The justification that the procedure was performed
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
| SO Σ | 0..* | Reference(AU Core Condition | Observation | AU Core Procedure | DocumentReference) | The justification that the procedure was performed
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
bodySite | Σ C | 0..* | CodeableConcept | Target body sites Binding: ?? (extensible) Constraints: au-core-pro-01 | Σ C | 0..* | CodeableConcept | Target body sites Binding: ?? (extensible) Constraints: au-core-pro-01 |
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 AUCoreProcedure
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