PackagesCanonicalsLogsProblems
    Packages
    hl7.cda.us.ccda@3.0.0-ballot
    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: 44
    slicing:
      rules: open
      discriminator:
      - {path: act, type: profile}
      - {path: observation, type: profile}
      - {path: encounter, type: exists}
      min: null
      slices:
        entryRelationship1:
          match: {}
          schema:
            short: entryRelationship
            array: true
            index: 45
            elements:
              typeCode:
                pattern: {type: Code, value: COMP}
                index: 46
              inversionInd:
                pattern: {type: Boolean, value: true}
                index: 47
              encounter:
                index: 48
                elements:
                  classCode: {index: 49}
                  moodCode:
                    pattern: {type: Code, value: EVN}
                    index: 50
                  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: 51}
                required: [id]
            required: [inversionInd, encounter]
        entryRelationship2:
          match: {}
          schema:
            short: entryRelationship
            index: 52
            elements:
              typeCode:
                pattern: {type: Code, value: SUBJ}
                index: 53
              inversionInd:
                pattern: {type: Boolean, value: true}
                index: 54
              act: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Act', index: 55}
            required: [act, inversionInd]
        entryRelationship3:
          match: {}
          schema:
            short: entryRelationship
            array: true
            index: 56
            elements:
              typeCode:
                pattern: {type: Code, value: RSON}
                index: 57
              observation: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Observation', index: 58}
            required: [observation]
        entryRelationship4:
          match: {}
          schema:
            short: entryRelationship
            array: true
            index: 59
            elements:
              typeCode:
                pattern: {type: Code, value: COMP}
                index: 60
              substanceAdministration: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/SubstanceAdministration', index: 61}
            required: [substanceAdministration]
        entryRelationship5:
          match: {}
          schema:
            short: entryRelationship
            array: true
            index: 62
            elements:
              typeCode:
                pattern: {type: Code, value: COMP}
                index: 63
              observation: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Observation', index: 64}
            required: [observation]
        entryRelationship6:
          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: 65
            elements:
              typeCode:
                pattern: {type: Code, value: RSON}
                index: 66
              observation: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Observation', index: 67}
            required: [observation]
        entryRelationship7:
          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: 68
            elements:
              typeCode:
                pattern: {type: Code, value: RSON}
                index: 69
              act: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Act', index: 70}
            required: [act]
  priorityCode:
    binding: {strength: required, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.1.11.16866'}
    index: 18
  specimen:
    short: This specimen is for representing specimens obtained from a procedure (CONF:4515-16842).
    index: 21
    elements:
      specimenRole:
        constraint:
          should-id: {human: SHOULD contain id, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure', severity: warning, expression: id.exists()}
        index: 22
        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: 23}
  participant:
    index: 37
    slicing:
      rules: open
      discriminator:
      - {path: typeCode, type: value}
      min: null
      slices:
        participant1:
          match: {typeCode: DEV}
          schema:
            short: participant
            array: true
            index: 38
            elements:
              typeCode:
                pattern: {type: Code, value: DEV}
                index: 39
              participantRole: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/ParticipantRole', index: 40}
        participant2:
          match: {typeCode: LOC}
          schema:
            short: participant
            array: true
            index: 41
            elements:
              typeCode:
                pattern: {type: Code, value: LOC}
                index: 42
              participantRole: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/ParticipantRole', index: 43}
  classCode: {index: 4}
  methodCode: {short: 'MethodCode **SHALL NOT** conflict with the method inherent in Procedure / code (CONF:4515-7890).', index: 19}
  author: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Author', index: 36}
  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: 20
  code:
    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: 14
    elements:
      value: {short: Indicates historical procedure or an instance of a procedure where precision may be only a date or even a year., index: 15}
      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: 16
      high: {short: 'Indicates when a procedure ended. If the statusCode=''active'', this must be after the ClinicalDcument/effectiveTime', index: 17}
  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:
      code:
        binding: {strength: required, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.22'}
        index: 13
    required: [code]
  performer:
    index: 24
    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: 25
        elements:
          id: {index: 26}
          addr: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/AD', index: 27}
          telecom: {index: 28}
          assignedPerson:
            index: 29
            elements:
              name: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/PN', index: 30}
            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: 31
            elements:
              id: {index: 32}
              name: {index: 33}
              telecom: {index: 34}
              addr: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/AD', index: 35}
            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-ballot
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-ballot
required: [id, effectiveTime, statusCode, templateId, code]