Onconova Implementation Guide
0.2.0 - ci-build

Onconova Implementation Guide - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Surgical Procedure Profile

Official URL: http://onconova.github.io/fhir/StructureDefinition/onconova-surgical-procedure Version: 0.2.0
Active as of 2025-10-17 Computable Name: OnconovaSurgicalProcedure

A profile representing a surgical procedure performed on a cancer patient, including details about the procedure, its intent, and relevant dates.

It extends the base mCODE CancerRelatedSurgicalProcedure profile to include specific constraints and requirements for Onconova.

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: Filtersdoco
.. Procedure C 0..* CancerRelatedSurgicalProcedure(4.0.0) An action that is being or was performed on a patient
Constraints: us-core-7, mcode-reason-required, o-sur-req-1, o-sur-req-2, o-sur-req-3, o-sur-req-4
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:treatmentIntent S 0..1 CodeableConcept Procedure Intent Extension
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent
Binding: Procedure Intent Value Set (extensible)
Constraints: ext-1
.... extension:therapyLine S 0..1 Reference(Therapy Line Profile(0.2.0)) Reference to the therapy line associated with this treatment
URL: http://onconova.github.io/fhir/StructureDefinition/ext-therapy-line-reference
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Not used in this profile
... status ?!SΣC 1..1 code (USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
Required Pattern: completed
... statusReason Σ 0..1 CodeableConcept Not used in this profile
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
... code SΣ 1..1 CodeableConcept (USCDI) Identification of the procedure
Binding: CancerRelatedSurgicalProcedureVS (4.0.0) (extensible)
... subject SΣ 1..1 Reference(Cancer Patient Profile(0.2.0)) (USCDI) Who the procedure was performed on
... encounter Σ 0..1 Reference(Encounter) Not used in this profile
... performed[x] SΣC 0..1 dateTime S (USCDI) When the procedure was performed
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... performer Σ 0..* BackboneElement Not used in this profile
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
... location Σ 0..1 Reference(Location) Not used in this profile
... reasonCode SΣ 0..* CodeableConcept Not used in this profile
Binding: CancerDisorderVS (4.0.0) (extensible)
... reasonReference SΣ 0..* Reference(Primary Cancer Condition Profile(0.2.0) | Secondary Cancer Condition Profile(0.2.0)) The justification that the procedure was performed
... bodySite SΣ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... extension:locationQualifier S 0..* CodeableConcept General location qualifier (excluding laterality) for this bodySite
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-body-location-qualifier
Binding: Body Location Qualifier Value Set (required)
Constraints: ext-1
..... extension:lateralityQualifier S 0..1 CodeableConcept Laterality qualifier for this bodySite
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-laterality-qualifier
Binding: Laterality Qualifier Value Set (required)
Constraints: ext-1
... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Not used in this profile
... complication 0..* CodeableConcept Not used in this profile
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
... complicationDetail 0..* Reference(Condition) Not used in this profile
... followUp 0..* CodeableConcept Not used in this profile
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.
... focalDevice 0..* BackboneElement Not used in this profile
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... manipulated 1..1 Reference(Device) Device that was changed
... usedReference 0..* Reference(Device | Medication | Substance) Not used in this profile
... usedCode 0..* CodeableConcept Not used in this profile
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
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.code Base extensible Cancer-Related Surgical Procedure Value Set 📍4.0.0 minimal Common Oncology Data Elements v4.0
Procedure.reasonCode Base extensible Cancer Disorder Value Set 📍4.0.0 minimal Common Oncology Data Elements v4.0
Procedure.bodySite Base example SNOMED CT Body Structures 📍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.usedCode Base example FHIR Device Types 📍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 Procedure.implicitRules, Procedure.extension, Procedure.extension:treatmentIntent, Procedure.extension:therapyLine, Procedure.modifierExtension, Procedure.basedOn, Procedure.partOf, Procedure.status, Procedure.statusReason, Procedure.code, Procedure.subject, Procedure.encounter, Procedure.performed[x], Procedure.recorder, Procedure.asserter, Procedure.performer, Procedure.performer.modifierExtension, Procedure.performer.actor, Procedure.location, Procedure.reasonCode, Procedure.reasonReference, Procedure.bodySite, Procedure.bodySite.extension, Procedure.bodySite.extension:locationQualifier, Procedure.bodySite.extension:lateralityQualifier, Procedure.report, Procedure.complication, Procedure.complicationDetail, Procedure.followUp, Procedure.focalDevice, Procedure.focalDevice.modifierExtension, Procedure.focalDevice.manipulated, Procedure.usedReference, Procedure.usedCode All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Procedure.extension, Procedure.extension:treatmentIntent, Procedure.extension:therapyLine, Procedure.modifierExtension, Procedure.performer.modifierExtension, Procedure.bodySite.extension, Procedure.bodySite.extension:locationQualifier, Procedure.bodySite.extension:lateralityQualifier, Procedure.focalDevice.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
mcode-reason-required warning Procedure One of reasonCode or reasonReference SHALL be present reasonCode.exists() or reasonReference.exists()
o-sur-req-1 error Procedure The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
o-sur-req-2 error Procedure The performedDateTime element is required and must be provided. performedDateTime.exists() and performedDateTime.hasValue()
o-sur-req-3 error Procedure The code element is required and must be provided. code.exists() and code.coding.exists()
o-sur-req-4 error Procedure The treatmentIntent extension is required and must be provided. extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
us-core-7 error Procedure Performed SHALL be present if the status is 'completed' or 'in-progress' (status='completed' or status='in-progress') implies performed.exists()

This structure is derived from CancerRelatedSurgicalProcedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* CancerRelatedSurgicalProcedure(4.0.0) An action that is being or was performed on a patient
... Slices for extension Content/Rules for all slices
.... extension:therapyLine 0..1 Reference(Therapy Line Profile(0.2.0)) Reference to the therapy line associated with this treatment
URL: http://onconova.github.io/fhir/StructureDefinition/ext-therapy-line-reference
... basedOn 0..* Reference(US Core CarePlan Profile(6.1.0) | US Core ServiceRequest Profile(6.1.0)) Not used in this profile
... partOf 0..* Reference(Procedure | Observation | MedicationAdministration) Not used in this profile
... statusReason 0..1 CodeableConcept Not used in this profile
... subject 1..1 Reference(Cancer Patient Profile(0.2.0)) (USCDI) Who the procedure was performed on
... encounter 0..1 Reference(Encounter) Not used in this profile
... performed[x] 0..1 dateTime (USCDI) When the procedure was performed
... recorder 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... asserter 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... performer 0..* BackboneElement Not used in this profile
... location 0..1 Reference(Location) Not used in this profile
... reasonCode 0..* CodeableConcept Not used in this profile
... reasonReference 0..* Reference(Primary Cancer Condition Profile(0.2.0) | Secondary Cancer Condition Profile(0.2.0)) The justification that the procedure was performed
... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Not used in this profile
... complication 0..* CodeableConcept Not used in this profile
... complicationDetail 0..* Reference(Condition) Not used in this profile
... followUp 0..* CodeableConcept Not used in this profile
... focalDevice 0..* BackboneElement Not used in this profile
... usedReference 0..* Reference(Device | Medication | Substance) Not used in this profile
... usedCode 0..* CodeableConcept Not used in this profile

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
o-sur-req-1 error Procedure The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
o-sur-req-2 error Procedure The performedDateTime element is required and must be provided. performedDateTime.exists() and performedDateTime.hasValue()
o-sur-req-3 error Procedure The code element is required and must be provided. code.exists() and code.coding.exists()
o-sur-req-4 error Procedure The treatmentIntent extension is required and must be provided. extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* CancerRelatedSurgicalProcedure(4.0.0) An action that is being or was performed on a patient
Constraints: us-core-7, mcode-reason-required, o-sur-req-1, o-sur-req-2, o-sur-req-3, o-sur-req-4
... 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 S 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:treatmentIntent S 0..1 CodeableConcept Procedure Intent Extension
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent
Binding: Procedure Intent Value Set (extensible)
Constraints: ext-1
.... extension:therapyLine S 0..1 Reference(Therapy Line Profile(0.2.0)) Reference to the therapy line associated with this treatment
URL: http://onconova.github.io/fhir/StructureDefinition/ext-therapy-line-reference
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... 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(US Core CarePlan Profile(6.1.0) | US Core ServiceRequest Profile(6.1.0)) Not used in this profile
... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Not used in this profile
... status ?!SΣC 1..1 code (USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
Required Pattern: completed
... statusReason Σ 0..1 CodeableConcept Not used in this profile
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 SΣ 1..1 CodeableConcept (USCDI) Identification of the procedure
Binding: CancerRelatedSurgicalProcedureVS (4.0.0) (extensible)
... subject SΣ 1..1 Reference(Cancer Patient Profile(0.2.0)) (USCDI) Who the procedure was performed on
... encounter Σ 0..1 Reference(Encounter) Not used in this profile
... performed[x] SΣC 0..1 dateTime S (USCDI) When the procedure was performed
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... performer Σ 0..* BackboneElement Not used in this profile
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... function Σ 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
.... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
... location Σ 0..1 Reference(Location) Not used in this profile
... reasonCode SΣ 0..* CodeableConcept Not used in this profile
Binding: CancerDisorderVS (4.0.0) (extensible)
... reasonReference SΣ 0..* Reference(Primary Cancer Condition Profile(0.2.0) | Secondary Cancer Condition Profile(0.2.0)) The justification that the procedure was performed
... bodySite SΣ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... extension:locationQualifier S 0..* CodeableConcept General location qualifier (excluding laterality) for this bodySite
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-body-location-qualifier
Binding: Body Location Qualifier Value Set (required)
Constraints: ext-1
..... extension:lateralityQualifier S 0..1 CodeableConcept Laterality qualifier for this bodySite
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-laterality-qualifier
Binding: Laterality Qualifier Value Set (required)
Constraints: ext-1
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... 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) Not used in this profile
... complication 0..* CodeableConcept Not used in this profile
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
... complicationDetail 0..* Reference(Condition) Not used in this profile
... followUp 0..* CodeableConcept Not used in this profile
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 Not used in this profile
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... 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) Not used in this profile
... usedCode 0..* CodeableConcept Not used in this profile
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 Cancer-Related Surgical Procedure Value Set 📍4.0.0 minimal Common Oncology Data Elements v4.0
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base extensible Cancer Disorder Value Set 📍4.0.0 minimal Common Oncology Data Elements v4.0
Procedure.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
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
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 Procedure.meta, Procedure.implicitRules, Procedure.language, Procedure.text, Procedure.extension, Procedure.extension:treatmentIntent, Procedure.extension:therapyLine, Procedure.modifierExtension, Procedure.identifier, Procedure.instantiatesCanonical, Procedure.instantiatesUri, Procedure.basedOn, Procedure.partOf, Procedure.status, Procedure.statusReason, Procedure.category, Procedure.code, Procedure.subject, Procedure.encounter, Procedure.performed[x], Procedure.recorder, Procedure.asserter, Procedure.performer, Procedure.performer.extension, Procedure.performer.modifierExtension, Procedure.performer.function, Procedure.performer.actor, Procedure.performer.onBehalfOf, Procedure.location, Procedure.reasonCode, Procedure.reasonReference, Procedure.bodySite, Procedure.bodySite.extension, Procedure.bodySite.extension:locationQualifier, Procedure.bodySite.extension:lateralityQualifier, Procedure.bodySite.coding, Procedure.bodySite.text, Procedure.outcome, Procedure.report, Procedure.complication, Procedure.complicationDetail, Procedure.followUp, Procedure.note, Procedure.focalDevice, Procedure.focalDevice.extension, Procedure.focalDevice.modifierExtension, Procedure.focalDevice.action, Procedure.focalDevice.manipulated, Procedure.usedReference, Procedure.usedCode All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Procedure.extension, Procedure.extension:treatmentIntent, Procedure.extension:therapyLine, Procedure.modifierExtension, Procedure.performer.extension, Procedure.performer.modifierExtension, Procedure.bodySite.extension, Procedure.bodySite.extension:locationQualifier, Procedure.bodySite.extension:lateralityQualifier, Procedure.focalDevice.extension, Procedure.focalDevice.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
mcode-reason-required warning Procedure One of reasonCode or reasonReference SHALL be present reasonCode.exists() or reasonReference.exists()
o-sur-req-1 error Procedure The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
o-sur-req-2 error Procedure The performedDateTime element is required and must be provided. performedDateTime.exists() and performedDateTime.hasValue()
o-sur-req-3 error Procedure The code element is required and must be provided. code.exists() and code.coding.exists()
o-sur-req-4 error Procedure The treatmentIntent extension is required and must be provided. extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
us-core-7 error Procedure Performed SHALL be present if the status is 'completed' or 'in-progress' (status='completed' or status='in-progress') implies performed.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* CancerRelatedSurgicalProcedure(4.0.0) An action that is being or was performed on a patient
Constraints: us-core-7, mcode-reason-required, o-sur-req-1, o-sur-req-2, o-sur-req-3, o-sur-req-4
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:treatmentIntent S 0..1 CodeableConcept Procedure Intent Extension
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent
Binding: Procedure Intent Value Set (extensible)
Constraints: ext-1
.... extension:therapyLine S 0..1 Reference(Therapy Line Profile(0.2.0)) Reference to the therapy line associated with this treatment
URL: http://onconova.github.io/fhir/StructureDefinition/ext-therapy-line-reference
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Not used in this profile
... status ?!SΣC 1..1 code (USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
Required Pattern: completed
... statusReason Σ 0..1 CodeableConcept Not used in this profile
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed.
... code SΣ 1..1 CodeableConcept (USCDI) Identification of the procedure
Binding: CancerRelatedSurgicalProcedureVS (4.0.0) (extensible)
... subject SΣ 1..1 Reference(Cancer Patient Profile(0.2.0)) (USCDI) Who the procedure was performed on
... encounter Σ 0..1 Reference(Encounter) Not used in this profile
... performed[x] SΣC 0..1 dateTime S (USCDI) When the procedure was performed
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... performer Σ 0..* BackboneElement Not used in this profile
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
... location Σ 0..1 Reference(Location) Not used in this profile
... reasonCode SΣ 0..* CodeableConcept Not used in this profile
Binding: CancerDisorderVS (4.0.0) (extensible)
... reasonReference SΣ 0..* Reference(Primary Cancer Condition Profile(0.2.0) | Secondary Cancer Condition Profile(0.2.0)) The justification that the procedure was performed
... bodySite SΣ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... extension:locationQualifier S 0..* CodeableConcept General location qualifier (excluding laterality) for this bodySite
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-body-location-qualifier
Binding: Body Location Qualifier Value Set (required)
Constraints: ext-1
..... extension:lateralityQualifier S 0..1 CodeableConcept Laterality qualifier for this bodySite
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-laterality-qualifier
Binding: Laterality Qualifier Value Set (required)
Constraints: ext-1
... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Not used in this profile
... complication 0..* CodeableConcept Not used in this profile
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
... complicationDetail 0..* Reference(Condition) Not used in this profile
... followUp 0..* CodeableConcept Not used in this profile
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures.
... focalDevice 0..* BackboneElement Not used in this profile
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... manipulated 1..1 Reference(Device) Device that was changed
... usedReference 0..* Reference(Device | Medication | Substance) Not used in this profile
... usedCode 0..* CodeableConcept Not used in this profile
Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
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.code Base extensible Cancer-Related Surgical Procedure Value Set 📍4.0.0 minimal Common Oncology Data Elements v4.0
Procedure.reasonCode Base extensible Cancer Disorder Value Set 📍4.0.0 minimal Common Oncology Data Elements v4.0
Procedure.bodySite Base example SNOMED CT Body Structures 📍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.usedCode Base example FHIR Device Types 📍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 Procedure.implicitRules, Procedure.extension, Procedure.extension:treatmentIntent, Procedure.extension:therapyLine, Procedure.modifierExtension, Procedure.basedOn, Procedure.partOf, Procedure.status, Procedure.statusReason, Procedure.code, Procedure.subject, Procedure.encounter, Procedure.performed[x], Procedure.recorder, Procedure.asserter, Procedure.performer, Procedure.performer.modifierExtension, Procedure.performer.actor, Procedure.location, Procedure.reasonCode, Procedure.reasonReference, Procedure.bodySite, Procedure.bodySite.extension, Procedure.bodySite.extension:locationQualifier, Procedure.bodySite.extension:lateralityQualifier, Procedure.report, Procedure.complication, Procedure.complicationDetail, Procedure.followUp, Procedure.focalDevice, Procedure.focalDevice.modifierExtension, Procedure.focalDevice.manipulated, Procedure.usedReference, Procedure.usedCode All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Procedure.extension, Procedure.extension:treatmentIntent, Procedure.extension:therapyLine, Procedure.modifierExtension, Procedure.performer.modifierExtension, Procedure.bodySite.extension, Procedure.bodySite.extension:locationQualifier, Procedure.bodySite.extension:lateralityQualifier, Procedure.focalDevice.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
mcode-reason-required warning Procedure One of reasonCode or reasonReference SHALL be present reasonCode.exists() or reasonReference.exists()
o-sur-req-1 error Procedure The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
o-sur-req-2 error Procedure The performedDateTime element is required and must be provided. performedDateTime.exists() and performedDateTime.hasValue()
o-sur-req-3 error Procedure The code element is required and must be provided. code.exists() and code.coding.exists()
o-sur-req-4 error Procedure The treatmentIntent extension is required and must be provided. extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
us-core-7 error Procedure Performed SHALL be present if the status is 'completed' or 'in-progress' (status='completed' or status='in-progress') implies performed.exists()

Differential View

This structure is derived from CancerRelatedSurgicalProcedure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* CancerRelatedSurgicalProcedure(4.0.0) An action that is being or was performed on a patient
... Slices for extension Content/Rules for all slices
.... extension:therapyLine 0..1 Reference(Therapy Line Profile(0.2.0)) Reference to the therapy line associated with this treatment
URL: http://onconova.github.io/fhir/StructureDefinition/ext-therapy-line-reference
... basedOn 0..* Reference(US Core CarePlan Profile(6.1.0) | US Core ServiceRequest Profile(6.1.0)) Not used in this profile
... partOf 0..* Reference(Procedure | Observation | MedicationAdministration) Not used in this profile
... statusReason 0..1 CodeableConcept Not used in this profile
... subject 1..1 Reference(Cancer Patient Profile(0.2.0)) (USCDI) Who the procedure was performed on
... encounter 0..1 Reference(Encounter) Not used in this profile
... performed[x] 0..1 dateTime (USCDI) When the procedure was performed
... recorder 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... asserter 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... performer 0..* BackboneElement Not used in this profile
... location 0..1 Reference(Location) Not used in this profile
... reasonCode 0..* CodeableConcept Not used in this profile
... reasonReference 0..* Reference(Primary Cancer Condition Profile(0.2.0) | Secondary Cancer Condition Profile(0.2.0)) The justification that the procedure was performed
... report 0..* Reference(DiagnosticReport | DocumentReference | Composition) Not used in this profile
... complication 0..* CodeableConcept Not used in this profile
... complicationDetail 0..* Reference(Condition) Not used in this profile
... followUp 0..* CodeableConcept Not used in this profile
... focalDevice 0..* BackboneElement Not used in this profile
... usedReference 0..* Reference(Device | Medication | Substance) Not used in this profile
... usedCode 0..* CodeableConcept Not used in this profile

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
o-sur-req-1 error Procedure The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
o-sur-req-2 error Procedure The performedDateTime element is required and must be provided. performedDateTime.exists() and performedDateTime.hasValue()
o-sur-req-3 error Procedure The code element is required and must be provided. code.exists() and code.coding.exists()
o-sur-req-4 error Procedure The treatmentIntent extension is required and must be provided. extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Procedure C 0..* CancerRelatedSurgicalProcedure(4.0.0) An action that is being or was performed on a patient
Constraints: us-core-7, mcode-reason-required, o-sur-req-1, o-sur-req-2, o-sur-req-3, o-sur-req-4
... 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 S 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:treatmentIntent S 0..1 CodeableConcept Procedure Intent Extension
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent
Binding: Procedure Intent Value Set (extensible)
Constraints: ext-1
.... extension:therapyLine S 0..1 Reference(Therapy Line Profile(0.2.0)) Reference to the therapy line associated with this treatment
URL: http://onconova.github.io/fhir/StructureDefinition/ext-therapy-line-reference
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... 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(US Core CarePlan Profile(6.1.0) | US Core ServiceRequest Profile(6.1.0)) Not used in this profile
... partOf Σ 0..* Reference(Procedure | Observation | MedicationAdministration) Not used in this profile
... status ?!SΣC 1..1 code (USCDI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
Required Pattern: completed
... statusReason Σ 0..1 CodeableConcept Not used in this profile
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 SΣ 1..1 CodeableConcept (USCDI) Identification of the procedure
Binding: CancerRelatedSurgicalProcedureVS (4.0.0) (extensible)
... subject SΣ 1..1 Reference(Cancer Patient Profile(0.2.0)) (USCDI) Who the procedure was performed on
... encounter Σ 0..1 Reference(Encounter) Not used in this profile
... performed[x] SΣC 0..1 dateTime S (USCDI) When the procedure was performed
... recorder Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Not used in this profile
... performer Σ 0..* BackboneElement Not used in this profile
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... function Σ 0..1 CodeableConcept Type of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) The reference to the practitioner
.... onBehalfOf 0..1 Reference(Organization) Organization the device or practitioner was acting for
... location Σ 0..1 Reference(Location) Not used in this profile
... reasonCode SΣ 0..* CodeableConcept Not used in this profile
Binding: CancerDisorderVS (4.0.0) (extensible)
... reasonReference SΣ 0..* Reference(Primary Cancer Condition Profile(0.2.0) | Secondary Cancer Condition Profile(0.2.0)) The justification that the procedure was performed
... bodySite SΣ 0..* CodeableConcept Target body sites
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension S 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... extension:locationQualifier S 0..* CodeableConcept General location qualifier (excluding laterality) for this bodySite
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-body-location-qualifier
Binding: Body Location Qualifier Value Set (required)
Constraints: ext-1
..... extension:lateralityQualifier S 0..1 CodeableConcept Laterality qualifier for this bodySite
URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-laterality-qualifier
Binding: Laterality Qualifier Value Set (required)
Constraints: ext-1
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... 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) Not used in this profile
... complication 0..* CodeableConcept Not used in this profile
Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure.
... complicationDetail 0..* Reference(Condition) Not used in this profile
... followUp 0..* CodeableConcept Not used in this profile
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 Not used in this profile
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... 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) Not used in this profile
... usedCode 0..* CodeableConcept Not used in this profile
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 Cancer-Related Surgical Procedure Value Set 📍4.0.0 minimal Common Oncology Data Elements v4.0
Procedure.performer.​function Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Procedure.reasonCode Base extensible Cancer Disorder Value Set 📍4.0.0 minimal Common Oncology Data Elements v4.0
Procedure.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
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
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 Procedure.meta, Procedure.implicitRules, Procedure.language, Procedure.text, Procedure.extension, Procedure.extension:treatmentIntent, Procedure.extension:therapyLine, Procedure.modifierExtension, Procedure.identifier, Procedure.instantiatesCanonical, Procedure.instantiatesUri, Procedure.basedOn, Procedure.partOf, Procedure.status, Procedure.statusReason, Procedure.category, Procedure.code, Procedure.subject, Procedure.encounter, Procedure.performed[x], Procedure.recorder, Procedure.asserter, Procedure.performer, Procedure.performer.extension, Procedure.performer.modifierExtension, Procedure.performer.function, Procedure.performer.actor, Procedure.performer.onBehalfOf, Procedure.location, Procedure.reasonCode, Procedure.reasonReference, Procedure.bodySite, Procedure.bodySite.extension, Procedure.bodySite.extension:locationQualifier, Procedure.bodySite.extension:lateralityQualifier, Procedure.bodySite.coding, Procedure.bodySite.text, Procedure.outcome, Procedure.report, Procedure.complication, Procedure.complicationDetail, Procedure.followUp, Procedure.note, Procedure.focalDevice, Procedure.focalDevice.extension, Procedure.focalDevice.modifierExtension, Procedure.focalDevice.action, Procedure.focalDevice.manipulated, Procedure.usedReference, Procedure.usedCode All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Procedure.extension, Procedure.extension:treatmentIntent, Procedure.extension:therapyLine, Procedure.modifierExtension, Procedure.performer.extension, Procedure.performer.modifierExtension, Procedure.bodySite.extension, Procedure.bodySite.extension:locationQualifier, Procedure.bodySite.extension:lateralityQualifier, Procedure.focalDevice.extension, Procedure.focalDevice.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
mcode-reason-required warning Procedure One of reasonCode or reasonReference SHALL be present reasonCode.exists() or reasonReference.exists()
o-sur-req-1 error Procedure The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
o-sur-req-2 error Procedure The performedDateTime element is required and must be provided. performedDateTime.exists() and performedDateTime.hasValue()
o-sur-req-3 error Procedure The code element is required and must be provided. code.exists() and code.coding.exists()
o-sur-req-4 error Procedure The treatmentIntent extension is required and must be provided. extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
us-core-7 error Procedure Performed SHALL be present if the status is 'completed' or 'in-progress' (status='completed' or status='in-progress') implies performed.exists()

 

Other representations of profile: CSV, Excel, Schematron