## Profile Comparison between http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-Procedure vs http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-Procedure

Left: | SDOHCC Procedure (http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-Procedure)
Right: | SDOHCC Procedure (http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-Procedure)

### Messages

Error | StructureDefinition.version | Values for version differ: '2.3.0' vs '3.0.0-ballot'
Information | StructureDefinition.date | Values for date differ: '2025-05-15T19:58:05+00:00' vs '2025-12-13T17:11:59+00:00'
Information | Procedure.language | Example/preferred bindings differ at Procedure.language using binding from SDOHCCProcedure
Information | StructureDefinition.requirements | Values for requirements differ: '0..1 to account for primarily narrative only resources.' vs 'Code is required and must be selected from the bound value set.'
Information | Procedure.focalDevice.action | Example/preferred bindings differ at Procedure.focalDevice.action using binding from SDOHCCProcedure

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Procedure |
copyright |  |
date | 2025-05-15T19:58:05+00:00 | 2025-12-13T17:11:59+00:00 | Values Differ
description | Profile for interventions that address Social Determinants of Health. |
experimental |  |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | urn:iso:std:iso:3166#US |
kind | resource |
name | SDOHCCProcedure |
publisher | HL7 International / Patient Care |
purpose |  |
status | active |
title | SDOHCC Procedure |
type | Procedure |
url | http://hl7.org/fhir/us/sdoh-clinicalcare/StructureDefinition/SDOHCC-Procedure |
version | 2.3.0 | 3.0.0-ballot | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Procedure | C | 0..* | Procedure | An action that is being or was performed on a patient Constraints: us-core-7 | C | 0..* | Procedure | An action that is being or was performed on a patient Constraints: us-core-7 |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
| Example/preferred bindings differ at Procedure.language using binding from SDOHCCProcedure
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | External Identifiers for this procedure | Σ | 0..* | Identifier | External Identifiers for this procedure |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition | Σ | 0..* | uri | Instantiates external protocol or definition |
Slices for basedOn | S Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure Slice: Unordered, Open by profile:resolve() | S Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure Slice: Unordered, Open by profile:resolve() |
partOf | Σ | 0..* | Reference(Procedure | Observation | MedicationAdministration) | Part of referenced event | Σ | 0..* | Reference(Procedure | Observation | MedicationAdministration) | Part of referenced event |
status | ?!S Σ C | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: ?? (required) | ?!S Σ C | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: ?? (required) |
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: ?? (example): A code that identifies the reason a procedure was not performed. | Σ | 0..1 | CodeableConcept | Reason for current status Binding: ?? (example): A code that identifies the reason a procedure was not performed. |
category | Σ | 0..1 | CodeableConcept | Classification of the procedure Binding: ?? (example): A code that classifies a procedure for searching, sorting and display purposes. | Σ | 0..1 | CodeableConcept | Classification of the procedure Binding: ?? (example): A code that classifies a procedure for searching, sorting and display purposes. |
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 | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:$this | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:$this |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
code | S Σ | 1..1 | CodeableConcept | Identification of the procedure Binding: ?? (required): Codes describing the type of Procedure
Additional Bindings | Purpose | Usage
?? | Current |
?? | Extensible | SDOHCCProcedure#`Procedure.category` = digital-access
?? | Extensible | SDOHCCProcedure#`Procedure.category` = digital-literacy
?? | Extensible | SDOHCCProcedure#`Procedure.category` = educational-attainment
?? | Extensible | SDOHCCProcedure#`Procedure.category` = elder-abuse
?? | Extensible | SDOHCCProcedure#`Procedure.category` = employment-status
?? | Extensible | SDOHCCProcedure#`Procedure.category` = financial-insecurity
?? | Extensible | SDOHCCProcedure#`Procedure.category` = food-insecurity
?? | Extensible | SDOHCCProcedure#`Procedure.category` = health-insurance-coverage-status
?? | Extensible | SDOHCCProcedure#`Procedure.category` = homelessness
?? | Extensible | SDOHCCProcedure#`Procedure.category` = housing-instability
?? | Extensible | SDOHCCProcedure#`Procedure.category` = inadequate-housing
?? | Extensible | SDOHCCProcedure#`Procedure.category` = incarceration-status
?? | Extensible | SDOHCCProcedure#`Procedure.category` = intimate-partner-violence
?? | Extensible | SDOHCCProcedure#`Procedure.category` = language-access
?? | Extensible | SDOHCCProcedure#`Procedure.category` = material-hardship
?? | Extensible | SDOHCCProcedure#`Procedure.category` = medical-cost-burden
?? | Extensible | SDOHCCProcedure#`Procedure.category` = personal-health-literacy
?? | Extensible | SDOHCCProcedure#`Procedure.category` = social-connection
?? | Extensible | SDOHCCProcedure#`Procedure.category` = stress
?? | Extensible | SDOHCCProcedure#`Procedure.category` = transportation-insecurity
?? | Extensible | SDOHCCProcedure#`Procedure.category` = utility-insecurity
?? | Extensible | SDOHCCProcedure#`Procedure.category` = veteran-status
?? | Required | SDOHCCProcedure#`Procedure.category` = sdoh-category-unspecified
| S Σ | 1..1 | CodeableConcept | Identification of the procedure Binding: ?? (required)
Additional Bindings | Purpose | Usage
?? | Extensible | SDOHCCProcedure#`Procedure.category` = digital-access
?? | Extensible | SDOHCCProcedure#`Procedure.category` = digital-literacy
?? | Extensible | SDOHCCProcedure#`Procedure.category` = educational-attainment
?? | Extensible | SDOHCCProcedure#`Procedure.category` = elder-abuse
?? | Extensible | SDOHCCProcedure#`Procedure.category` = employment-status
?? | Extensible | SDOHCCProcedure#`Procedure.category` = financial-insecurity
?? | Extensible | SDOHCCProcedure#`Procedure.category` = food-insecurity
?? | Extensible | SDOHCCProcedure#`Procedure.category` = health-insurance-coverage-status
?? | Extensible | SDOHCCProcedure#`Procedure.category` = homelessness
?? | Extensible | SDOHCCProcedure#`Procedure.category` = housing-instability
?? | Extensible | SDOHCCProcedure#`Procedure.category` = inadequate-housing
?? | Extensible | SDOHCCProcedure#`Procedure.category` = incarceration-status
?? | Extensible | SDOHCCProcedure#`Procedure.category` = intimate-partner-violence
?? | Extensible | SDOHCCProcedure#`Procedure.category` = language-access
?? | Extensible | SDOHCCProcedure#`Procedure.category` = material-hardship
?? | Extensible | SDOHCCProcedure#`Procedure.category` = medical-cost-burden
?? | Extensible | SDOHCCProcedure#`Procedure.category` = personal-health-literacy
?? | Extensible | SDOHCCProcedure#`Procedure.category` = social-connection
?? | Extensible | SDOHCCProcedure#`Procedure.category` = stress
?? | Extensible | SDOHCCProcedure#`Procedure.category` = transportation-insecurity
?? | Extensible | SDOHCCProcedure#`Procedure.category` = utility-insecurity
?? | Extensible | SDOHCCProcedure#`Procedure.category` = veteran-status
?? | Required | SDOHCCProcedure#`Procedure.category` = sdoh-category-unspecified
subject | S Σ | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Who the procedure was performed on | S Σ | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Who the procedure was performed on |
encounter | S Σ | 0..1 | Reference(US Core Encounter Profile(7.0.0)) | Encounter associated with the procedure | S Σ | 0..1 | Reference(US Core Encounter Profile(7.0.0)) | Encounter associated with the procedure |
performed[x] | S Σ C | 0..1 | dateTime S, Period, string, Age, Range | When the procedure was performed | S Σ C | 0..1 | dateTime S, 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: ?? (example): A code that identifies the role of a performer of the procedure. | Σ | 0..1 | CodeableConcept | Type of performance Binding: ?? (example): A code that identifies the role of a performer of the procedure. |
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | The reference to the practitioner | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | The reference to the practitioner |
onBehalfOf |  | 0..1 | Reference(Organization) | Organization the device or practitioner was acting for |  | 0..1 | Reference(Organization) | Organization the device or practitioner was acting for |
location | Σ | 0..1 | Reference(Location) | Where the procedure happened | Σ | 0..1 | Reference(Location) | Where the procedure happened |
reasonCode | Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ?? (extensible) | Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ?? (extensible) |
Slices for reasonReference | Σ | 0..* | Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed Slice: Unordered, Open by profile:resolve() | Σ | 0..* | Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed Slice: Unordered, Open by profile:resolve() |
bodySite | Σ | 0..* | CodeableConcept | Target body sites Binding: ?? (example): Codes describing anatomical locations. May include laterality. | Σ | 0..* | CodeableConcept | Target body sites Binding: ?? (example): Codes describing anatomical locations. May include laterality. |
outcome | Σ | 0..1 | CodeableConcept | The result of procedure Binding: ?? (example): An outcome of a procedure - whether it was resolved or otherwise. | Σ | 0..1 | CodeableConcept | The result of procedure Binding: ?? (example): An outcome of a procedure - whether it was resolved or otherwise. |
report |  | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure |  | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure |
complication |  | 0..* | CodeableConcept | Complication following the procedure Binding: ?? (example): Codes describing complications that resulted from a procedure. |  | 0..* | CodeableConcept | Complication following the procedure Binding: ?? (example): Codes describing complications that resulted from a procedure. |
complicationDetail |  | 0..* | Reference(Condition) | A condition that is a result of the procedure |  | 0..* | Reference(Condition) | A condition that is a result of the procedure |
followUp |  | 0..* | CodeableConcept | Instructions for follow up Binding: ?? (example): Specific follow up required for a procedure e.g. removal of sutures. |  | 0..* | CodeableConcept | Instructions for follow up Binding: ?? (example): Specific follow up required for a procedure e.g. removal of sutures. |
note |  | 0..* | Annotation | Additional information about the procedure |  | 0..* | Annotation | Additional information about the procedure |
focalDevice |  | 0..* | BackboneElement | Manipulated, implanted, or removed device |  | 0..* | BackboneElement | Manipulated, implanted, or removed device |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
action |  | 0..1 | CodeableConcept | Kind of change to device Binding: ?? (preferred): A kind of change that happened to the device during the procedure. |  | 0..1 | CodeableConcept | Kind of change to device Binding: ?? (preferred): A kind of change that happened to the device during the procedure. | Example/preferred bindings differ at Procedure.focalDevice.action using binding from SDOHCCProcedure
manipulated |  | 1..1 | Reference(Device) | Device that was changed |  | 1..1 | Reference(Device) | Device that was changed |
usedReference |  | 0..* | Reference(Device | Medication | Substance) | Items used during procedure |  | 0..* | Reference(Device | Medication | Substance) | Items used during procedure |
usedCode |  | 0..* | CodeableConcept | Coded items used during the procedure Binding: ?? (example): Codes describing items used during a procedure. |  | 0..* | CodeableConcept | Coded items used during the procedure Binding: ?? (example): Codes describing items used during a procedure. |
Documentation for this format