HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE), v0.9.1

HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE), v0.9.1 FHIR Profiles - Local Development build (v0.9.1). See the Directory of published versions

CancerRelatedRadiationProcedure


<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="onco-core-CancerRelatedRadiationProcedure"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
  <p><b>CancerRelatedRadiationProcedure Profile</b></p>
  <p>A radiological treatment addressing a cancer condition. The scope of this profile has been narrowed to cancer-related procedures by constraining the ReasonReference and ReasonCode to cancer conditions.

Conformance note: If an ICD-10-PCS code is used in the code attribute, and there is a semantically equivalent SNOMED CT or CPT code, the resulting Procedure instance will not be compliant with [US Core Profiles](http://hl7.org/fhir/us/core/STU3/index.html)</p>
  <p><b>Mapping Summary</b></p>
  <p><pre>onco.core.CancerRelatedRadiationProcedure maps to http://fhir.org/guides/argonaut/StructureDefinition/argo-procedure:
  Language maps to language
  ImplicitRules maps to implicitRules
  Metadata.VersionId maps to meta.versionId
  Metadata.SourceSystem maps to meta.extension
  Metadata.Profile maps to meta.profile
  Metadata.LastUpdated maps to meta.lastUpdated
  Metadata.SecurityLabel maps to meta.security
  Metadata.Tag maps to meta.tag
  Narrative maps to text
  Identifier maps to identifier
  ProcedurePartOf maps to extension
  SubjectOfRecord maps to subject
  Status maps to status
  StatusReason maps to extension
  Category maps to category
  Code maps to code
  constrain notPerformed to 0..0
  constrain reasonNotPerformed to 0..0
  BodyLocation.Code maps to bodySite
  BodyLocation.Laterality maps to bodySite.extension
  BodyLocation.AnatomicalOrientation maps to bodySite.extension
  BodyLocation.RelationToLandmark maps to bodySite.extension
  ReasonCode maps to reason[x]
  CancerProcedureReasonReference maps to reason[x]
  Participation maps to performer
  Participation.Participant maps to performer.actor
  Participation.ParticipationType maps to performer.role
  Participation.OnBehalfOf maps to performer.extension
  CareContext maps to encounter
  Location maps to location
  Outcome maps to outcome
  DiagnosticReport maps to report
  ComplicationCode maps to complication
  ComplicationReference maps to extension
  FollowUp maps to followUp
  ProcedureBasedOn maps to request
  Annotation maps to notes
  FocalDevice maps to focalDevice
  FocalDevice.Device maps to focalDevice.manipulated
  FocalDevice.FocalDeviceAction maps to focalDevice.action
  UsedCode maps to extension
  MaterialUsedReference maps to used
</pre></p>
</div>
  </text>
  <url
       value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-CancerRelatedRadiationProcedure"/>
  <version value="0.9.1"/>
  <name value="CancerRelatedRadiationProcedure"/>
  <display value="onco-core-CancerRelatedRadiationProcedure"/>
  <status value="draft"/>
  <publisher value="The MITRE Corporation"/>
  <contact>
    <telecom>
      <system value="other"/>
      <value value="http://standardhealthrecord.org"/>
      <rank value="0"/>
    </telecom>
  </contact>
  <date value="2019-10-23T00:00:00-04:00"/>
  <description
               value="A radiological treatment addressing a cancer condition. The scope of this profile has been narrowed to cancer-related procedures by constraining the ReasonReference and ReasonCode to cancer conditions.

Conformance note: If an ICD-10-PCS code is used in the code attribute, and there is a semantically equivalent SNOMED CT or CPT code, the resulting Procedure instance will not be compliant with [US Core Profiles](http://hl7.org/fhir/us/core/STU3/index.html)"/>
  <fhirVersion value="1.0.2"/>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM"/>
  </mapping>
  <mapping>
    <identity value="w5"/>
    <uri value="http://hl7.org/fhir/w5"/>
    <name value="W5 Mapping"/>
  </mapping>
  <mapping>
    <identity value="v2"/>
    <uri value="http://hl7.org/v2"/>
    <name value="HL7 v2"/>
  </mapping>
  <kind value="resource"/>
  <constrainedType value="Procedure"/>
  <abstract value="false"/>
  <base
        value="http://fhir.org/guides/argonaut/StructureDefinition/argo-procedure"/>
  <snapshot>
    <element id="Procedure-argoprofile">
      <path value="Procedure"/>
      <name value="Procedure-argoprofile"/>
      <short value="onco-core-CancerRelatedRadiationProcedure"/>
      <definition
                  value="A radiological treatment addressing a cancer condition. The scope of this profile has been narrowed to cancer-related procedures by constraining the ReasonReference and ReasonCode to cancer conditions.

Conformance note: If an ICD-10-PCS code is used in the code attribute, and there is a semantically equivalent SNOMED CT or CPT code, the resulting Procedure instance will not be compliant with [US Core Profiles](http://hl7.org/fhir/us/core/STU3/index.html)"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="argo-procedure"/>
      </type>
      <maxLength value="0"/>
      <constraint>
        <key value="pro-1"/>
        <severity value="error"/>
        <human
               value="Reason not performed is only permitted if notPerformed indicator is true"/>
        <xpath
               value="not(exists(f:reasonNotPerformed)) or f:notPerformed/@value=true()"/>
      </constraint>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="Procedure[moodCode=EVN]"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="clinical.general"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.id">
      <path value="Procedure.id"/>
      <name value="Procedure-argoprofile.id"/>
      <short value="Logical id of this artifact"/>
      <definition
                  value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes."/>
      <comments
                value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Bundles always have an id, though it is usually a generated UUID."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="id"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
    </element>
    <element id="Procedure-argoprofile.meta">
      <path value="Procedure.meta"/>
      <name value="Procedure-argoprofile.meta"/>
      <short value="Metadata about the resource"/>
      <definition
                  value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.meta"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Meta"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
    </element>
    <element id="Procedure-argoprofile.meta.id">
      <path value="Procedure.meta.id"/>
      <representation value="xmlAttr"/>
      <name value="Procedure-argoprofile.meta.id"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references)."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="id"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.meta.extension">
      <path value="Procedure.meta.extension"/>
      <name value="Procedure-argoprofile.meta.extension"/>
      <slicing id="3">
        <discriminator value="url"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional Content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="sourcesystem">
      <path value="Procedure.meta.extension"/>
      <name value="sourcesystem"/>
      <definition
                  value="FHIR: This provides a minimal amount of Provenance information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.
FHIM: Identifies the computer system that created the medical record. This optional field may also be used to indicate that the medical record was originally created by a different organization from the one that is currently storing or utilizing the record in that the assigning authority of the Id could be set to that originating organization. This property is optional, as some systems will assume that all records that it contains originated in that system, however it is anticipated that it will become increasingly commonplace for records from multiple systems and organizations will be comingled in order to provide a complete picture of the patient&#39;s health record."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.meta.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-SourceSystem-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.meta.versionId">
      <path value="Procedure.meta.versionId"/>
      <name value="Procedure-argoprofile.meta.versionId"/>
      <short value="Version specific identifier"/>
      <definition
                  value="The version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted."/>
      <comments
                value="The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="id"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
    </element>
    <element id="Procedure-argoprofile.meta.lastUpdated">
      <path value="Procedure.meta.lastUpdated"/>
      <name value="Procedure-argoprofile.meta.lastUpdated"/>
      <short value="When the resource version last changed"/>
      <definition
                  value="When the resource last changed - e.g. when the version changed."/>
      <comments
                value="This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="instant"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
    </element>
    <element id="Procedure-argoprofile.meta.profile">
      <path value="Procedure.meta.profile"/>
      <name value="Procedure-argoprofile.meta.profile"/>
      <short value="Profiles this resource claims to conform to"/>
      <definition
                  value="A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]]."/>
      <comments
                value="It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="uri"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
    </element>
    <element id="Procedure-argoprofile.meta.security">
      <path value="Procedure.meta.security"/>
      <name value="Procedure-argoprofile.meta.security"/>
      <short value="Security Labels applied to this resource"/>
      <definition
                  value="Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure."/>
      <comments
                value="The security labels can be updated without changing the stated version of the resource  The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="Coding"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <binding>
        <strength value="extensible"/>
        <description
                     value="Security Labels from the Healthcare Privacy and Security Classification System."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/security-labels"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Procedure-argoprofile.meta.tag">
      <path value="Procedure.meta.tag"/>
      <name value="Procedure-argoprofile.meta.tag"/>
      <short value="Tags applied to this resource"/>
      <definition
                  value="Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource."/>
      <comments
                value="The tags can be updated without changing the stated version of the resource.  The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="Coding"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <binding>
        <strength value="example"/>
        <description
                     value="Codes that represent various types of tags, commonly workflow-related; e.g. &quot;Needs review by Dr. Jones&quot;"/>
      </binding>
    </element>
    <element id="Procedure-argoprofile.implicitRules">
      <path value="Procedure.implicitRules"/>
      <name value="Procedure-argoprofile.implicitRules"/>
      <short value="A set of rules under which this content was created"/>
      <definition
                  value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content."/>
      <comments
                value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element as much as possible."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.implicitRules"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="true"/>
      <isSummary value="true"/>
    </element>
    <element id="Procedure-argoprofile.language">
      <path value="Procedure.language"/>
      <name value="Procedure-argoprofile.language"/>
      <short value="Language of the resource content"/>
      <definition value="The base language in which the resource is written."/>
      <comments
                value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.language"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="required"/>
        <description value="A human language."/>
        <valueSetReference>
          <reference value="http://tools.ietf.org/html/bcp47"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Procedure-argoprofile.text">
      <path value="Procedure.text"/>
      <name value="Procedure-argoprofile.text"/>
      <short value="Text summary of the resource, for human interpretation"/>
      <definition
                  value="A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it &quot;clinically safe&quot; for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety."/>
      <comments
                value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative."/>
      <alias value="narrative"/>
      <alias value="html"/>
      <alias value="xhtml"/>
      <alias value="display"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.text"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Narrative"/>
      </type>
      <maxLength value="0"/>
      <condition value="dom-1"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="Act.text?"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.contained">
      <path value="Procedure.contained"/>
      <name value="Procedure-argoprofile.contained"/>
      <short value="Contained, inline Resources"/>
      <definition
                  value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope."/>
      <comments
                value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again."/>
      <alias value="inline resources"/>
      <alias value="anonymous resources"/>
      <alias value="contained resources"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.contained"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Resource"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.extension">
      <path value="Procedure.extension"/>
      <name value="Procedure-argoprofile.extension"/>
      <slicing id="2">
        <discriminator value="url"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional Content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="procedurepartof">
      <path value="Procedure.extension"/>
      <name value="procedurepartof"/>
      <definition
                  value="A larger event of which this particular procedure is a component or step."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-ProcedurePartOf-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="statusreason">
      <path value="Procedure.extension"/>
      <name value="statusreason"/>
      <definition
                  value="Captures the reason for the current state of the procedure."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-StatusReason-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="complicationreference">
      <path value="Procedure.extension"/>
      <name value="complicationreference"/>
      <definition
                  value="Complication following the procedure, as a reference to a Condition."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-ComplicationReference-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="usedcode">
      <path value="Procedure.extension"/>
      <name value="usedcode"/>
      <definition value="Item used during an activity, represented as a code."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-UsedCode-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="statementdatetime">
      <path value="Procedure.extension"/>
      <name value="statementdatetime"/>
      <definition value="The point in time when the statement was created."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-StatementDateTime-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="occurrencetimeorperiod">
      <path value="Procedure.extension"/>
      <name value="occurrencetimeorperiod"/>
      <definition
                  value="The point or period of time when the event takes place. Times can be precise (dateTime) or approximate (date). If a time period is used, and the start date or dateTime is missing, the start of the period is not known. If the end date or dateTime is missing, it means that the period is ongoing."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-datatype-OccurrenceTimeOrPeriod-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="personauthor">
      <path value="Procedure.extension"/>
      <name value="personauthor"/>
      <definition
                  value="A human author, patient, practitioner, or related person, as opposed to an organization or device."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-PersonAuthor-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="personinformationsource">
      <path value="Procedure.extension"/>
      <name value="personinformationsource"/>
      <definition
                  value="The person who provided the information, not necessarily the patient."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-PersonInformationSource-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="treatmentintent">
      <path value="Procedure.extension"/>
      <name value="treatmentintent"/>
      <definition value="The purpose of a treatment."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-TreatmentIntent-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="radiationdoseperfraction">
      <path value="Procedure.extension"/>
      <name value="radiationdoseperfraction"/>
      <definition
                  value="The amount of radiation administered during a single session (fraction) of radiation therapy therapy."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-RadiationDosePerFraction-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="radiationfractionsdelivered">
      <path value="Procedure.extension"/>
      <name value="radiationfractionsdelivered"/>
      <definition
                  value="Records the total number of treatment sessions (fractions) administered during the first course of therapy. Corresponds to LOINC 21950-2 &#39;Number of radiation treatment&#39; [sic]."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-RadiationFractionsDelivered-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="totalradiationdosedelivered">
      <path value="Procedure.extension"/>
      <name value="totalradiationdosedelivered"/>
      <definition
                  value="The total amount of radiation dose delivered for the course of therapy. (source: SNOMED, ASTRO)"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-TotalRadiationDoseDelivered-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="terminationreason">
      <path value="Procedure.extension"/>
      <name value="terminationreason"/>
      <definition
                  value="A code explaining unplanned or premature termination of a plan of treatment, course of medication, or research study."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-TerminationReason-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.extension-terminationreason.id">
      <path value="Procedure.extension.id"/>
      <representation value="xmlAttr"/>
      <name value="Procedure-argoprofile.extension-terminationreason.id"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="id"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.extension-terminationreason.extension">
      <path value="Procedure.extension.extension"/>
      <name value="Procedure-argoprofile.extension-terminationreason.extension"/>
      <short value="Additional Content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="0"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.extension-terminationreason.url">
      <path value="Procedure.extension.url"/>
      <representation value="xmlAttr"/>
      <name value="Procedure-argoprofile.extension-terminationreason.url"/>
      <short value="identifies the meaning of the extension"/>
      <definition
                  value="Source of the definition for the extension code - a logical name or a URL."/>
      <comments
                value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition should be version specific.  This will ideally be the URI for the Resource Profile defining the extension, with the code for the extension after a #."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Extension.url"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
      <fixedUri
                value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-TerminationReason-extension"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.extension-terminationreason.val">
      <path value="Procedure.extension.valueCodeableConcept"/>
      <name value="Procedure-argoprofile.extension-terminationreason.val"/>
      <short value="Value of extension"/>
      <definition
                  value="Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list)."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Extension.value[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="required"/>
        <valueSetReference>
          <reference
                     value="http://mcodeinitiative.org/us/mcode/ValueSet/obf-TreatmentTerminationReasonVS"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.modifierExtension">
      <path value="Procedure.modifierExtension"/>
      <name value="Procedure-argoprofile.modifierExtension"/>
      <short value="Extensions that cannot be ignored"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.identifier">
      <path value="Procedure.identifier"/>
      <name value="Procedure-argoprofile.identifier"/>
      <short value="External Identifiers for this procedure"/>
      <definition
                  value="This records identifiers associated with this procedure that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)."/>
      <requirements value="Need to allow connection to a wider workflow."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.identifier"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Identifier"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map
             value="Some combination of ORC-2 / ORC-3 / OBR-2 / OBR-3 / IPC-1 / IPC-2 / IPC-3 / IPC-4"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".id"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="id"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.subject">
      <path value="Procedure.subject"/>
      <name value="Procedure-argoprofile.subject"/>
      <short value="Who the procedure was performed on"/>
      <definition
                  value="The person, animal or group on which the procedure was performed."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Procedure.subject"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-Patient"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="v2"/>
        <map value="PID-3"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".participation[typeCode=SBJ].role"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="who.focus"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.status">
      <path value="Procedure.status"/>
      <name value="Procedure-argoprofile.status"/>
      <short value="in-progress | aborted | completed | entered-in-error"/>
      <definition
                  value="A code specifying the state of the procedure. Generally this will be in-progress or completed state."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Procedure.status"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="true"/>
      <isSummary value="false"/>
      <binding>
        <strength value="required"/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/procedure-status"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Procedure-argoprofile.category">
      <path value="Procedure.category"/>
      <name value="Procedure-argoprofile.category"/>
      <short value="Classification of the procedure"/>
      <definition
                  value="A code that classifies the procedure for searching, sorting and display purposes (e.g. &quot;Surgical Procedure&quot;)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.category"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <binding>
        <strength value="example"/>
        <description
                     value="A code that classifies a procedure for searching, sorting and display purposes."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/procedure-category"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map
             value=".outboundRelationship[typeCode=&quot;COMP].target[classCode=&quot;LIST&quot;, moodCode=&quot;EVN&quot;].code"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.code">
      <path value="Procedure.code"/>
      <name value="Procedure-argoprofile.code"/>
      <short value="SNOMED-CT | ICD-10 | CPT-4"/>
      <definition
                  value="The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. &quot;Laparoscopic Appendectomy&quot;)."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Procedure.code"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="extensible"/>
        <valueSetReference>
          <reference
                     value="http://mcodeinitiative.org/us/mcode/ValueSet/obf-RadiationProcedureVS"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2"/>
        <map value="OBR-44/OBR-45"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".code"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="class"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.notPerformed">
      <path value="Procedure.notPerformed"/>
      <name value="Procedure-argoprofile.notPerformed"/>
      <short value="True if procedure was not performed as scheduled"/>
      <definition
                  value="Set this to true if the record is saying that the procedure was NOT performed."/>
      <min value="0"/>
      <max value="0"/>
      <base>
        <path value="Procedure.notPerformed"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="boolean"/>
      </type>
      <defaultValueBoolean value="false"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value=".actionNegationInd"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.reasonNotPerformed">
      <path value="Procedure.reasonNotPerformed"/>
      <name value="Procedure-argoprofile.reasonNotPerformed"/>
      <short value="Reason procedure was not performed"/>
      <definition value="A code indicating why the procedure was not performed."/>
      <min value="0"/>
      <max value="0"/>
      <base>
        <path value="Procedure.reasonNotPerformed"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <condition value="pro-1"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="example"/>
        <description
                     value="A code that identifies the reason a procedure was not performed."/>
        <valueSetReference>
          <reference
                     value="http://hl7.org/fhir/ValueSet/procedure-not-performed-reason"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map value=".reason.Observation.value"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.bodySite">
      <path value="Procedure.bodySite"/>
      <name value="Procedure-argoprofile.bodySite"/>
      <short value="Target body sites"/>
      <definition
                  value="Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.bodySite"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <binding>
        <strength value="extensible"/>
        <valueSetReference>
          <reference
                     value="http://mcodeinitiative.org/us/mcode/ValueSet/obf-RadiationTargetBodySiteVS"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2"/>
        <map value="OBX-20"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".targetSiteCode"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.bodySite.id">
      <path value="Procedure.bodySite.id"/>
      <representation value="xmlAttr"/>
      <name value="Procedure-argoprofile.bodySite.id"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references)."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="id"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.bodySite.extension">
      <path value="Procedure.bodySite.extension"/>
      <name value="Procedure-argoprofile.bodySite.extension"/>
      <slicing id="1">
        <discriminator value="url"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional Content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="laterality">
      <path value="Procedure.bodySite.extension"/>
      <name value="laterality"/>
      <definition
                  value="Body side of the body location, if needed to distinguish from a similar location on the other side of the body.

The laterality element is part of BodyLocation, a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

* Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
* Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
* Relation to landmark: The location relative to a landmark is specified by:
1. Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
2. Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR&#39;s stand-alone BodySite (aka BodyStructure in r4) which &#39;is not ... intended for describing the type of anatomical location but rather a specific body site on a specific patient&#39; (FHIR 3.5)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.bodySite.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-datatype-Laterality-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="anatomicalorientation">
      <path value="Procedure.bodySite.extension"/>
      <name value="anatomicalorientation"/>
      <definition
                  value="AnatomicalOrientation of the body location, if needed to distinguish from a similar location in another orientation.
The orientation element is part of BodyLocation, a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

* Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
* Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
* Relation to landmark: The location relative to a landmark is specified by:
1. Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
2. Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR&#39;s stand-alone BodySite (aka BodyStructure in r4) which &#39;is not ... intended for describing the type of anatomical location but rather a specific body site on a specific patient&#39; (FHIR 3.5)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.bodySite.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-datatype-AnatomicalOrientation-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="relationtolandmark">
      <path value="Procedure.bodySite.extension"/>
      <name value="relationtolandmark"/>
      <definition
                  value="The relationship between a landmark that helps determine a body location and the body location itself. The location relative to a landmark is specified by:
* Specifying the location and type of landmark using a body site code and optional laterality/orientation,
* Specifying the direction from the landmark to the body location, and
* Specifying the distance from the landmark to the body location.

The RelationToLandmark element is part of BodyLocation, a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

* Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
* Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
* Relation to landmark: The location relative to a landmark is specified by:
1. Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
2. Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR&#39;s stand-alone BodySite (aka BodyStructure in r4) which &#39;is not ... intended for describing the type of anatomical location but rather a specific body site on a specific patient&#39; (FHIR 3.5)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.bodySite.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-datatype-RelationToLandmark-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.bodySite.coding">
      <path value="Procedure.bodySite.coding"/>
      <name value="Procedure-argoprofile.bodySite.coding"/>
      <short value="Code defined by a terminology system"/>
      <definition value="A reference to a code defined by a terminology system."/>
      <comments
                value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true."/>
      <requirements
                    value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="Coding"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="orim"/>
        <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"/>
      </mapping>
      <mapping>
        <identity value="v2"/>
        <map value="C*E.1-8, C*E.10-22"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="union(., ./translation)"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.bodySite.text">
      <path value="Procedure.bodySite.text"/>
      <name value="Procedure-argoprofile.bodySite.text"/>
      <short value="Plain text representation of the concept"/>
      <definition
                  value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user."/>
      <comments
                value="Very often the text is the same as a displayName of one of the codings."/>
      <requirements
                    value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="orim"/>
        <map
             value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"/>
      </mapping>
      <mapping>
        <identity value="v2"/>
        <map value="C*E.9. But note many systems use C*E.2 for this"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.reasonx">
      <path value="Procedure.reason[x]"/>
      <name value="Procedure-argoprofile.reasonx"/>
      <slicing id="5">
        <discriminator value="$this/@type"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <short value="Reference to a primary or secondary cancer condition"/>
      <definition value="Reference to a primary or secondary cancer condition."/>
      <comments
                value="e.g. endoscopy for dilatation and biopsy, combination diagnosis and therapeutic."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.reason[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-PrimaryCancerCondition"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-SecondaryCancerCondition"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <binding>
        <strength value="extensible"/>
        <valueSetReference>
          <reference
                     value="http://mcodeinitiative.org/us/mcode/ValueSet/onco-core-CancerDisorderVS"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map value=".reasonCode"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.reasonReference-SecondaryCancerCondition">
      <path value="Procedure.reasonReference"/>
      <name
            value="Procedure-argoprofile.reasonReference-SecondaryCancerCondition"/>
      <short value="Reason procedure performed"/>
      <definition
                  value="The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as text."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.reason[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-SecondaryCancerCondition"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
    </element>
    <element id="Procedure-argoprofile.reasonReference-PrimaryCancerCondition">
      <path value="Procedure.reasonReference"/>
      <name value="Procedure-argoprofile.reasonReference-PrimaryCancerCondition"/>
      <short value="Reason procedure performed"/>
      <definition
                  value="The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as text."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.reason[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-PrimaryCancerCondition"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
    </element>
    <element id="Procedure-argoprofile.performer">
      <path value="Procedure.performer"/>
      <name value="Procedure-argoprofile.performer"/>
      <short value="The people who performed the procedure"/>
      <definition
                  value="Limited to &#39;real&#39; people rather than equipment."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.performer"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value=".participation[typeCode=PFM]"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performer.id">
      <path value="Procedure.performer.id"/>
      <representation value="xmlAttr"/>
      <name value="Procedure-argoprofile.performer.id"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.performer.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="id"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performer.extension">
      <path value="Procedure.performer.extension"/>
      <name value="Procedure-argoprofile.performer.extension"/>
      <slicing id="4">
        <discriminator value="url"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional Content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.performer.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="onbehalfof">
      <path value="Procedure.performer.extension"/>
      <name value="onbehalfof"/>
      <definition value="The party represented by the actual participant."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.performer.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-OnBehalfOf-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.performer.extension-onbehalfof.id">
      <path value="Procedure.performer.extension.id"/>
      <representation value="xmlAttr"/>
      <name value="Procedure-argoprofile.performer.extension-onbehalfof.id"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="id"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performer.extension-onbehalfof.extension">
      <path value="Procedure.performer.extension.extension"/>
      <name
            value="Procedure-argoprofile.performer.extension-onbehalfof.extension"/>
      <short value="Additional Content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="0"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performer.extension-onbehalfof.url">
      <path value="Procedure.performer.extension.url"/>
      <representation value="xmlAttr"/>
      <name value="Procedure-argoprofile.performer.extension-onbehalfof.url"/>
      <short value="identifies the meaning of the extension"/>
      <definition
                  value="Source of the definition for the extension code - a logical name or a URL."/>
      <comments
                value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition should be version specific.  This will ideally be the URI for the Resource Profile defining the extension, with the code for the extension after a #."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Extension.url"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
      <fixedUri
                value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-OnBehalfOf-extension"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performer.extension-onbehalfof.val1">
      <path value="Procedure.performer.extension.valueReference"/>
      <name value="Procedure-argoprofile.performer.extension-onbehalfof.val1"/>
      <short
             value="Organization: A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action"/>
      <definition
                  value="A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.

Organization type is restricted to 0..1 in FHIR DSTU2, similarly restricted here. Other required attributes come from STU 3 mapping to us-core-organization."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Extension.value[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performer.modifierExtension">
      <path value="Procedure.performer.modifierExtension"/>
      <name value="Procedure-argoprofile.performer.modifierExtension"/>
      <short value="Extensions that cannot be ignored"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <alias value="modifiers"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.performer.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performer.actor">
      <path value="Procedure.performer.actor"/>
      <name value="Procedure-argoprofile.performer.actor"/>
      <short
             value="Constrains participants to classes that are accepted by FHIR as actors in procedures in STU 3"/>
      <definition
                  value="Constrains participants to classes that are accepted by FHIR as actors in procedures in STU 3."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.performer.actor"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="ORC-19/PRT-5"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".role"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="who.actor"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performer.role">
      <path value="Procedure.performer.role"/>
      <name value="Procedure-argoprofile.performer.role"/>
      <short value="The role the actor was in"/>
      <definition value="For example: surgeon, anaethetist, endoscopist."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.performer.role"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <binding>
        <strength value="example"/>
        <description
                     value="A code that identifies the role of a performer of the procedure."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/performer-role"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2"/>
        <map
             value="Some combination of STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17 / OBX-25"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".functionCode"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.performedx">
      <path value="Procedure.performed[x]"/>
      <name value="Procedure-argoprofile.performedx"/>
      <short value="Date/Period the procedure was performed"/>
      <definition
                  value="The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Procedure.performed[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="dateTime"/>
      </type>
      <type>
        <code value="Period"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="v2"/>
        <map value="OBR-7"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".effectiveTime"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="when.done"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.encounter">
      <path value="Procedure.encounter"/>
      <name value="Procedure-argoprofile.encounter"/>
      <short value="The encounter associated with the procedure"/>
      <definition
                  value="The encounter during which the procedure was performed."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.encounter"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Encounter"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="PV1-19"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="context"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.location">
      <path value="Procedure.location"/>
      <name value="Procedure-argoprofile.location"/>
      <short value="Where the procedure happened"/>
      <definition
                  value="The location where the procedure actually happened.  E.g. a newborn at home, a tracheostomy at a restaurant."/>
      <requirements
                    value="Ties a procedure to where the records are likely kept."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.location"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Location"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="w5"/>
        <map value="where"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.outcome">
      <path value="Procedure.outcome"/>
      <name value="Procedure-argoprofile.outcome"/>
      <short value="The result of procedure"/>
      <definition
                  value="The outcome of the procedure - did it resolve reasons for the procedure being performed?"/>
      <comments
                value="If outcome contains narrative text only, it can be captured using the CodeableConcept.text."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.outcome"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <binding>
        <strength value="example"/>
        <description
                     value="An outcome of a procedure - whether it was resolved or otherwise."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/procedure-outcome"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map value=".outboundRelationship[typeCode=OUT].target.text"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.report">
      <path value="Procedure.report"/>
      <name value="Procedure-argoprofile.report"/>
      <short value="Any report resulting from the procedure"/>
      <definition
                  value="This could be a histology result, pathology report, surgical report, etc.."/>
      <comments
                value="There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.report"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-DiagnosticReport"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN]"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.complication">
      <path value="Procedure.complication"/>
      <name value="Procedure-argoprofile.complication"/>
      <short value="Complication following the procedure"/>
      <definition
                  value="Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any &#39;post procedure&#39; issues."/>
      <comments
                value="If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.complication"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="example"/>
        <description
                     value="Codes describing complications that resulted from a procedure."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/condition-code"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map value="Need specialization of OUT for this."/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.followUp">
      <path value="Procedure.followUp"/>
      <name value="Procedure-argoprofile.followUp"/>
      <short value="Instructions for follow up"/>
      <definition
                  value="If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.followUp"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="example"/>
        <description
                     value="Specific follow up required for a procedure e.g. removal of sutures."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/procedure-followup"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map
             value=".outboundRelationship[typeCode=COMP].target[classCode=ACT, moodCode=INT].code"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.request">
      <path value="Procedure.request"/>
      <name value="Procedure-argoprofile.request"/>
      <short value="A request for this procedure"/>
      <definition value="A request for this procedure."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.request"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-ProcedureRequest"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/ReferralRequest"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.notes">
      <path value="Procedure.notes"/>
      <name value="Procedure-argoprofile.notes"/>
      <short value="Additional information about the procedure"/>
      <definition
                  value="Any other notes about the procedure.  E.g. the operative notes."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.notes"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Annotation"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-Annotation"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="v2"/>
        <map value="NTE"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=&quot;annotation&quot;].value"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.focalDevice">
      <path value="Procedure.focalDevice"/>
      <name value="Procedure-argoprofile.focalDevice"/>
      <short value="Device changed in procedure"/>
      <definition
                  value="A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure."/>
      <min value="0"/>
      <max value="0"/>
      <base>
        <path value="Procedure.focalDevice"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.focalDevice.id">
      <path value="Procedure.focalDevice.id"/>
      <representation value="xmlAttr"/>
      <name value="Procedure-argoprofile.focalDevice.id"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.focalDevice.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="id"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.focalDevice.extension">
      <path value="Procedure.focalDevice.extension"/>
      <name value="Procedure-argoprofile.focalDevice.extension"/>
      <short value="Additional Content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.focalDevice.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.focalDevice.modifierExtension">
      <path value="Procedure.focalDevice.modifierExtension"/>
      <name value="Procedure-argoprofile.focalDevice.modifierExtension"/>
      <short value="Extensions that cannot be ignored"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/>
      <comments
                value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <alias value="modifiers"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.focalDevice.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Procedure-argoprofile.focalDevice.action">
      <path value="Procedure.focalDevice.action"/>
      <name value="Procedure-argoprofile.focalDevice.action"/>
      <short value="Kind of change to device"/>
      <definition
                  value="The kind of change that happened to the device during the procedure."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.focalDevice.action"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="required"/>
        <description
                     value="A kind of change that happened to the device during the procedure."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/device-action"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Procedure-argoprofile.focalDevice.manipulated">
      <path value="Procedure.focalDevice.manipulated"/>
      <name value="Procedure-argoprofile.focalDevice.manipulated"/>
      <short value="Device that was changed"/>
      <definition
                  value="The device that was manipulated (changed) during the procedure."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Procedure.focalDevice.manipulated"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://fhir.org/guides/argonaut/StructureDefinition/argo-device"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.used">
      <path value="Procedure.used"/>
      <name value="Procedure-argoprofile.used"/>
      <short value="Items used during procedure"/>
      <definition
                  value="Identifies medications, devices and any other substance used as part of the procedure."/>
      <comments
                value="For devices actually implanted or removed, use Procedure.device."/>
      <requirements value="Used for tracking contamination, etc."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.used"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://fhir.org/guides/argonaut/StructureDefinition/argo-device"/>
        <profile
                 value="http://fhir.org/guides/argonaut/StructureDefinition/argo-medication"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Substance"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
  </snapshot>
  <differential>
    <element id="Procedure-argoprofile">
      <path value="Procedure"/>
      <name value="Procedure-argoprofile"/>
      <short value="onco-core-CancerRelatedRadiationProcedure"/>
      <definition
                  value="A radiological treatment addressing a cancer condition. The scope of this profile has been narrowed to cancer-related procedures by constraining the ReasonReference and ReasonCode to cancer conditions.

Conformance note: If an ICD-10-PCS code is used in the code attribute, and there is a semantically equivalent SNOMED CT or CPT code, the resulting Procedure instance will not be compliant with [US Core Profiles](http://hl7.org/fhir/us/core/STU3/index.html)"/>
      <min value="0"/>
      <type>
        <code value="argo-procedure"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.meta">
      <path value="Procedure.meta"/>
      <name value="Procedure-argoprofile.meta"/>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.meta.extension">
      <path value="Procedure.meta.extension"/>
      <name value="Procedure-argoprofile.meta.extension"/>
      <slicing id="3">
        <discriminator value="url"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="sourcesystem">
      <path value="Procedure.meta.extension"/>
      <name value="sourcesystem"/>
      <definition
                  value="FHIR: This provides a minimal amount of Provenance information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.
FHIM: Identifies the computer system that created the medical record. This optional field may also be used to indicate that the medical record was originally created by a different organization from the one that is currently storing or utilizing the record in that the assigning authority of the Id could be set to that originating organization. This property is optional, as some systems will assume that all records that it contains originated in that system, however it is anticipated that it will become increasingly commonplace for records from multiple systems and organizations will be comingled in order to provide a complete picture of the patient&#39;s health record."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.meta.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-SourceSystem-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.extension">
      <path value="Procedure.extension"/>
      <name value="Procedure-argoprofile.extension"/>
      <slicing id="2">
        <discriminator value="url"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="procedurepartof">
      <path value="Procedure.extension"/>
      <name value="procedurepartof"/>
      <definition
                  value="A larger event of which this particular procedure is a component or step."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-ProcedurePartOf-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="statusreason">
      <path value="Procedure.extension"/>
      <name value="statusreason"/>
      <definition
                  value="Captures the reason for the current state of the procedure."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-StatusReason-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="complicationreference">
      <path value="Procedure.extension"/>
      <name value="complicationreference"/>
      <definition
                  value="Complication following the procedure, as a reference to a Condition."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-ComplicationReference-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="usedcode">
      <path value="Procedure.extension"/>
      <name value="usedcode"/>
      <definition value="Item used during an activity, represented as a code."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-UsedCode-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="statementdatetime">
      <path value="Procedure.extension"/>
      <name value="statementdatetime"/>
      <definition value="The point in time when the statement was created."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-StatementDateTime-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="occurrencetimeorperiod">
      <path value="Procedure.extension"/>
      <name value="occurrencetimeorperiod"/>
      <definition
                  value="The point or period of time when the event takes place. Times can be precise (dateTime) or approximate (date). If a time period is used, and the start date or dateTime is missing, the start of the period is not known. If the end date or dateTime is missing, it means that the period is ongoing."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-datatype-OccurrenceTimeOrPeriod-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="personauthor">
      <path value="Procedure.extension"/>
      <name value="personauthor"/>
      <definition
                  value="A human author, patient, practitioner, or related person, as opposed to an organization or device."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-PersonAuthor-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="personinformationsource">
      <path value="Procedure.extension"/>
      <name value="personinformationsource"/>
      <definition
                  value="The person who provided the information, not necessarily the patient."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-PersonInformationSource-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="treatmentintent">
      <path value="Procedure.extension"/>
      <name value="treatmentintent"/>
      <definition value="The purpose of a treatment."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-TreatmentIntent-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="radiationdoseperfraction">
      <path value="Procedure.extension"/>
      <name value="radiationdoseperfraction"/>
      <definition
                  value="The amount of radiation administered during a single session (fraction) of radiation therapy therapy."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-RadiationDosePerFraction-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="radiationfractionsdelivered">
      <path value="Procedure.extension"/>
      <name value="radiationfractionsdelivered"/>
      <definition
                  value="Records the total number of treatment sessions (fractions) administered during the first course of therapy. Corresponds to LOINC 21950-2 &#39;Number of radiation treatment&#39; [sic]."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-RadiationFractionsDelivered-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="totalradiationdosedelivered">
      <path value="Procedure.extension"/>
      <name value="totalradiationdosedelivered"/>
      <definition
                  value="The total amount of radiation dose delivered for the course of therapy. (source: SNOMED, ASTRO)"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-TotalRadiationDoseDelivered-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="terminationreason">
      <path value="Procedure.extension"/>
      <name value="terminationreason"/>
      <definition
                  value="A code explaining unplanned or premature termination of a plan of treatment, course of medication, or research study."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-TerminationReason-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.extension-terminationreason.val">
      <path value="Procedure.extension.valueCodeableConcept"/>
      <name value="Procedure-argoprofile.extension-terminationreason.val"/>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="required"/>
        <valueSetReference>
          <reference
                     value="http://mcodeinitiative.org/us/mcode/ValueSet/obf-TreatmentTerminationReasonVS"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Procedure-argoprofile.subject">
      <path value="Procedure.subject"/>
      <name value="Procedure-argoprofile.subject"/>
      <min value="0"/>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-Patient"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.code">
      <path value="Procedure.code"/>
      <name value="Procedure-argoprofile.code"/>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="extensible"/>
        <valueSetReference>
          <reference
                     value="http://mcodeinitiative.org/us/mcode/ValueSet/obf-RadiationProcedureVS"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Procedure-argoprofile.notPerformed">
      <path value="Procedure.notPerformed"/>
      <name value="Procedure-argoprofile.notPerformed"/>
      <min value="0"/>
      <max value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.reasonNotPerformed">
      <path value="Procedure.reasonNotPerformed"/>
      <name value="Procedure-argoprofile.reasonNotPerformed"/>
      <min value="0"/>
      <max value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.bodySite">
      <path value="Procedure.bodySite"/>
      <name value="Procedure-argoprofile.bodySite"/>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="extensible"/>
        <valueSetReference>
          <reference
                     value="http://mcodeinitiative.org/us/mcode/ValueSet/obf-RadiationTargetBodySiteVS"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Procedure-argoprofile.bodySite.extension">
      <path value="Procedure.bodySite.extension"/>
      <name value="Procedure-argoprofile.bodySite.extension"/>
      <slicing id="1">
        <discriminator value="url"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="laterality">
      <path value="Procedure.bodySite.extension"/>
      <name value="laterality"/>
      <definition
                  value="Body side of the body location, if needed to distinguish from a similar location on the other side of the body.

The laterality element is part of BodyLocation, a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

* Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
* Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
* Relation to landmark: The location relative to a landmark is specified by:
1. Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
2. Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR&#39;s stand-alone BodySite (aka BodyStructure in r4) which &#39;is not ... intended for describing the type of anatomical location but rather a specific body site on a specific patient&#39; (FHIR 3.5)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.bodySite.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-datatype-Laterality-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="anatomicalorientation">
      <path value="Procedure.bodySite.extension"/>
      <name value="anatomicalorientation"/>
      <definition
                  value="AnatomicalOrientation of the body location, if needed to distinguish from a similar location in another orientation.
The orientation element is part of BodyLocation, a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

* Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
* Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
* Relation to landmark: The location relative to a landmark is specified by:
1. Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
2. Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR&#39;s stand-alone BodySite (aka BodyStructure in r4) which &#39;is not ... intended for describing the type of anatomical location but rather a specific body site on a specific patient&#39; (FHIR 3.5)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.bodySite.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-datatype-AnatomicalOrientation-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="relationtolandmark">
      <path value="Procedure.bodySite.extension"/>
      <name value="relationtolandmark"/>
      <definition
                  value="The relationship between a landmark that helps determine a body location and the body location itself. The location relative to a landmark is specified by:
* Specifying the location and type of landmark using a body site code and optional laterality/orientation,
* Specifying the direction from the landmark to the body location, and
* Specifying the distance from the landmark to the body location.

The RelationToLandmark element is part of BodyLocation, a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

* Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
* Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
* Relation to landmark: The location relative to a landmark is specified by:
1. Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
2. Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR&#39;s stand-alone BodySite (aka BodyStructure in r4) which &#39;is not ... intended for describing the type of anatomical location but rather a specific body site on a specific patient&#39; (FHIR 3.5)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.bodySite.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-datatype-RelationToLandmark-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.reasonx">
      <path value="Procedure.reason[x]"/>
      <name value="Procedure-argoprofile.reasonx"/>
      <slicing id="5">
        <discriminator value="$this/@type"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <short value="Reference to a primary or secondary cancer condition"/>
      <definition value="Reference to a primary or secondary cancer condition."/>
      <min value="0"/>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-PrimaryCancerCondition"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-SecondaryCancerCondition"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <binding>
        <strength value="extensible"/>
        <valueSetReference>
          <reference
                     value="http://mcodeinitiative.org/us/mcode/ValueSet/onco-core-CancerDisorderVS"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Procedure-argoprofile.reasonReference-SecondaryCancerCondition">
      <path value="Procedure.reasonReference"/>
      <name
            value="Procedure-argoprofile.reasonReference-SecondaryCancerCondition"/>
      <min value="0"/>
      <base>
        <path value="Procedure.reason[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-SecondaryCancerCondition"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.reasonReference-PrimaryCancerCondition">
      <path value="Procedure.reasonReference"/>
      <name value="Procedure-argoprofile.reasonReference-PrimaryCancerCondition"/>
      <min value="0"/>
      <base>
        <path value="Procedure.reason[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/onco-core-PrimaryCancerCondition"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.performer">
      <path value="Procedure.performer"/>
      <name value="Procedure-argoprofile.performer"/>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.performer.extension">
      <path value="Procedure.performer.extension"/>
      <name value="Procedure-argoprofile.performer.extension"/>
      <slicing id="4">
        <discriminator value="url"/>
        <ordered value="false"/>
        <rules value="open"/>
      </slicing>
      <min value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="onbehalfof">
      <path value="Procedure.performer.extension"/>
      <name value="onbehalfof"/>
      <definition value="The party represented by the actual participant."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Procedure.performer.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-OnBehalfOf-extension"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.performer.extension-onbehalfof.val1">
      <path value="Procedure.performer.extension.valueReference"/>
      <name value="Procedure-argoprofile.performer.extension-onbehalfof.val1"/>
      <short
             value="Organization: A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action"/>
      <definition
                  value="A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.

Organization type is restricted to 0..1 in FHIR DSTU2, similarly restricted here. Other required attributes come from STU 3 mapping to us-core-organization."/>
      <min value="0"/>
      <type>
        <code value="Reference"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.performer.actor">
      <path value="Procedure.performer.actor"/>
      <name value="Procedure-argoprofile.performer.actor"/>
      <short
             value="Constrains participants to classes that are accepted by FHIR as actors in procedures in STU 3"/>
      <definition
                  value="Constrains participants to classes that are accepted by FHIR as actors in procedures in STU 3."/>
      <min value="0"/>
      <type>
        <code value="Reference"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.report">
      <path value="Procedure.report"/>
      <name value="Procedure-argoprofile.report"/>
      <min value="0"/>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-DiagnosticReport"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.request">
      <path value="Procedure.request"/>
      <name value="Procedure-argoprofile.request"/>
      <definition value="A request for this procedure."/>
      <min value="0"/>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-ProcedureRequest"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/ReferralRequest"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.notes">
      <path value="Procedure.notes"/>
      <name value="Procedure-argoprofile.notes"/>
      <min value="0"/>
      <type>
        <code value="Annotation"/>
        <profile
                 value="http://mcodeinitiative.org/us/mcode/StructureDefinition/obf-Annotation"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.focalDevice">
      <path value="Procedure.focalDevice"/>
      <name value="Procedure-argoprofile.focalDevice"/>
      <min value="0"/>
      <max value="0"/>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.focalDevice.manipulated">
      <path value="Procedure.focalDevice.manipulated"/>
      <name value="Procedure-argoprofile.focalDevice.manipulated"/>
      <min value="0"/>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://fhir.org/guides/argonaut/StructureDefinition/argo-device"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Procedure-argoprofile.used">
      <path value="Procedure.used"/>
      <name value="Procedure-argoprofile.used"/>
      <min value="0"/>
      <type>
        <code value="Reference"/>
        <profile
                 value="http://fhir.org/guides/argonaut/StructureDefinition/argo-device"/>
        <profile
                 value="http://fhir.org/guides/argonaut/StructureDefinition/argo-medication"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Substance"/>
      </type>
      <maxLength value="0"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
  </differential>
</StructureDefinition>