DAF Research, Release 1 Ballot

This page is part of the Data Access Framework (v1.8.0: STU 2 Ballot 2) based on FHIR v1.8.0. . For a full list of available versions, see the Directory of published versions

Profile daf-task


<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="daf-task"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p><b>Generated Narrative with Details</b></p><p><b>url</b>: <a href="http://hl7.org/fhir/us/daf-research/StructureDefinition/daf-task">http://hl7.org/fhir/us/daf-research/StructureDefinition/daf-task</a></p><p><b>name</b>: Profile daf-task</p><p><b>status</b>: DRAFT</p><p><b>date</b>: 12/08/2016</p><p><b>publisher</b>: Health Level Seven International (FHIR Infrastructure WG - Data Access Framework)</p><p><b>contact</b>: </p><p><b>url</b>: <a href="http://hl7.org/fhir/us/daf-research/StructureDefinition/daf-task">http://hl7.org/fhir/us/daf-research/StructureDefinition/daf-task</a></p><p><b>name</b>: Profile daf-task</p><p><b>status</b>: DRAFT</p><p><b>publisher</b>: Health Level Seven International (FHIR Infrastructure WG - Data Access Framework)</p><p><b>contact</b>: </p><p><b>date</b>: 12/08/2016</p><blockquote><p><b>mapping</b></p><p><b>identity</b>: workflow</p><p><b>uri</b>: <a href="http://hl7.org/fhir/workflow">http://hl7.org/fhir/workflow</a></p><p><b>name</b>: Workflow Mapping</p></blockquote><blockquote><p><b>mapping</b></p><p><b>identity</b>: rim</p><p><b>uri</b>: <a href="http://hl7.org/v3">http://hl7.org/v3</a></p><p><b>name</b>: RIM Mapping</p></blockquote><blockquote><p><b>mapping</b></p><p><b>identity</b>: w5</p><p><b>uri</b>: <a href="http://hl7.org/fhir/w5">http://hl7.org/fhir/w5</a></p><p><b>name</b>: W5 Mapping</p></blockquote><p><b>kind</b>: RESOURCE</p><p><b>abstract</b>: false</p><p><b>type</b>: Task</p><p><b>baseDefinition</b>: <a href="http://hl7.org/fhir/StructureDefinition/Task">http://hl7.org/fhir/StructureDefinition/Task</a></p><p><b>derivation</b>: CONSTRAINT</p><h3>Snapshots</h3><table class="grid"><tr><td>-</td><td><b>Element</b></td></tr><tr><td>*</td><td>todo-bundle</td></tr></table><h3>Differentials</h3><table class="grid"><tr><td>-</td><td><b>Element</b></td></tr><tr><td>*</td><td>todo-bundle</td></tr></table></div>
  </text>
  <url value="http://hl7.org/fhir/us/daf-research/StructureDefinition/daf-task"/>
  <name value="Profile daf-task"/>
  <status value="draft"/>
  <publisher
             value="Health Level Seven International (FHIR Infrastructure WG - Data Access Framework)"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.healthit.gov"/>
    </telecom>
  </contact>
  <date value="2016-08-12"/>
  <mapping>
    <identity value="workflow"/>
    <uri value="http://hl7.org/fhir/workflow"/>
    <name value="Workflow Mapping"/>
  </mapping>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM Mapping"/>
  </mapping>
  <mapping>
    <identity value="w5"/>
    <uri value="http://hl7.org/fhir/w5"/>
    <name value="W5 Mapping"/>
  </mapping>
  <kind value="resource"/>
  <abstract value="false"/>
  <type value="Task"/>
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Task"/>
  <derivation value="constraint"/>
  <snapshot>
    <element id="Task:daftask">
      <path value="Task"/>
      <sliceName value="DAFTask"/>
      <short value="A task to be performed"/>
      <definition value="A task to be performed."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <constraint>
        <key value="dom-2"/>
        <severity value="error"/>
        <human
               value="If the resource is contained in another resource, it SHALL NOT contain nested Resources"/>
        <expression value="contained.contained.empty()"/>
        <xpath value="not(parent::f:contained and f:contained)"/>
        <source value="DomainResource"/>
      </constraint>
      <constraint>
        <key value="dom-1"/>
        <severity value="error"/>
        <human
               value="If the resource is contained in another resource, it SHALL NOT contain any narrative"/>
        <expression value="contained.text.empty()"/>
        <xpath value="not(parent::f:contained and f:text)"/>
        <source value="DomainResource"/>
      </constraint>
      <constraint>
        <key value="dom-4"/>
        <severity value="error"/>
        <human
               value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated"/>
        <expression
                    value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()"/>
        <xpath
               value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))"/>
        <source value="DomainResource"/>
      </constraint>
      <constraint>
        <key value="dom-3"/>
        <severity value="error"/>
        <human
               value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource"/>
        <expression
                    value="contained.where((&#39;#&#39;+id in %resource.descendants().reference).not()).empty()"/>
        <xpath
               value="not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat(&#39;#&#39;, $id))]))"/>
        <source value="DomainResource"/>
      </constraint>
      <constraint>
        <key value="inv-1"/>
        <severity value="error"/>
        <human
               value="Last modified date must be greater than or equal to authored-on date."/>
        <expression
                    value="lastModified &gt;= authoredOn or lastModified.exists().not() or authoredOn.exists().not()"/>
        <xpath
               value="f:lastModified &gt;= f:authoredOn or not(exists(f:lastModified)) or not(exists(f:authoredOn))"/>
        <source value="Task"/>
      </constraint>
      <mustSupport value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="Entity. Role, or Act"/>
      </mapping>
      <mapping>
        <identity value="workflow"/>
        <map value="Request, Event"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="ControlAct[moodCode=INT]"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="workflow.order"/>
      </mapping>
    </element>
    <element id="Task:daftask.id">
      <path value="Task.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."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Resource.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="id"/>
      </type>
      <isSummary value="true"/>
    </element>
    <element id="Task:daftask.meta">
      <path value="Task.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="Resource.meta"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Meta"/>
      </type>
      <isSummary value="true"/>
    </element>
    <element id="Task:daftask.implicitRules">
      <path value="Task.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="Resource.implicitRules"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
      <isModifier value="true"/>
      <isSummary value="true"/>
    </element>
    <element id="Task:daftask.language">
      <path value="Task.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="Resource.language"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <binding>
        <extension
                   url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
          <valueReference>
            <reference value="http://hl7.org/fhir/ValueSet/all-languages"/>
          </valueReference>
        </extension>
        <strength value="extensible"/>
        <description value="A human language."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/languages"/>
        </valueSetReference>
      </binding>
    </element>
    <element id="Task:daftask.text">
      <path value="Task.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. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a &quot;text blob&quot; or where text is additionally entered raw or narrated and encoded in formation is added later."/>
      <alias value="narrative"/>
      <alias value="html"/>
      <alias value="xhtml"/>
      <alias value="display"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="DomainResource.text"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Narrative"/>
      </type>
      <condition value="dom-1"/>
      <mapping>
        <identity value="rim"/>
        <map value="Act.text?"/>
      </mapping>
    </element>
    <element id="Task:daftask.contained">
      <path value="Task.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="DomainResource.contained"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Resource"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Task:daftask.extension">
      <path value="Task.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 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="DomainResource.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Task:daftask.modifierExtension">
      <path value="Task.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="DomainResource.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <isModifier value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Task:daftask.identifier">
      <path value="Task.identifier"/>
      <short value="Task Instance Identifier"/>
      <definition value="The business identifier for this task."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.identifier"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Identifier"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.identifier, Event.identifier"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".id"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="id"/>
      </mapping>
    </element>
    <element id="Task:daftask.definition[x]">
      <path value="Task.definition[x]"/>
      <short value="Formal definition of task"/>
      <definition
                  value="A reference to a formal or informal definition of the task.  For example, a protocol, a step within a defined workflow definition, etc."/>
      <requirements
                    value="Enables a formal definition of how he task is to be performed (e.g. using BPMN, BPEL, XPDL or other formal notation) to be associated with a task, enabling automation."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.definition[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/ActivityDefinition"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.definition, Event.definitoin"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".outboundRelationship[typeCode=DEFN].target"/>
      </mapping>
    </element>
    <element id="Task:daftask.basedOn">
      <path value="Task.basedOn"/>
      <short value="Request fulfilled by this task"/>
      <definition
                  value="BasedOn refers to a higher-level authorization that triggered the creation of the task.  It references a &quot;request&quot; resource such as a DiagnosticRequest, MedicationRequest, ProcedureRequest, CarePlan, etc. which is distinct from the &quot;request&quot; resource the task is seeking to fulfil.  This latter resource is referenced by FocusOn.  For example, based on a DiagnosticRequest (= BasedOn), a task is created to fulfil a procedureRequest ( = FocusOn ) to collect a specimen from a patient."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task.basedOn"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.basedOn, Definition.basedOn"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".outboundRelationship[typeCode=FLFS].target[moodCode=INT]"/>
      </mapping>
    </element>
    <element id="Task:daftask.groupIdentifier">
      <path value="Task.groupIdentifier"/>
      <short value="Requisition or grouper id"/>
      <definition
                  value="An identifier that links together multiple tasks and other requests that were created in the same context."/>
      <requirements
                    value="Billing and/or reporting can be linked to whether multiple requests were created as a single unit."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.groupIdentifier"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Identifier"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.groupIdentifier"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".inboundRelationship[typeCode=COMP].source[moodCode=INT].id"/>
      </mapping>
    </element>
    <element id="Task:daftask.partOf">
      <path value="Task.partOf"/>
      <short value="Composite task"/>
      <definition value="Task that this particular task is part of."/>
      <comments value="This should usually be 0..1."/>
      <requirements
                    value="Allows tasks to be broken down into sub-steps (and this division can occur independent of the original task)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task.partOf"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Task"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Event.partOf"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".inboundRelationship[typeCode=COMP].source[moodCode=INT]"/>
      </mapping>
    </element>
    <element id="Task:daftask.status">
      <path value="Task.status"/>
      <short value="draft | requested | received | accepted | +"/>
      <definition value="The current status of the task."/>
      <requirements
                    value="These states enable coordination of task status with off-the-shelf workflow solutions that support automation of tasks."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.status"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <binding>
        <strength value="required"/>
        <description value="The current status of the task."/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/task-status"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.status, Event.status"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".statusCode"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="status"/>
      </mapping>
    </element>
    <element id="Task:daftask.statusReason">
      <path value="Task.statusReason"/>
      <short value="Reason for current status"/>
      <definition
                  value="An explanation as to why this task is held, failed, was refused, etc."/>
      <comments
                value="This applies to the current status.  Look at the history of the task to see reasons for past statuses."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.statusReason"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN, code=&quot;status change&quot;].reasonCode"/>
      </mapping>
    </element>
    <element id="Task:daftask.businessStatus">
      <path value="Task.businessStatus"/>
      <short value="E.g. &quot;Specimen collected&quot;, &quot;IV prepped&quot;"/>
      <definition
                  value="Contains business-specific nuances of the business state."/>
      <requirements
                    value="There&#39;s often a need to track substates of a task - this is often variable by specific workflow implementation."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.businessStatus"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <isSummary value="true"/>
      <binding>
        <strength value="example"/>
        <description
                     value="The domain-specific business-contextual sub-state of the task.  For example: &quot;Blood drawn&quot;, &quot;IV inserted&quot;, &quot;Awaiting physician signature&quot;, etc."/>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=&quot;business status&quot;]"/>
      </mapping>
    </element>
    <element id="Task:daftask.intent">
      <path value="Task.intent"/>
      <short value="proposed | planned | actionable +"/>
      <definition
                  value="Indicates the &quot;level&quot; of actionability associated with the Task.  I.e. Is this a proposed task, a planned task, an actionable task, etc."/>
      <comments
                value="This element is immutable.  Proposed tasks, planned tasks, etc. must be distinct instances.  In most cases, Tasks will have an intent of &quot;order&quot;."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.intent"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <isSummary value="true"/>
      <binding>
        <strength value="required"/>
        <description
                     value="Distinguishes whether the task is a proposal, plan or full order"/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/request-intent"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.intent"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".moodCode"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="class"/>
      </mapping>
    </element>
    <element id="Task:daftask.priority">
      <path value="Task.priority"/>
      <short value="normal | urgent | asap | stat"/>
      <definition
                  value="Indicates how quickly the Task should be addressed with respect to other requests."/>
      <requirements
                    value="Used to identify the service level expected while performing a task."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.priority"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <meaningWhenMissing
                          value="If missing, this task should be performed with normal priority"/>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <binding>
        <strength value="required"/>
        <description value="The task&#39;s priority"/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/request-priority"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.priority"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".priorityCode"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="grade"/>
      </mapping>
    </element>
    <element id="Task:daftask.code">
      <path value="Task.code"/>
      <short value="Task Type"/>
      <definition
                  value="A name or code (or both) briefly describing what the task involves."/>
      <comments
                value="The title (eg &quot;My Tasks&quot;, &quot;Outstanding Tasks for Patient X&quot;) should go into the code."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.code"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.code, Event.code"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".code"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="class"/>
      </mapping>
    </element>
    <element id="Task:daftask.description">
      <path value="Task.description"/>
      <short value="Human-readable explanation of task"/>
      <definition value="A free-text description of what is to be performed."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.description"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value=".text"/>
      </mapping>
    </element>
    <element id="Task:daftask.focus">
      <path value="Task.focus"/>
      <short value="What task is acting on"/>
      <definition
                  value="The request being actioned or the resource being manipulated by this task."/>
      <comments
                value="If multiple resources need to be manipulated, use sub-tasks.  (This ensures that status can be tracked independently for each referenced resource.)."/>
      <requirements value="Used to identify the thing to be done."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.focus"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value=".outboundRelationship[typeCode=SUBJ].target"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="what"/>
      </mapping>
    </element>
    <element id="Task:daftask.for">
      <path value="Task.for"/>
      <short value="Beneficiary of the Task"/>
      <definition
                  value="The entity who benefits from the performance of the service specified in the task (e.g., the patient)."/>
      <requirements
                    value="Used to track tasks outstanding for a beneficiary.  Do not use to track the task owner or creator (see owner and creator respectively).  This can also affect access control."/>
      <alias value="Patient"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.for"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.subject, Event.subject"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".participation[typeCode=RCT].role"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="who.focus"/>
      </mapping>
    </element>
    <element id="Task:daftask.context">
      <path value="Task.context"/>
      <short value="Healthcare event during which this task originated"/>
      <definition
                  value="The healthcare event  (e.g. a patient and healthcare provider interaction) during which this task was created."/>
      <requirements
                    value="For some tasks it may be important to know the link between the task or episode of care the task originated within."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.context"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Encounter"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.context, Event.context"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship[typeCode=COMP].source[classCode=PCPR, moodCode=EVN]"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="context"/>
      </mapping>
    </element>
    <element id="Task:daftask.executionPeriod">
      <path value="Task.executionPeriod"/>
      <short value="Start and end time of execution"/>
      <definition
                  value="Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.executionPeriod"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Period"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Event.occurrence[x]"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="when.done"/>
      </mapping>
    </element>
    <element id="Task:daftask.authoredOn">
      <path value="Task.authoredOn"/>
      <short value="Task Creation Date"/>
      <definition value="The date and time this task was created."/>
      <requirements
                    value="Most often used along with lastUpdated to track duration of task to supporting monitoring and management."/>
      <alias value="Created Date"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.authoredOn"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="dateTime"/>
      </type>
      <condition value="inv-1"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.authoredOn"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".participation[typeCode=AUT].time"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="when.recorded"/>
      </mapping>
    </element>
    <element id="Task:daftask.lastModified">
      <path value="Task.lastModified"/>
      <short value="Task Last Modified Date"/>
      <definition value="The date and time of last modification to this task."/>
      <requirements
                    value="Used along with history to track task activity and time in a particular task state.  This enables monitoring and management."/>
      <alias value="Update Date"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.lastModified"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="dateTime"/>
      </type>
      <condition value="inv-1"/>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship[typeCode=SUBJ, ].source[classCode=CACT, moodCode=EVN].effectiveTime"/>
      </mapping>
    </element>
    <element id="Task:daftask.requester">
      <path value="Task.requester"/>
      <short value="Who is asking for task to be done"/>
      <definition value="The creator of the task."/>
      <requirements
                    value="Identifies who created this task.  May be used by access control mechanisms (e.g., to ensure that only the creator can cancel a task)."/>
      <alias value="Initiator"/>
      <alias value="Author"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.requester"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="children().count() &gt; id.count()"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="Element"/>
      </constraint>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.requester"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".participation[typeCode=AUT].role"/>
      </mapping>
    </element>
    <element id="Task:daftask.requester.id">
      <path value="Task.requester.id"/>
      <representation value="xmlAttr"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Task:daftask.requester.extension">
      <path value="Task.requester.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="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Task:daftask.requester.modifierExtension">
      <path value="Task.requester.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="BackboneElement.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <isModifier value="true"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Task:daftask.requester.agent">
      <path value="Task.requester.agent"/>
      <short value="Individual asking for task"/>
      <definition value="The device, practitioner, etc. who initiated the task."/>
      <alias value="Initiator"/>
      <alias value="Author"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.requester.agent"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
      </type>
      <isSummary value="true"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.requester.agent"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".player"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="who.author"/>
      </mapping>
    </element>
    <element id="Task:daftask.requester.onBehalfOf">
      <path value="Task.requester.onBehalfOf"/>
      <short value="Organization individual is acting for"/>
      <definition
                  value="The organization the device or practitioner was acting on behalf of when they initiated the task."/>
      <requirements
                    value="Practitioners and Devices can be associated with multiple organizations.  This element indicates which organization they were acting on behalf of when authoring the request."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.requester.onBehalfOf"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.requester.onBehalfOf"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".scoper"/>
      </mapping>
    </element>
    <element id="Task:daftask.performerType">
      <path value="Task.performerType"/>
      <short
             value="requester | dispatcher | scheduler | performer | monitor | manager | acquirer | reviewer"/>
      <definition value="The type of participant that can execute the task."/>
      <requirements
                    value="Use to distinguish tasks on different activity queues."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task.performerType"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <binding>
        <strength value="preferred"/>
        <description value="The type(s) of task performers allowed"/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/task-performer-type"/>
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="workflow"/>
        <map value="Event.performer.role, Request.performerType"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".participation[typeCode=PRF].role.code"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="who.actor"/>
      </mapping>
    </element>
    <element id="Task:daftask.owner">
      <path value="Task.owner"/>
      <short value="Task Owner"/>
      <definition
                  value="The owner of this task.  The participant who can execute this task."/>
      <comments value="Tasks may be created with an owner not yet identified."/>
      <requirements value="Identifies who is expected to perform this task."/>
      <alias value="Performer"/>
      <alias value="Executer"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.owner"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Event.performer.actor, Request.performer"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".participation[typeCode=PRF].role"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="who.actor"/>
      </mapping>
    </element>
    <element id="Task:daftask.reason">
      <path value="Task.reason"/>
      <short value="Why task is needed"/>
      <definition
                  value="A description or code indicating why this task needs to be performed."/>
      <comments
                value="This should only be included if there is no focus or if it differs from the reason indicated on the focus."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.reason"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <binding>
        <strength value="example"/>
        <description
                     value="Indicates why the task is needed.  E.g. Suspended because patient admitted to hospital."/>
      </binding>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.reasonCode, Event.reasonCodeableConcept"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value=".reasonCode"/>
      </mapping>
      <mapping>
        <identity value="w5"/>
        <map value="why"/>
      </mapping>
    </element>
    <element id="Task:daftask.note">
      <path value="Task.note"/>
      <short value="Comments made about the task"/>
      <definition
                  value="Free-text information captured about the task as it progresses."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task.note"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Annotation"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.note, Event.note"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship[typeCode=SUBJ, ].source[classCode=OBS, moodCode=EVN, code=&quot;annotation&quot;].value(string)"/>
      </mapping>
    </element>
    <element id="Task:daftask.relevantHistory">
      <path value="Task.relevantHistory"/>
      <short value="Key events in history of the Task"/>
      <definition
                  value="Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task."/>
      <comments
                value="This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed.  The Provenance for the current version can be retrieved with a _revinclude."/>
      <alias value="Status History"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task.relevantHistory"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/Provenance"/>
      </type>
      <mapping>
        <identity value="workflow"/>
        <map value="Request.relevantHistory"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map
             value=".inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]"/>
      </mapping>
    </element>
    <element id="Task:daftask.restriction">
      <path value="Task.restriction"/>
      <short value="Constraints on fulfillment tasks"/>
      <definition
                  value="If the Task.focus is a request resource and the task is seeking fulfillment (i.e is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned."/>
      <requirements
                    value="Sometimes when fulfillment is sought, you don&#39;t want full fulfillment."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.restriction"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="children().count() &gt; id.count()"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="Element"/>
      </constraint>
      <mapping>
        <identity value="rim"/>
        <map
             value="Instead of pointing to request, would point to component of request, having these characteristics"/>
      </mapping>
    </element>
    <element id="Task:daftask.restriction.id">
      <path value="Task.restriction.id"/>
      <representation value="xmlAttr"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Task:daftask.restriction.extension">
      <path value="Task.restriction.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="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Task:daftask.restriction.modifierExtension">
      <path value="Task.restriction.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="BackboneElement.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <isModifier value="true"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Task:daftask.restriction.repetitions">
      <path value="Task.restriction.repetitions"/>
      <short value="How many times to repeat"/>
      <definition
                  value="Indicates the number of times the requested action should occur."/>
      <requirements
                    value="E.g. order that requests monthly lab tests, fulfillment is sought for 1."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.restriction.repetitions"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="positiveInt"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value=".repeatNumber"/>
      </mapping>
    </element>
    <element id="Task:daftask.restriction.period">
      <path value="Task.restriction.period"/>
      <short value="Over what time-period is fulfillment sought"/>
      <definition value="Over what time-period is fulfillment sought."/>
      <requirements
                    value="E.g. order that authorizes 1 year&#39;s services.  Fulfillment is sought for next 3 months."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Task.restriction.period"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Period"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value=".effectiveTime(IVL&lt;TS&gt;)"/>
      </mapping>
    </element>
    <element id="Task:daftask.restriction.recipient">
      <path value="Task.restriction.recipient"/>
      <short value="For whom is fulfillment sought?"/>
      <definition
                  value="For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought?"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task.restriction.recipient"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Group"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile
                       value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value=".participation[typeCode=SBJ].role"/>
      </mapping>
    </element>
    <element id="Task:daftask.input">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="Parameter"/>
      </extension>
      <path value="Task.input"/>
      <short value="Information used to perform task"/>
      <definition
                  value="Additional information that may be needed in the execution of the task."/>
      <requirements
                    value="Resources and data used to perform the task.  This data is used in the business logic of task execution, and is stored separately because it varies between workflows."/>
      <alias value="Supporting Information"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task.input"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="children().count() &gt; id.count()"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="Element"/>
      </constraint>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="???"/>
      </mapping>
    </element>
    <element id="Task:daftask.input.id">
      <path value="Task.input.id"/>
      <representation value="xmlAttr"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Task:daftask.input.extension">
      <path value="Task.input.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="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Task:daftask.input.modifierExtension">
      <path value="Task.input.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="BackboneElement.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <isModifier value="true"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Task:daftask.input.type">
      <path value="Task.input.type"/>
      <short value="Label for the input"/>
      <definition
                  value="A code or description indicating how the input is intended to be used as part of the task execution."/>
      <comments
                value="If referencing a BPMN workflow or Protocol, the &quot;system&quot; is the URL for the workflow definition and the code is the &quot;name&quot; of the required input."/>
      <requirements
                    value="Inputs are named to enable task automation to bind data and pass it from one task to the next."/>
      <alias value="Name"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.input.type"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <binding>
        <strength value="example"/>
        <description
                     value="Codes to identify types of input parameters.  These will typically be specific to a particular workflow.  E.g. &quot;Comparison source&quot;, &quot;Applicable consent&quot;, &quot;Concommitent Medications&quot;, etc."/>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map value="???"/>
      </mapping>
    </element>
    <element id="Task:daftask.input.value[x]">
      <path value="Task.input.value[x]"/>
      <short value="Content to use in performing the task"/>
      <definition value="The value of the input parameter as a basic type."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.input.value[x]"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="base64Binary"/>
      </type>
      <type>
        <code value="boolean"/>
      </type>
      <type>
        <code value="code"/>
      </type>
      <type>
        <code value="date"/>
      </type>
      <type>
        <code value="dateTime"/>
      </type>
      <type>
        <code value="decimal"/>
      </type>
      <type>
        <code value="id"/>
      </type>
      <type>
        <code value="instant"/>
      </type>
      <type>
        <code value="integer"/>
      </type>
      <type>
        <code value="markdown"/>
      </type>
      <type>
        <code value="oid"/>
      </type>
      <type>
        <code value="positiveInt"/>
      </type>
      <type>
        <code value="string"/>
      </type>
      <type>
        <code value="time"/>
      </type>
      <type>
        <code value="unsignedInt"/>
      </type>
      <type>
        <code value="uri"/>
      </type>
      <type>
        <code value="Address"/>
      </type>
      <type>
        <code value="Age"/>
      </type>
      <type>
        <code value="Annotation"/>
      </type>
      <type>
        <code value="Attachment"/>
      </type>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <type>
        <code value="Coding"/>
      </type>
      <type>
        <code value="ContactPoint"/>
      </type>
      <type>
        <code value="Count"/>
      </type>
      <type>
        <code value="Distance"/>
      </type>
      <type>
        <code value="Duration"/>
      </type>
      <type>
        <code value="HumanName"/>
      </type>
      <type>
        <code value="Identifier"/>
      </type>
      <type>
        <code value="Money"/>
      </type>
      <type>
        <code value="Period"/>
      </type>
      <type>
        <code value="Quantity"/>
      </type>
      <type>
        <code value="Range"/>
      </type>
      <type>
        <code value="Ratio"/>
      </type>
      <type>
        <code value="Reference"/>
      </type>
      <type>
        <code value="SampledData"/>
      </type>
      <type>
        <code value="Signature"/>
      </type>
      <type>
        <code value="Timing"/>
      </type>
      <type>
        <code value="Meta"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="???"/>
      </mapping>
    </element>
    <element id="Task:daftask.output">
      <path value="Task.output"/>
      <short value="Information produced as part of task"/>
      <definition value="Outputs produced by the Task."/>
      <requirements
                    value="Resources and data produced during the execution the task.  This data is generated by the business logic of task execution, and is stored separately because it varies between workflows."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Task.output"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="children().count() &gt; id.count()"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="Element"/>
      </constraint>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="???"/>
      </mapping>
    </element>
    <element id="Task:daftask.output.id">
      <path value="Task.output.id"/>
      <representation value="xmlAttr"/>
      <short value="xml:id (or equivalent in JSON)"/>
      <definition
                  value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Task:daftask.output.extension">
      <path value="Task.output.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="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Task:daftask.output.modifierExtension">
      <path value="Task.output.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="BackboneElement.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <isModifier value="true"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="Task:daftask.output.type">
      <path value="Task.output.type"/>
      <short value="Label for output"/>
      <definition value="The name of the Output parameter."/>
      <requirements
                    value="Outputs are named to enable task automation to bind data and pass it from one task to the next."/>
      <alias value="Name"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.output.type"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <binding>
        <strength value="example"/>
        <description
                     value="Codes to identify types of input parameters.  These will typically be specific to a particular workflow.  E.g. &quot;Identified issues&quot;, &quot;Preliminary results&quot;, &quot;Filler order&quot;, &quot;Final results&quot;, etc."/>
      </binding>
      <mapping>
        <identity value="rim"/>
        <map value="???"/>
      </mapping>
    </element>
    <element id="Task:daftask.output.value[x]">
      <path value="Task.output.value[x]"/>
      <short value="Result of output"/>
      <definition value="The value of the Output parameter as a basic type."/>
      <requirements value="Task outputs can take any form."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Task.output.value[x]"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="base64Binary"/>
      </type>
      <type>
        <code value="boolean"/>
      </type>
      <type>
        <code value="code"/>
      </type>
      <type>
        <code value="date"/>
      </type>
      <type>
        <code value="dateTime"/>
      </type>
      <type>
        <code value="decimal"/>
      </type>
      <type>
        <code value="id"/>
      </type>
      <type>
        <code value="instant"/>
      </type>
      <type>
        <code value="integer"/>
      </type>
      <type>
        <code value="markdown"/>
      </type>
      <type>
        <code value="oid"/>
      </type>
      <type>
        <code value="positiveInt"/>
      </type>
      <type>
        <code value="string"/>
      </type>
      <type>
        <code value="time"/>
      </type>
      <type>
        <code value="unsignedInt"/>
      </type>
      <type>
        <code value="uri"/>
      </type>
      <type>
        <code value="Address"/>
      </type>
      <type>
        <code value="Age"/>
      </type>
      <type>
        <code value="Annotation"/>
      </type>
      <type>
        <code value="Attachment"/>
      </type>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <type>
        <code value="Coding"/>
      </type>
      <type>
        <code value="ContactPoint"/>
      </type>
      <type>
        <code value="Count"/>
      </type>
      <type>
        <code value="Distance"/>
      </type>
      <type>
        <code value="Duration"/>
      </type>
      <type>
        <code value="HumanName"/>
      </type>
      <type>
        <code value="Identifier"/>
      </type>
      <type>
        <code value="Money"/>
      </type>
      <type>
        <code value="Period"/>
      </type>
      <type>
        <code value="Quantity"/>
      </type>
      <type>
        <code value="Range"/>
      </type>
      <type>
        <code value="Ratio"/>
      </type>
      <type>
        <code value="Reference"/>
      </type>
      <type>
        <code value="SampledData"/>
      </type>
      <type>
        <code value="Signature"/>
      </type>
      <type>
        <code value="Timing"/>
      </type>
      <type>
        <code value="Meta"/>
      </type>
      <mustSupport value="true"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="???"/>
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element id="Task:daftask">
      <path value="Task"/>
      <sliceName value="DAFTask"/>
      <mustSupport value="false"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.identifier">
      <path value="Task.identifier"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.requisition">
      <path value="Task.requisition"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.parent">
      <path value="Task.parent"/>
      <min value="0"/>
      <max value="*"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.status">
      <path value="Task.status"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.code">
      <path value="Task.code"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.priority">
      <path value="Task.priority"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.description">
      <path value="Task.description"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.created">
      <path value="Task.created"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.lastModified">
      <path value="Task.lastModified"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.requester">
      <path value="Task.requester"/>
      <alias value="Initiator"/>
      <alias value="Author"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.owner">
      <path value="Task.owner"/>
      <alias value="Performer"/>
      <alias value="Executer"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.reason">
      <path value="Task.reason"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.note">
      <path value="Task.note"/>
      <min value="0"/>
      <max value="*"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.fulfillment">
      <path value="Task.fulfillment"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.fulfillment.repetitions">
      <path value="Task.fulfillment.repetitions"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.fulfillment.period">
      <path value="Task.fulfillment.period"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.fulfillment.recipients">
      <path value="Task.fulfillment.recipients"/>
      <min value="0"/>
      <max value="*"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.definition">
      <path value="Task.definition"/>
      <min value="0"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.input">
      <path value="Task.input"/>
      <min value="0"/>
      <max value="*"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.input.type">
      <path value="Task.input.type"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.input.value[x]">
      <path value="Task.input.value[x]"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.output">
      <path value="Task.output"/>
      <min value="0"/>
      <max value="*"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.output.type">
      <path value="Task.output.type"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="Task:daftask.output.value[x]">
      <path value="Task.output.value[x]"/>
      <min value="1"/>
      <max value="1"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
  </differential>
</StructureDefinition>