### ----------------------------------------------------
### -- FHIR
### -- Licenses: Artistic-2.0
### -- Authors: Hugh Simpson
### -- File: t/resources/structureDefinition/Task.json
### ----------------------------------------------------
### -- Chunk 9 of 10
 that are targeted to more than on potential recipient/target, for whom is fulfillment sought?",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Task.restriction.recipient",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Patient",
        "http://hl7.org/fhir/StructureDefinition/Practitioner",
        "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
        "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
        "http://hl7.org/fhir/StructureDefinition/Group",
        "http://hl7.org/fhir/StructureDefinition/Organization"]
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : ".participation[typeCode=SBJ].role"
      }]
    },
    {
      "id" : "Task.input",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
        "valueString" : "Parameter"
      }],
      "path" : "Task.input",
      "short" : "Information used to perform task",
      "definition" : "Additional information that may be needed in the execution of the task.",
      "requirements" : "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" : ["Supporting Information"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Task.input",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "???"
      }]
    },
    {
      "id" : "Task.input.id",
      "path" : "Task.input.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "Task.input.extension",
      "path" : "Task.input.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "Task.input.modifierExtension",
      "path" : "Task.input.modifierExtension",
      "short" : "Extensions that cannot be ignored even if unrecognized",
      "definition" : "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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content",
      "modifiers"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "BackboneElement.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
      "isSummary" : true,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "Task.input.type",
      "path" : "Task.input.type",
      "short" : "Label for the input",
      "definition" : "A code or description indicating how the input is intended to be used as part of the task execution.",
      "comment" : "If referencing a BPMN workflow or Protocol, the \"system\" is the URL for the workflow definition and the code is the \"name\" of the required input.",
      "requirements" : "Inputs are named to enable task automation to bind data and pass it from one task to the next.",
      "alias" : ["Name"],
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "Task.input.type",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TaskInputParameterType"
        }],
        "strength" : "example",
        "description" : "Codes to identify types of input parameters.  These will typically be specific to a particular workflow.  E.g. \"Comparison source\", \"Applicable consent\", \"Concomitent Medications\", etc."
      },
      "mapping" : [{
        "identity" : "rim",
        "map" : "???"
      }]
    },
    {
      "id" : "Task.input.value[x]",
      "path" : "Task.input.value[x]",
      "short" : "Content to use in performing the task",
      "definition" : "The value of the input parameter as a basic type.",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "Task.input.value[x]",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "base64Binary"
      },
      {
        "code" : "boolean"
      },
      {
        "code" : "canonical"
      },
      {
        "code" : "code"
      },
      {
        "code" : "date"
      },
      {
        "code" : "dateTime"
      },
      {
        "code" : "decimal"
      },
      {
        "code" : "id"
      },
      {
        "code" : "instant"
      },
      {
        "code" : "integer"
      },
      {
        "code" : "markdown"
      },
      {
        "code" : "oid"
      },
      {
        "code" : "positiveInt"
      },
      {
        "code" : "string"
      },
      {
        "code" : "time"
      },
      {
        "code" : "unsignedInt"
      },
      {
        "code" : "uri"
      },
      {
        "code" : "url"
      },
      {
        "code" : "uuid"
      },
      {
        "code" : "Address"
      },
      {
        "code" : "Age"
      },
      {
        "code" : "Annotation"
      },
      {
        "code" : "Attachment"
      },
      {
        "code" : "CodeableConcept"
      },
      {
        "code" : "Coding"
      },
      {
        "code" : "ContactPoint"
      },
      {
        "code" : "Count"
      },
      {
        "code" : "Distance"
      },
      {
        "code" : "Duration"
      },
      {
        "code" : "HumanName"
      },
      {
        "code" : "Identifier"
      },
      {
        "code" : "Money"
      },
      {
        "code" : "Period"
      },
      {
        "code" : "Quantity"
      },
      {
        "code" : "Range"
      },
      {
        "code" : "Ratio"
      },
      {
        "code" : "Reference"
      },
      {
        "code" : "SampledData"
      },
      {
        "code" : "Signature"
      },
      {
        "code" : "Timing"
      },
      {
        "code" : "ContactDetail"
      },
      {
        "code" : "Contributor"
      },
      {
        "code" : "DataRequirement"
      },
      {
        "code" : "Expression"
      },
      {
        "code" : "ParameterDefinition"
      },
      {
        "code" : "RelatedArtifact"
      },
      {
        "code" : "TriggerDefinition"
      },
      {
        "code" : "UsageContext"
      },
      {
        "code" : "Dosage"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "???"
      }]
    },
    {
      "id" : "Task.output",
      "path" : "Task.output",
      "short" : "Information produced as part of task",
      "definition" : "Outputs produced by the Task.",
      "requirements" : "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" : 0,
      "max" : "*",
      "base" : {
        "path" : "Task.output",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "???"
      }]
    },
    {
      "id" : "Task.output.id",
      "path" : "Task.output.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "Task.output.extension",
      "path" : "Task.output.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "Task.output.modifierExtension",
      "path" : "Task.output.modifierExtension",
      "short" : "Extensions that cannot be ignored even if unrecognized",
      "definition" : "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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content",
      "modifiers"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "BackboneElement.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
      "isSummary" : true,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "Task.output.type",
      "path" : "Task.output.type",
      "short" : "Label for output",
      "definition" : "The name of the Output parameter.",
      "requirements" : "Outputs are named to enable task automation to bind data and pass it from one task to the next.",
      "alias" : ["Name"],
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "Task.output.type",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TaskOutputParameterType"
        }],
        "strength" : "example",
        "description" : "Codes to identify types of input parameters.  These will typically be specific to a particular workflow.  E.g. \"Identified issues\", \"Preliminary results\", \"Filler order\", \"Final results\", etc."
      },
      "mapping" : [{
        "identity" : "rim",
        "map" : "???"
      }]
    },
    {
      "id" : "Task.output.value[x]",
      "path" : "Task.output.value[x]",
      "short" : "Result of output",
      "definition" : "The value of the Output parameter as a basic type.",
      "requirements" : "Task outputs can take any form.",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "Task.output.value[x]",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "base64Binary"
      },
      {
        "code" : "boolean"
      },
      {
        "code" : "canonical"
      },
      {
        "code" : "code"
      },
      {
        "code" : "date"
      },
      {
        "code" : "dateTime"
      },
      {
        "code" : "decimal"
      },
      {
        "code" : "id"
      },
      {
        "code" : "instant"
      },
      {
        "code" : "integer"
      },
      {
        "code" : "markdown"
      },
      {
        "code" : "oid"
      },
      {
        "code" : "positiveInt"
      },
      {
        "code" : "string"
      },
      {
        "code" : "time"
      },
      {
        "code" : "unsignedInt"
      },
      {
        "code" : "uri"
      },
      {
        "code" : "url"
      },
      {
        "code" : "uuid"
      },
      {
        "code" : "Address"
      },
      {
        "code" : "Age"
      },
      {
        "code" : "Annotation"
      },
      {
        "code" : "Attachment"
      },
      {
        "code" : "CodeableConcept"
      },
      {
        "code" : "Coding"
      },
      {
        "code" : "ContactPoint"
      },
      {
        "code" : "Count"
      },
      {
        "code" : "Distance"
      },
      {
        "code" : "Duration"
      },
      {
        "code" : "HumanName"
      },
      {
        "code" : "Identifier"
      },
      {
        "code" : "Money"
      },
      {
        "code" : "Period"
      },
      {
        "code" : "Quantity"
      },
      {
        "code" : "Range"
      },
      {
        "code" : "Ratio"
      },
      {
        "code" : "Reference"
      },
      {
        "code" : "SampledData"
      },
      {
        "code" : "Signature"
      },
      {
        "code" : "Timing"
      },
      {
        "code" : "ContactDetail"
      },
      {
        "code" : "Contributor"
      },
      {
        "code" : "DataRequirement"
      },
      {
        "code" : "Expression"
      },
      {
        "code" : "ParameterDefinition"
      },
      {
        "code" : "RelatedArtifact"
      },
      {
        "code" : "TriggerDefinition"
      },
      {
        "code" : "UsageContext"
      },
      {
        "code" : "Dosage"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "???"
      }]
    }]
  },
  "differential" : {
    "element" : [{
      "id" : "Task",
      "path" : "Task",
      "short" : "A task to be performed",
      "definition" : "A task to be performed.",
      "min" : 0,
      "max" : "*",
      "constraint" : [{
        "key" : "inv-1",
        "severity" : "error",
        "human" : "Last modified date must be greater than or equal to authored-on date.",
        "expression" : "lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn",
        "xpath" : "not(exists(f:lastModified/@value)) or not(exists(f:authoredOn/@value)) or f:lastModified/@value >= f:authoredOn/@value"
      }],
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Request, Event"
      },
      {
        "identity" : "rim",
        "map" : "ControlAct[moodCode=INT]"
      }]
    },
    {
      "id" : "Task.identifier",
      "path" : "Task.identifier",
      "short" : "Task Instance Identifier",
      "definition" : "The business identifier for this task.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Identifier"
      }],
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Request.identifier, Event.identifier"
      },
      {
        "identity" : "w5",
        "map" : "FiveWs.identifier"
      },
      {
        "identity" : "rim",
        "map" : ".id"
      }]
    },
    {
      "id" : "Task.instantiatesCanonical",
      "path" : "Task.instantiatesCanonical",
      "short" : "Formal definition of task",
      "definition" : "The URL pointing to a *FHIR*-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task.",
      "requirements" : "Enables a formal definition of how he task is to be performed, enabling automation.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "canonical",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/ActivityDefinition"]
      }],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Request.instantiatesCanonical, Event.instantiatesCanonical"
      },
      {
        "identity" : "rim",
        "map" : ".outboundRelationship[typeCode=DEFN].target"
      }]
    },
    {
      "id" : "Task.instantiatesUri",
      "path" : "Task.instantiatesUri",
      "short" : "Formal definition of task",
      "definition" : "The URL pointing to an *externally* maintained  protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task.",
      "requirements" : "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" : 0,
      "max" : "1",
      "type" : [{
        "code" : "uri"
      }],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Event.instantiatesUrl"
      },
      {
        "identity" : "rim",
        "map" : ".outboundRelationship[typeCode=DEFN].target"
      }]
    },
    {
      "id" : "Task.basedOn",
      "path" : "Task.basedOn",
      "short" : "Request fulfilled by this task",
      "definition" : "BasedOn refers to a higher-level authorization that triggered the creation of the task.  It references a \"request\" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfill.  This latter resource is referenced by FocusOn.  For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Resource"]
      }],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Request.basedOn, Event.basedOn"
      },
      {
        "identity" : "rim",
        "map" : ".outboundRelationship[typeCode=FLFS].target[moodCode=INT]"
      }]
    },
    {
      "id" : "Task.groupIdentifier",
      "path" : "Task.groupIdentifier",
      "short" : "Requisition or grouper id",
      "definition" : "An identifier that links together multiple tasks and other requests that were created in the same context.",
      "requirements" : "Billing and/or reporting can be linked to whether multiple requests were created as a single unit.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Identifier"
      }],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Request.groupIdentifier"
      },
      {
        "identity" : "rim",
        "map" : ".inboundRelationship[typeCode=COMP].source[moodCode=INT].id"
      }]
    },
    {
      "id" : "Task.partOf",
      "path" : "Task.partOf",
      "short" : "Composite task",
      "definition" : "Task that this particular task is part of.",
      "comment" : "This should usually be 0..1.",
      "requirements" : "Allows tasks to be broken down into sub-steps (and this division can occur independent of the original task).",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Task"]
      }],
      "isSummary" : true,
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Event.partOf"
      },
      {
        "identity" : "rim",
        "map" : ".inboundRelationship[typeCode=COMP].source[moodCode=INT]"
      }]
    },
    {
      "id" : "Task.status",
      "path" : "Task.status",
      "short" : "draft | requested | received | accepted | +",
      "definition" : "The current status of the task.",
      "requirements" : "These states enable coordination of task status with off-the-shelf workflow solutions that support automation of tasks.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "code"
      }],
      "isModifier" : true,
      "isModifierReason" : "This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid",
      "isSummary" : true,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TaskStatus"
        }],
        "strength" : "required",
        "description" : "The current status of the task.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/task-status|4.0.0"
      },
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Request.status, Event.status"
      },
      {
        "identity" : "w5",
        "map" : "FiveWs.status"
      },
      {
        "identity" : "rim",
        "map" : ".statusCode"
      }]
    },
    {
      "id" : "Task.statusReason",
      "path" : "Task.statusReason",
      "short" : "Reason for current status",
      "definition" : "An explanation as to why this task is held, failed, was refused, etc.",
      "comment" : "This applies to the current status.  Look at the history of the task to see reasons for past statuses.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "isSummary" : true,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TaskStatusReason"
        }],
        "strength" : "example",
        "description" : "Codes to identify the reason for current status.  These will typically be specific to a particular workflow."
      },
      "mapping" : [{
        "identity" : "rim",
        "map" : ".inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN, code=\"status change\"].reasonCode"
      }]
    },
    {
      "id" : "Task.businessStatus",
      "path" : "Task.businessStatus",
      "short" : "E.g. \"Specimen collected\", \"IV prepped\"",
      "definition" : "Contains business-specific nuances of the business state.",
      "requirements" : "There's often a need to track substates of a task - this is often variable by specific workflow implementation.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "isSummary" : true,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TaskBusinessStatus"
        }],
        "strength" : "example",
        "description" : "The domain-specific business-contextual sub-state of the task.  For example: \"Blood drawn\", \"IV inserted\", \"Awaiting physician signature\", etc."
      },
      "mapping" : [{
        "identity" : "rim",
        "map" : ".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"business status\"]"
      }]
    },
    {
      "id" : "Task.intent",
      "path" : "Task.intent",
      "short" : "unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option",
      "definition" : "Indicates the \"level\" of actionability associated with the Task, i.e. i+R[9]Cs this a proposed task, a planned task, an actionable task, etc.",
      "comment" : "This element is immutable.  Proposed tasks, planned tasks, etc. must be distinct instances.\n\nIn most cases, Tasks will have an intent of \"order\".",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "code"
      }],
      "isSummary" : true,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TaskIntent"
        }],
        "strength" : "required",
        "description" : "Distinguishes whether the task is a proposal, plan or full order.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/task-intent|4.0.0"
      },
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Request.intent"
      },
      {
        "identity" : "w5",
        "map" : "FiveWs.class"
      },
      {
        "identity" : "rim",
        "map" : ".moodCode"
      }]
    },
    {
      "id" : "Task.priority",
      "path" : "Task.priority",
      "short" : "routine | urgent | asap | stat",
      "definition" : "Indicates how quickly the Task should be addressed with respect to other requests.",
      "requirements" : "Used to identify the service level expected while performing a task.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "code"
      }],
      "meaningWhenMissing" : "If missing, this task should be performed with normal priority",
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TaskPriority"
        }],
        "strength" : "required",
        "description" : "The task's priority.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/request-priority|4.0.0"
      },
      "mapping" : [{
        "identity" : "workflow",
        "map" : "Request.priority"
      },
      {
        "identity" : "w5",
        "map" : "FiveWs.grade"
      },
      {
        "identity" : "rim",
        "map" : ".priorityCode"
      }]
    },
    {
      "id" : "Task.code",
      "path" : "Task.code",
      "short" : "Task Type",
      "definition" : "A name or code (or both) briefly describing what the task involves.",
      "comment" : "The title (eg \"My Tasks\", \"Outstanding Tasks for Patient X\") should go into the code.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "isSummary" : true,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "TaskCode"
        }],
        "strength" : "example",
        "description" : "Codes to identify what the task involves.  These will typically be specific to a particular workflow.",
        "value