Clinical Document Architecture
2.0.1 - active

Clinical Document Architecture, published by Health Level 7. This is not an authorized publication; it is the continuous build for version 2.0.1). This version is based on the current content of https://github.com/HL7/CDA-core-2.0/ and changes regularly. See the Directory of published versions

Logical Model: CDAR2.Procedure - XML Profile

Active as of 2023-10-03

XML representation of the Procedure logical model.

Raw xml | Download



<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Procedure"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>A derivative of the RIM Procedure class, used for representing procedures.</p>
      <p>Procedure.negationInd, when set to &quot;true&quot;, is a positive assertion that the Procedure as a whole is negated. Some properties such as Procedure.id, Procedure.moodCode, and the participations are not affected. These properties always have the same meaning: i.e., the author remains the author of the negative Procedure. A procedure statement with negationInd is still a statement about the specific fact described by the Procedure. For instance, a negated &quot;appendectomy performed&quot; means that the author positively denies that there was ever an appendectomy performed, and that he takes the same responsibility for such statement and the same requirement to have evidence for such statement than if he had not used negation.</p>
    </div>
  </text>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/logical-target">
    <valueBoolean>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
        <valueCode value="not-applicable"/>
      </extension>
    </valueBoolean>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/elementdefinition-namespace">
    <valueUri value="urn:hl7-org:v3"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/elementdefinition-xml-name">
    <valueUri value="procedure"/>
  </extension>
  <url value="http://hl7.org/cda/stds/core/StructureDefinition/Procedure"/>
  <version value="2.0.1"/>
  <name value="CDAR2.Procedure"/>
  <title value="Procedure (CDA Class)"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2023-10-03T20:44:04+00:00"/>
  <publisher value="Health Level 7"/>
  <contact>
    <name value="HL7 International - Structured Documents"/>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/structdoc"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="structdog@lists.HL7.org"/>
    </telecom>
  </contact>
  <description
               value="A derivative of the RIM Procedure class, used for representing procedures.
