PackagesCanonicalsLogsProblems
    Packages
    hl7.cda.us.ccda@3.0.0
    http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure
description: This template is used to represent the details of current and historical procedures performed on or for a patient. A procedure is an activity that is performed on, with, or for a patient as part of the provision of care. Examples include surgical procedures, diagnostic procedures, endoscopic procedures, biopsies, counseling, physiotherapy, personal support services, adult day care services, non-emergency transportation, home modification, exercise, etc. Procedures may be performed by a healthcare professional, a service provider, a friend or relative or in some cases by the patient themselves.
package_name: hl7.cda.us.ccda
derivation: constraint
name: ProcedureActivityProcedure
type: http://hl7.org/cda/stds/core/StructureDefinition/Procedure
elements:
  entryRelationship:
    index: 45
    slicing:
      rules: open
      discriminator:
      - {path: act, type: profile}
      - {path: observation, type: profile}
      - {path: substanceAdministration, type: profile}
      - {path: encounter, type: exists}
      min: null
      slices:
        encounter:
          match: {}
          schema:
            short: entryRelationship
            array: true
            index: 46
            elements:
              typeCode:
                pattern: {type: Code, value: COMP}
                index: 47
              inversionInd:
                pattern: {type: Boolean, value: true}
                index: 48
              encounter:
                index: 49
                elements:
                  classCode: {index: 50}
                  moodCode:
                    pattern: {type: Code, value: EVN}
                    index: 51
                  id: {short: 'Set the encounter ID to the ID of an encounter in another section to signify they are the same encounter (CONF:4515-16843).', index: 52}
                required: [id]
            required: [inversionInd, encounter]
        instruction:
          match: {}
          schema:
            short: entryRelationship
            index: 53
            elements:
              typeCode:
                pattern: {type: Code, value: SUBJ}
                index: 54
              inversionInd:
                pattern: {type: Boolean, value: true}
                index: 55
              act: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Act', index: 56}
              encounter: {index: 57}
            required: [act, inversionInd]
        indication:
          match: {}
          schema:
            short: entryRelationship
            array: true
            index: 58
            elements:
              typeCode:
                pattern: {type: Code, value: RSON}
                index: 59
              encounter: {index: 60}
              observation: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Observation', index: 61}
            required: [observation]
        medication:
          match: {}
          schema:
            short: entryRelationship
            array: true
            index: 62
            elements:
              typeCode:
                pattern: {type: Code, value: COMP}
                index: 63
              encounter: {index: 64}
              substanceAdministration: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/SubstanceAdministration', index: 65}
            required: [substanceAdministration]
        reaction:
          match: {}
          schema:
            short: entryRelationship
            array: true
            index: 66
            elements:
              typeCode:
                pattern: {type: Code, value: COMP}
                index: 67
              encounter: {index: 68}
              observation: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Observation', index: 69}
            required: [observation]
        assessmentScaleObs:
          match: {}
          schema:
            short: When an Assessment Scale Observation is contained in a Procedure Template instance that is a Social Determinant of Health intervention procedure, that Assessment scale **MAY** contain Assessment Scale observations that represent LOINC question and answer pairs from SDOH screening instruments.
            array: true
            index: 70
            elements:
              typeCode:
                pattern: {type: Code, value: RSON}
                index: 71
              encounter: {index: 72}
              observation: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Observation', index: 73}
            required: [observation]
        entryReference:
          match: {}
          schema:
            short: When an Entry Reference Template is contained in a Procedure Template instance that is a Social Determinant of Health procedure, that Entry Reference **MAY** refer to Assessment Scale Observation in the same document that represent LOINC question and answer pairs from SDOH screening instruments.
            array: true
            index: 74
            elements:
              typeCode:
                pattern: {type: Code, value: RSON}
                index: 75
              act: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Act', index: 76}
              encounter: {index: 77}
            required: [act]
  priorityCode:
    binding: {strength: required, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.1.11.16866'}
    index: 19
  specimen:
    short: This specimen is for representing specimens obtained from a procedure (CONF:4515-16842).
    index: 22
    elements:
      specimenRole:
        constraint:
          should-id: {human: SHOULD contain id, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: warning, expression: id.exists()}
        index: 23
        elements:
          id: {short: 'If you want to indicate that the Procedure and the Results are referring to the same specimen, the Procedure/specimen/specimenRole/id **SHOULD** be set to equal an Organizer/specimen/specimenRole/id (CONF:4515-29744).', index: 24}
  participant:
    index: 38
    slicing:
      rules: open
      discriminator:
      - {path: typeCode, type: value}
      min: null
      slices:
        productInstance:
          match: {typeCode: DEV}
          schema:
            short: participant
            array: true
            index: 39
            elements:
              typeCode:
                pattern: {type: Code, value: DEV}
                index: 40
              participantRole: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/ParticipantRole', index: 41}
        serviceDeliveryLocation:
          match: {typeCode: LOC}
          schema:
            short: participant
            array: true
            index: 42
            elements:
              typeCode:
                pattern: {type: Code, value: LOC}
                index: 43
              participantRole: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/ParticipantRole', index: 44}
  classCode: {index: 4}
  methodCode: {short: 'MethodCode **SHALL NOT** conflict with the method inherent in Procedure / code (CONF:4515-7890).', index: 20}
  author: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Author', index: 37}
  id: {index: 6}
  targetSiteCode:
    short: In the case of an implanted medical device, targetSiteCode is used to record the location of the device, in or on the patient's body.
    binding: {strength: required, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.88.12.3221.8.9'}
    index: 21
  code:
    short: (USCDI) SDOH Interventions
    binding: {strength: preferred, valueSet: 'http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code'}
    constraint:
      should-otext-ref-value: {human: SHOULD contain originalText/reference/@value, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: warning, expression: originalText.reference.value.exists()}
    index: 7
    elements:
      originalText:
        short: SHOULD reference the portion of narrative corresponding to this code
        index: 8
        elements:
          reference:
            constraint:
              value-starts-octothorpe: {human: 'If reference/@value is present, it SHALL begin with a ''#'' and SHALL point to its corresponding narrative', source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: error, expression: value.exists() implies value.startsWith('#')}
            index: 9
  moodCode:
    pattern: {type: Code, value: EVN}
    index: 5
  effectiveTime:
    type: http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
    short: (USCDI) Performance Time
    constraint:
      should-value: {human: SHOULD contain value, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: warning, expression: value.exists()}
      ts-value-before-document: {human: Time value must be equal to or before ClinicalDocument/effectiveTime, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: error, expression: value.exists() implies value <= %resource.effectiveTime.value}
    index: 15
    elements:
      value: {short: Indicates historical procedure or an instance of a procedure where precision may be only a date or even a year., index: 16}
      low:
        short: Indicates when a procedure started
        constraint:
          ts-value-before-document: {human: Time value must be equal to or before ClinicalDocument/effectiveTime, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: error, expression: value.exists() implies value <= %resource.effectiveTime.value}
        index: 17
      high: {short: 'Indicates when a procedure ended. If the statusCode=''active'', this must be after the ClinicalDcument/effectiveTime', index: 18}
  templateId:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: root, type: value}
      - {path: extension, type: value}
      min: 1
      slices:
        procedure:
          match: {root: 2.16.840.1.113883.10.20.22.4.14, extension: '2024-05-01'}
          schema:
            _required: true
            index: 1
            elements:
              root:
                pattern: {type: String, value: 2.16.840.1.113883.10.20.22.4.14}
                index: 2
              extension:
                pattern: {type: String, value: '2024-05-01'}
                index: 3
            required: [root, extension]
            extensions: {}
  statusCode:
    index: 12
    elements:
      nullFlavor: {index: 13}
      code:
        binding: {strength: required, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.22'}
        index: 14
    required: [code]
  performer:
    index: 25
    elements:
      assignedEntity:
        constraint:
          should-assignedPerson: {human: SHOULD contain assignedPerson, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: warning, expression: assignedPerson.exists()}
          should-representedOrganization: {human: SHOULD contain representedOrganization, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: warning, expression: representedOrganization.exists()}
        index: 26
        elements:
          id: {index: 27}
          addr: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/AD', index: 28}
          telecom: {index: 29}
          assignedPerson:
            index: 30
            elements:
              name: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/PN', index: 31}
            required: [name]
          representedOrganization:
            constraint:
              should-id: {human: SHOULD contain id, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: warning, expression: id.exists()}
            index: 32
            elements:
              id: {index: 33}
              name: {index: 34}
              telecom: {index: 35}
              addr: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/AD', index: 36}
            required: [addr, telecom]
        required: [addr, telecom]
  text:
    short: SHOULD reference the portion of section narrative text corresponding to this entry
    index: 10
    elements:
      reference:
        constraint:
          value-starts-octothorpe: {human: 'If reference/@value is present, it SHALL begin with a ''#'' and SHALL point to its corresponding narrative', source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: error, expression: value.exists() implies value.startsWith('#')}
        index: 11
package_version: 3.0.0
class: logical
kind: logical
url: http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure
base: http://hl7.org/cda/stds/core/StructureDefinition/Procedure
version: 3.0.0
required: [id, effectiveTime, statusCode, templateId, code]