## Profile Comparison between http://hl7.org/fhir/uv/eyecare/StructureDefinition/procedure-base vs http://hl7.org/fhir/uv/eyecare/StructureDefinition/procedure-base

Left: | Base Procedure for Ophthalmology (http://hl7.org/fhir/uv/eyecare/StructureDefinition/procedure-base)
Right: | Opththalmic Procedure (http://hl7.org/fhir/uv/eyecare/StructureDefinition/procedure-base)

### Messages

Information | StructureDefinition.title | Values for title differ: 'Base Procedure for Ophthalmology' vs 'Opththalmic Procedure'
Information | StructureDefinition.date | Values for date differ: '2021-08-12T15:09:12+00:00' vs '2022-06-24T13:58:09+00:00'
Information | Procedure.code | Example/preferred bindings differ at Procedure.code using binding from ProcedureBase

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Procedure |
copyright |  |
date | 2021-08-12T15:09:12+00:00 | 2022-06-24T13:58:09+00:00 | Values Differ
description | A profile describing a Procedure for ophthalmology | A profile indicating that an active ophthlmic intervention is or was performed on or for a patient. The ‘Ocular anatomical location’ profile should be used together with this profile. | Values Differ
experimental | true |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |
kind | resource |
name | ProcedureBase |
publisher | HL7 International - Patient Care WG |
purpose |  |
status | draft |
title | Base Procedure for Ophthalmology | Opththalmic Procedure | Values Differ
type | Procedure |
url | http://hl7.org/fhir/uv/eyecare/StructureDefinition/procedure-base |
version | 0.1.0 |

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | L Type | L Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Procedure |  | 0..* | Procedure | An action that is being or was performed on a patient |  | 0..* | Procedure | An action that is being or was performed on a patient |
id | Σ | 0..1 | string | Logical id of this artifact | Σ | 0..1 | string | 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: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
|  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation |  | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
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 | ?!Σ | 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. | ?!Σ | 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. |
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed. | Σ | 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. | Σ | 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 | Identification of the procedure Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure . | S Σ | 1..1 | CodeableConcept | Identification of the procedure Binding: Ophthalmology Procedures Valueset (preferred) | Example/preferred bindings differ at Procedure.code using binding from ProcedureBase
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | Σ | 0..* | Coding | Code defined by a terminology system |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
subject | Σ | 1..1 | Reference(Patient | Group) | Who the procedure was performed on | Σ | 1..1 | Reference(Patient | Group) | Who the procedure was performed on |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of | Σ | 0..1 | Reference(Encounter) | Encounter created as part of |
performed[x] | Σ | 0..1 | dateTime, Period, string, Age, Range | When the procedure was performed | Σ | 0..1 | dateTime, Period, string, Age, Range | When the procedure was performed |
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: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure. | Σ | 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 | Σ | 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 | Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required. | Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required. |
reasonReference | Σ | 0..* | Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed | Σ | 0..* | Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed |
bodySite | S Σ | 0..* | CodeableConcept | Target body sites Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | 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 |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
coding | Σ | 0..* | Coding | Code defined by a terminology system | Σ | 0..* | Coding | Code defined by a terminology system |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 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. | Σ | 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 |  | 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. |  | 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 |  | 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. |  | 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 |  | 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: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure. |  | 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 |  | 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: FHIRDeviceTypes (example): Codes describing items used during a procedure. |  | 0..* | CodeableConcept | Coded items used during the procedure Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure. |
Documentation for this format