Procedure.negationInd, when set to &quot;true&quot;, is a positive assertion that the Procedure as a whole is negated. Some properties such as Procedure.id, Procedure.moodCode, and the participations are not affected. These properties always have the same meaning: i.e., the author remains the author of the negative Procedure. A procedure statement with negationInd is still a statement about the specific fact described by the Procedure. For instance, a negated &quot;appendectomy performed&quot; means that the author positively denies that there was ever an appendectomy performed, and that he takes the same responsibility for such statement and the same requirement to have evidence for such statement than if he had not used negation."/>
  <fhirVersion value="5.0.0"/>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM Mapping"/>
  </mapping>
  <kind value="logical"/>
  <abstract value="false"/>
  <type value="http://hl7.org/cda/stds/core/StructureDefinition/Procedure"/>
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Base"/>
  <derivation value="specialization"/>
  <snapshot>
    <element id="Procedure">
      <path value="Procedure"/>
      <short value="Base for all types and resources"/>
      <definition
                  value="Base definition for all types defined in FHIR type system."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Base"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure.classCode">
      <path value="Procedure.classCode"/>
      <representation value="xmlAttr"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Procedure.classCode"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"/>
      </type>
      <defaultValueCode value="PROC"/>
      <fixedCode value="PROC"/>
      <binding>
        <strength value="required"/>
        <valueSet
                  value="http://terminology.hl7.org/ValueSet/v3-ActClassProcedure"/>
      </binding>
    </element>
    <element id="Procedure.moodCode">
      <path value="Procedure.moodCode"/>
      <representation value="xmlAttr"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Procedure.moodCode"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"/>
      </type>
    </element>
    <element id="Procedure.realmCode">
      <path value="Procedure.realmCode"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.realmCode"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CS"/>
      </type>
    </element>
    <element id="Procedure.typeId">
      <path value="Procedure.typeId"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.typeId"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/II"/>
      </type>
    </element>
    <element id="Procedure.templateId">
      <path value="Procedure.templateId"/>
      <definition
                  value="When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.templateId"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/II"/>
      </type>
    </element>
    <element id="Procedure.id">
      <path value="Procedure.id"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.id"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/II"/>
      </type>
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code"/>
      <definition value="Drawn from concept domain ActCode"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.code"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CD"/>
      </type>
    </element>
    <element id="Procedure.negationInd">
      <path value="Procedure.negationInd"/>
      <representation value="xmlAttr"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.negationInd"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="boolean"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"/>
      </type>
    </element>
    <element id="Procedure.text">
      <path value="Procedure.text"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.text"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/ED"/>
      </type>
    </element>
    <element id="Procedure.statusCode">
      <path value="Procedure.statusCode"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.statusCode"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CS"/>
      </type>
      <binding>
        <strength value="required"/>
        <valueSet value="http://terminology.hl7.org/ValueSet/v3-ActStatus"/>
      </binding>
    </element>
    <element id="Procedure.effectiveTime">
      <path value="Procedure.effectiveTime"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.effectiveTime"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"/>
      </type>
    </element>
    <element id="Procedure.priorityCode">
      <path value="Procedure.priorityCode"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.priorityCode"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CE"/>
      </type>
      <binding>
        <strength value="extensible"/>
        <valueSet value="http://terminology.hl7.org/ValueSet/v3-ActPriority"/>
      </binding>
    </element>
    <element id="Procedure.languageCode">
      <path value="Procedure.languageCode"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.languageCode"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CS"/>
      </type>
      <binding>
        <strength value="required"/>
        <valueSet
                  value="http://terminology.hl7.org/ValueSet/v3-HumanLanguage"/>
      </binding>
    </element>
    <element id="Procedure.methodCode">
      <path value="Procedure.methodCode"/>
      <definition value="Drawn from concept domain ProcedureMethod"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.methodCode"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CE"/>
      </type>
    </element>
    <element id="Procedure.approachSiteCode">
      <path value="Procedure.approachSiteCode"/>
      <definition value="Drawn from concept domain ActSite"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.approachSiteCode"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CD"/>
      </type>
    </element>
    <element id="Procedure.targetSiteCode">
      <path value="Procedure.targetSiteCode"/>
      <definition value="Drawn from concept domain ActSite"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.targetSiteCode"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CD"/>
      </type>
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.subject"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Subject"/>
      </type>
    </element>
    <element id="Procedure.specimen">
      <path value="Procedure.specimen"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.specimen"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Specimen"/>
      </type>
    </element>
    <element id="Procedure.performer">
      <path value="Procedure.performer"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.performer"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Performer2"/>
      </type>
    </element>
    <element id="Procedure.author">
      <path value="Procedure.author"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.author"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Author"/>
      </type>
    </element>
    <element id="Procedure.informant">
      <path value="Procedure.informant"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.informant"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Informant"/>
      </type>
    </element>
    <element id="Procedure.participant">
      <path value="Procedure.participant"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.participant"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Participant2"/>
      </type>
    </element>
    <element id="Procedure.entryRelationship">
      <path value="Procedure.entryRelationship"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.entryRelationship"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship"/>
      </type>
    </element>
    <element id="Procedure.reference">
      <path value="Procedure.reference"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.reference"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Reference"/>
      </type>
    </element>
    <element id="Procedure.precondition">
      <path value="Procedure.precondition"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.precondition"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Precondition"/>
      </type>
    </element>
  </snapshot>
  <differential>
    <element id="Procedure">
      <path value="Procedure"/>
      <min value="1"/>
      <max value="1"/>
    </element>
    <element id="Procedure.classCode">
      <path value="Procedure.classCode"/>
      <representation value="xmlAttr"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="code"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"/>
      </type>
      <defaultValueCode value="PROC"/>
      <fixedCode value="PROC"/>
      <binding>
        <strength value="required"/>
        <valueSet
                  value="http://terminology.hl7.org/ValueSet/v3-ActClassProcedure"/>
      </binding>
    </element>
    <element id="Procedure.moodCode">
      <path value="Procedure.moodCode"/>
      <representation value="xmlAttr"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="code"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"/>
      </type>
    </element>
    <element id="Procedure.realmCode">
      <path value="Procedure.realmCode"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CS"/>
      </type>
    </element>
    <element id="Procedure.typeId">
      <path value="Procedure.typeId"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/II"/>
      </type>
    </element>
    <element id="Procedure.templateId">
      <path value="Procedure.templateId"/>
      <definition
                  value="When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/II"/>
      </type>
    </element>
    <element id="Procedure.id">
      <path value="Procedure.id"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/II"/>
      </type>
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code"/>
      <definition value="Drawn from concept domain ActCode"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CD"/>
      </type>
    </element>
    <element id="Procedure.negationInd">
      <path value="Procedure.negationInd"/>
      <representation value="xmlAttr"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="boolean"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"/>
      </type>
    </element>
    <element id="Procedure.text">
      <path value="Procedure.text"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/ED"/>
      </type>
    </element>
    <element id="Procedure.statusCode">
      <path value="Procedure.statusCode"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CS"/>
      </type>
      <binding>
        <strength value="required"/>
        <valueSet value="http://terminology.hl7.org/ValueSet/v3-ActStatus"/>
      </binding>
    </element>
    <element id="Procedure.effectiveTime">
      <path value="Procedure.effectiveTime"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"/>
      </type>
    </element>
    <element id="Procedure.priorityCode">
      <path value="Procedure.priorityCode"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CE"/>
      </type>
      <binding>
        <strength value="extensible"/>
        <valueSet value="http://terminology.hl7.org/ValueSet/v3-ActPriority"/>
      </binding>
    </element>
    <element id="Procedure.languageCode">
      <path value="Procedure.languageCode"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CS"/>
      </type>
      <binding>
        <strength value="required"/>
        <valueSet
                  value="http://terminology.hl7.org/ValueSet/v3-HumanLanguage"/>
      </binding>
    </element>
    <element id="Procedure.methodCode">
      <path value="Procedure.methodCode"/>
      <definition value="Drawn from concept domain ProcedureMethod"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CE"/>
      </type>
    </element>
    <element id="Procedure.approachSiteCode">
      <path value="Procedure.approachSiteCode"/>
      <definition value="Drawn from concept domain ActSite"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CD"/>
      </type>
    </element>
    <element id="Procedure.targetSiteCode">
      <path value="Procedure.targetSiteCode"/>
      <definition value="Drawn from concept domain ActSite"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/CD"/>
      </type>
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Subject"/>
      </type>
    </element>
    <element id="Procedure.specimen">
      <path value="Procedure.specimen"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Specimen"/>
      </type>
    </element>
    <element id="Procedure.performer">
      <path value="Procedure.performer"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Performer2"/>
      </type>
    </element>
    <element id="Procedure.author">
      <path value="Procedure.author"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Author"/>
      </type>
    </element>
    <element id="Procedure.informant">
      <path value="Procedure.informant"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Informant"/>
      </type>
    </element>
    <element id="Procedure.participant">
      <path value="Procedure.participant"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Participant2"/>
      </type>
    </element>
    <element id="Procedure.entryRelationship">
      <path value="Procedure.entryRelationship"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship"/>
      </type>
    </element>
    <element id="Procedure.reference">
      <path value="Procedure.reference"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Reference"/>
      </type>
    </element>
    <element id="Procedure.precondition">
      <path value="Procedure.precondition"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/Precondition"/>
      </type>
    </element>
  </differential>
</StructureDefinition>