AU Patient Summary Implementation Guide
0.5.0-cibuild - 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 0.5.0-cibuild 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: 0.5.0-cibuild
Standards status: Draft Maturity Level: 0 Computable Name: AUPSProcedure

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; 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 profile view. See Zulip discussion for more information.

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.

This structure is derived from AUCoreProcedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
... status O 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
... code O 1..1 CodeableConceptIPS Identification of the procedure
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
... subject O 1..1 Reference(AU PS Patient) Who the procedure was performed on
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
.... reference SO 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
... performed[x] O 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
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... 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
.... onBehalfOf 0..1 Reference(AU PS Organization) Organization the device or practitioner was acting for
... reasonCode O 0..* CodeableConcept Coded reason procedure performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
... reasonReference O 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: Filtersdoco
.. Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
.... extension: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
... code SOΣ 1..1 CodeableConceptIPS Identification of the procedure
Binding: Procedure . (extensible)
ObligationsActor
SHALL:populate-if-known 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
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
.... reference SOΣC 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
... encounter SOΣ 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
... performed[x] SOΣ 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
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... reasonCode SOΣ 0..* CodeableConcept 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
... reasonReference SOΣ 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

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
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

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf 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-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 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
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
.... extension: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 ?!SOΣ 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-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
... category Σ 0..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
... code SOΣ 1..1 CodeableConceptIPS Identification of the procedure
Binding: Procedure . (extensible)
ObligationsActor
SHALL:populate-if-known 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
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
.... id 0..1 string Unique id for inter-element referencing
.... extension 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
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
.... type Σ 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).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter SOΣ 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
... performed[x] SOΣ 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
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) 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(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
... location Σ 0..1 Reference(Location) Where the procedure happened
... reasonCode SOΣ 0..* CodeableConcept 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
... reasonReference SOΣ 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
... bodySite ΣC 0..* CodeableConcept Target body sites
Binding: Body Site . (extensible)
Constraints: au-core-pro-01
... 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 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
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
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.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
From the FHIR Standard
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
au-core-pro-01errorProcedure.bodySiteIf 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-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf 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-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from AUCoreProcedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
... status O 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
... code O 1..1 CodeableConceptIPS Identification of the procedure
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
... subject O 1..1 Reference(AU PS Patient) Who the procedure was performed on
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
.... reference SO 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
... performed[x] O 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
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... 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
.... onBehalfOf 0..1 Reference(AU PS Organization) Organization the device or practitioner was acting for
... reasonCode O 0..* CodeableConcept Coded reason procedure performed
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
... reasonReference O 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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 0..* AUCoreProcedure A procedure in an Australian healthcare context
This profile also complies with the profile Procedure (IPS)
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
.... extension: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
... code SOΣ 1..1 CodeableConceptIPS Identification of the procedure
Binding: Procedure . (extensible)
ObligationsActor
SHALL:populate-if-known 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
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
.... reference SOΣC 1..1 string Literal reference, Relative, internal or absolute URL
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
... encounter SOΣ 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
... performed[x] SOΣ 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
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... reasonCode SOΣ 0..* CodeableConcept 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
... reasonReference SOΣ 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

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
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

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf 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-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure 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
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
.... extension: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 ?!SOΣ 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-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
... category Σ 0..1 CodeableConcept Classification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.
... code SOΣ 1..1 CodeableConceptIPS Identification of the procedure
Binding: Procedure . (extensible)
ObligationsActor
SHALL:populate-if-known 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
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
SHOULD:display AU PS Consumer
.... id 0..1 string Unique id for inter-element referencing
.... extension 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
ObligationsActor
SHALL:populate-if-known AU PS Producer
SHALL:handle AU PS Consumer
.... type Σ 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).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter SOΣ 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
... performed[x] SOΣ 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
.... performedDateTime dateTime S
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who recorded the procedure
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) 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(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
... location Σ 0..1 Reference(Location) Where the procedure happened
... reasonCode SOΣ 0..* CodeableConcept 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
... reasonReference SOΣ 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
... bodySite ΣC 0..* CodeableConcept Target body sites
Binding: Body Site . (extensible)
Constraints: au-core-pro-01
... 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 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
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
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.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
From the FHIR Standard
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
au-core-pro-01errorProcedure.bodySiteIf 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-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf 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-4errorProcedureIf 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-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron