GP Connect Data Model | FHIR STU3 Representation

This version is in draft and is currently being migrated from the GP Connect Access Record: Structured specification

Profile: GPConnect-Task-1

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifier0..*Identifier
definitionUriuri
definitionReferenceReference(ActivityDefinition)
basedOnΣ I0..*Reference(Resource | GPConnect-Task-1)
groupIdentifierΣ0..1Identifier
partOfΣ I0..*Reference(Task | GPConnect-Task-1)
statusΣ1..1codeBinding
statusReasonΣ0..1CodeableConcept
businessStatusΣ0..1CodeableConcept
intentΣ1..1codeBinding
priority0..1codeBinding
codeΣ0..1CodeableConcept
descriptionΣ0..1string
focusΣ I0..1Reference(Resource | GPConnect-Task-1)
forΣ I0..1Reference(Resource | GPConnect-Task-1)
contextΣ I0..1Reference(CareConnect-Encounter-1 | EpisodeOfCare)
executionPeriodΣ I0..1Period
authoredOnI0..1dateTime
lastModifiedΣ I0..1dateTime
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
onBehalfOfI0..1Reference(Organization)
performerType0..*CodeableConceptBinding
ownerΣ I0..1Reference(ITK-Device-1 | CareConnect-Organization-1 | CareConnect-Patient-1 | CareConnect-Practitioner-1 | RelatedPerson)
reason0..1CodeableConcept
note0..*Annotation
relevantHistoryI0..*Reference(Provenance)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
repetitions0..1positiveInt
periodI0..1Period
recipientI0..*Reference(CareConnect-Patient-1 | CareConnect-Practitioner-1 | RelatedPerson | Group | CareConnect-Organization-1)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
valueBase64Binarybase64Binary
valueBooleanboolean
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueMetaMeta
valueReferenceReference( | GPConnect-Task-1)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
valueBase64Binarybase64Binary
valueBooleanboolean
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueMetaMeta
valueReferenceReference()
Task
DefinitionA task to be performed.
Cardinality0...*
Invariants
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • inv-1: Last modified date must be greater than or equal to authored-on date.
    lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
Mappings
  • rim: Entity. Role, or Act
  • workflow: Request, Event
  • rim: ControlAct[moodCode=INT]
  • w5: workflow.order
Task.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Task.meta
DefinitionThe 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.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Task.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

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.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Task.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding
A human language.
Common Languages (extensible)
Comments

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).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Task.text
DefinitionA 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 "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

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 "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: Act.text?
Task.contained
DefinitionThese 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.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

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.

Mappings
  • rim: Entity. Role, or Act
  • rim: N/A
Task.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.identifier
DefinitionThe business identifier for this task.
Cardinality0...*
TypeIdentifier
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Request.identifier, Event.identifier
  • rim: .id
  • w5: id
Task.definition[x]
DefinitionA reference to a formal or informal definition of the task. For example, a protocol, a step within a defined workflow definition, etc.
Cardinality0...1
TypeReference(ActivityDefinition), uri
SummaryTrue
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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Request.definition, Event.definition
  • rim: .outboundRelationship[typeCode=DEFN].target
Task.basedOn
DefinitionBasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ProcedureRequest, MedicationRequest, ProcedureRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfil. This latter resource is referenced by FocusOn. For example, based on a ProcedureRequest (= BasedOn), a task is created to fulfil a procedureRequest ( = FocusOn ) to collect a specimen from a patient.
Cardinality0...*
TypeReference(Resource | GPConnect-Task-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Request.basedOn, Definition.basedOn
  • rim: .outboundRelationship[typeCode=FLFS].target[moodCode=INT]
Task.groupIdentifier
DefinitionAn identifier that links together multiple tasks and other requests that were created in the same context.
Cardinality0...1
TypeIdentifier
SummaryTrue
Requirements

Billing and/or reporting can be linked to whether multiple requests were created as a single unit.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Request.groupIdentifier
  • rim: .inboundRelationship[typeCode=COMP].source[moodCode=INT].id
Task.partOf
DefinitionTask that this particular task is part of.
Cardinality0...*
TypeReference(Task | GPConnect-Task-1)
SummaryTrue
Requirements

Allows tasks to be broken down into sub-steps (and this division can occur independent of the original task).

Comments

This should usually be 0..1.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.partOf
  • rim: .inboundRelationship[typeCode=COMP].source[moodCode=INT]
Task.status
DefinitionThe current status of the task.
Cardinality1...1
Typecode
Binding
The current status of the task.
TaskStatus (required)
SummaryTrue
Requirements

These states enable coordination of task status with off-the-shelf workflow solutions that support automation of tasks.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Request.status, Event.status
  • rim: .statusCode
  • w5: status
Task.statusReason
DefinitionAn explanation as to why this task is held, failed, was refused, etc.
Cardinality0...1
TypeCodeableConcept
Binding
Codes to identify the reason for current status. These will typically be specific to a particular workflow.
(unbound) (example)
SummaryTrue
Comments

This applies to the current status. Look at the history of the task to see reasons for past statuses.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: .inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN, code="status change"].reasonCode
Task.businessStatus
DefinitionContains business-specific nuances of the business state.
Cardinality0...1
TypeCodeableConcept
Binding
The domain-specific business-contextual sub-state of the task. For example: "Blood drawn", "IV inserted", "Awaiting physician signature", etc.
(unbound) (example)
SummaryTrue
Requirements

There's often a need to track substates of a task - this is often variable by specific workflow implementation.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: .inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="business status"]
Task.intent
DefinitionIndicates the "level" of actionability associated with the Task. I.e. Is this a proposed task, a planned task, an actionable task, etc.
Cardinality1...1
Typecode
Binding
Distinguishes whether the task is a proposal, plan or full order
RequestIntent (required)
SummaryTrue
Comments

This element is immutable. Proposed tasks, planned tasks, etc. must be distinct instances.

In most cases, Tasks will have an intent of "order".

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Request.intent
  • rim: .moodCode
  • w5: class
Task.priority
DefinitionIndicates how quickly the Task should be addressed with respect to other requests.
Cardinality0...1
Typecode
Binding
The task's priority
RequestPriority (required)
Requirements

Used to identify the service level expected while performing a task.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Request.priority
  • rim: .priorityCode
  • w5: grade
Task.code
DefinitionA name or code (or both) briefly describing what the task involves.
Cardinality0...1
TypeCodeableConcept
Binding
Codes to identify what the task involves. These will typically be specific to a particular workflow.
(unbound) (example)
SummaryTrue
Comments

The title (eg "My Tasks", "Outstanding Tasks for Patient X") should go into the code.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Request.code, Event.code
  • rim: .code
  • w5: what
Task.description
DefinitionA free-text description of what is to be performed.
Cardinality0...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .text
Task.focus
DefinitionThe request being actioned or the resource being manipulated by this task.
Cardinality0...1
TypeReference(Resource | GPConnect-Task-1)
SummaryTrue
Requirements

Used to identify the thing to be done.

Comments

If multiple resources need to be manipulated, use sub-tasks. (This ensures that status can be tracked independently for each referenced resource.).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .outboundRelationship[typeCode=SUBJ].target
  • w5: what
Task.for
DefinitionThe entity who benefits from the performance of the service specified in the task (e.g., the patient).
Cardinality0...1
TypeReference(Resource | GPConnect-Task-1)
SummaryTrue
AliasPatient
Requirements

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.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Request.subject, Event.subject
  • rim: .participation[typeCode=RCT].role
  • w5: who.focus
Task.context
DefinitionThe healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created.
Cardinality0...1
TypeReference(CareConnect-Encounter-1 | EpisodeOfCare)
SummaryTrue
Requirements

For some tasks it may be important to know the link between the task or episode of care the task originated within.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Request.context, Event.context
  • rim: .inboundRelationship[typeCode=COMP].source[classCode=PCPR, moodCode=EVN]
  • w5: context
Task.executionPeriod
DefinitionIdentifies 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).
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • workflow: Event.occurrence[x]
  • rim: .effectiveTime
  • w5: when.done
Task.authoredOn
DefinitionThe date and time this task was created.
Cardinality0...1
TypedateTime
AliasCreated Date
Requirements

Most often used along with lastUpdated to track duration of task to supporting monitoring and management.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Request.authoredOn
  • rim: .participation[typeCode=AUT].time
  • w5: when.recorded
Task.lastModified
DefinitionThe date and time of last modification to this task.
Cardinality0...1
TypedateTime
SummaryTrue
AliasUpdate Date
Requirements

Used along with history to track task activity and time in a particular task state. This enables monitoring and management.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .inboundRelationship[typeCode=SUBJ, ].source[classCode=CACT, moodCode=EVN].effectiveTime
Task.requester
DefinitionThe creator of the task.
Cardinality1...1
TypeBackboneElement
SummaryTrue
Requirements

Identifies who created this task. May be used by access control mechanisms (e.g., to ensure that only the creator can cancel a task).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Request.requester
  • rim: .participation[typeCode=AUT].role
Task.requester.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Task.requester.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.requester.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.requester.agent
DefinitionThe device, practitioner, etc. who initiated the task.
Cardinality1...1
TypeReference(ITK-Device-1 | CareConnect-Organization-1 | CareConnect-Patient-1 | CareConnect-Practitioner-1 | RelatedPerson)
SummaryTrue
AliasInitiator, Author
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Request.requester.agent
  • rim: .player
  • w5: who.author
Task.requester.agent.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Task.requester.agent.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.requester.agent.reference
DefinitionA reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
Cardinality1...1
Typestring
SummaryTrue
Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Task.requester.agent.identifier
DefinitionAn identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
Cardinality0...1
TypeIdentifier
SummaryTrue
Comments

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • rim: .identifier
Task.requester.agent.display
DefinitionPlain text narrative that identifies the resource in addition to the resource reference.
Cardinality0...1
Typestring
SummaryTrue
Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Task.requester.onBehalfOf
DefinitionThe organization the device or practitioner was acting on behalf of when they initiated the task.
Cardinality0...1
TypeReference(Organization)
Requirements

Practitioners and Devices can be associated with multiple organizations. This element indicates which organization they were acting on behalf of when authoring the request.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Request.requester.onBehalfOf
  • rim: .scoper
Task.performerType
DefinitionThe type of participant that can execute the task.
Cardinality0...*
TypeCodeableConcept
Binding
The type(s) of task performers allowed
TaskPerformerType (preferred)
Requirements

Use to distinguish tasks on different activity queues.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.performer.role, Request.performerType
  • rim: .participation[typeCode=PRF].role.code
  • w5: who.actor
Task.owner
DefinitionIndividual organization or Device currently responsible for task execution.
Cardinality0...1
TypeReference(ITK-Device-1 | CareConnect-Organization-1 | CareConnect-Patient-1 | CareConnect-Practitioner-1 | RelatedPerson)
SummaryTrue
AliasPerformer, Executer
Requirements

Identifies who is expected to perform this task.

Comments

Tasks may be created with an owner not yet identified.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.performer.actor, Request.performer
  • rim: .participation[typeCode=PRF].role
  • w5: who.actor
Task.reason
DefinitionA description or code indicating why this task needs to be performed.
Cardinality0...1
TypeCodeableConcept
Binding
Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
(unbound) (example)
Comments

This should only be included if there is no focus or if it differs from the reason indicated on the focus.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Request.reasonCode, Event.reasonCodeableConcept
  • rim: .reasonCode
  • w5: why
Task.note
DefinitionFree-text information captured about the task as it progresses.
Cardinality0...*
TypeAnnotation
Comments

For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: N/A
  • rim: Act
  • workflow: Request.note, Event.note
  • rim: .inboundRelationship[typeCode=SUBJ, ].source[classCode=OBS, moodCode=EVN, code="annotation"].value(string)
Task.relevantHistory
DefinitionLinks 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.
Cardinality0...*
TypeReference(Provenance)
AliasStatus History
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Request.relevantHistory
  • rim: .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]
Task.restriction
DefinitionIf 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.
Cardinality0...1
TypeBackboneElement
Requirements

Sometimes when fulfillment is sought, you don't want full fulfillment.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: Instead of pointing to request, would point to component of request, having these characteristics
Task.restriction.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Task.restriction.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.restriction.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.restriction.repetitions
DefinitionIndicates the number of times the requested action should occur.
Cardinality0...1
TypepositiveInt
Requirements

E.g. order that requests monthly lab tests, fulfillment is sought for 1.

Comments

32 bit number; for values larger than this, use decimal

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .repeatNumber
Task.restriction.period
DefinitionOver what time-period is fulfillment sought.
Cardinality0...1
TypePeriod
Requirements

E.g. order that authorizes 1 year's services. Fulfillment is sought for next 3 months.

Comments

Note that period.high is the due date representing the time by which the task should be completed.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim: .effectiveTime(IVL<TS>)
Task.restriction.recipient
DefinitionFor requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought?
Cardinality0...*
TypeReference(CareConnect-Patient-1 | CareConnect-Practitioner-1 | RelatedPerson | Group | CareConnect-Organization-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .participation[typeCode=SBJ].role
Task.input
DefinitionAdditional information that may be needed in the execution of the task.
Cardinality1...*
TypeBackboneElement
AliasSupporting Information
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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: ???
Task.input.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Task.input.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.input.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.input.type
DefinitionA code or description indicating how the input is intended to be used as part of the task execution.
Cardinality1...1
TypeCodeableConcept
Binding
Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concommitent Medications", etc.
(unbound) (example)
AliasName
Requirements

Inputs are named to enable task automation to bind data and pass it from one task to the next.

Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: ???
Task.input.value[x]
DefinitionThe value of the input parameter as a basic type.
Cardinality1...1
TypeReference( | GPConnect-Task-1), base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, SampledData, Signature, Timing, Meta
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: ???
Task.output
DefinitionOutputs produced by the Task.
Cardinality0...*
TypeBackboneElement
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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: ???
Task.output.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Task.output.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.output.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Task.output.type
DefinitionThe name of the Output parameter.
Cardinality1...1
TypeCodeableConcept
Binding
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.
(unbound) (example)
AliasName
Requirements

Outputs are named to enable task automation to bind data and pass it from one task to the next.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: ???
Task.output.value[x]
DefinitionThe value of the Output parameter as a basic type.
Cardinality1...1
TypeReference(), base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, SampledData, Signature, Timing, Meta
Requirements

Task outputs can take any form.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: ???
<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="Task" />
    <meta>
        <lastUpdated value="2018-09-19T14:43:13.128+01:00" />
    </meta>
    <url value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
    <version value="1.2.0" />
    <name value="GPConnect-Task-1" />
    <title value="GP Connect Task" />
    <status value="draft" />
    <date value="2019-11-04" />
    <publisher value="NHS Digital" />
    <contact>
        <name value="Interoperability Team" />
        <telecom>
            <system value="email" />
            <value value="interoperabilityteam@nhs.net" />
            <use value="work" />
        </telecom>
    </contact>
    <description value="The task profile describes an activity that can be performed and tracks the state of completion of that activity.  It is a representation that an activity should be or has been initiated, and eventually, represents the successful or unsuccessful completion of that activity." />
    <purpose value="The Task profile is used here to describe the intent of the message - to request that a task be created in the target organisation to review and perform an update." />
    <copyright value="Copyright &#169; 2019 Health and Social Care Information Centre.  NHS Digital is the trading name of the Health and Social Care Information Centre." />
    <fhirVersion value="3.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="Task" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Task" />
    <derivation value="constraint" />
    <snapshot>
        <element id="Task">
            <path value="Task" />
            <short value="A task to be performed" />
            <definition value="A task to be performed." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Resource" />
                <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)" />
            </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)" />
            </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))" />
            </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))]))" />
            </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.exists().not() or authoredOn.exists().not() or lastModified &gt;= authoredOn" />
                <xpath value="not(exists(f:lastModified/@value)) or not(exists(f:authoredOn/@value)) or f:lastModified/@value &gt;= f:authoredOn/@value" />
            </constraint>
            <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.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it&#39;s meaning or interpretation." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Resource.implicitRules" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.language">
            <path value="Task.language" />
            <short value="Language of the resource content" />
            <definition value="The base language in which the resource is written." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
                    <valueReference>
                        <reference value="http://hl7.org/fhir/ValueSet/all-languages" />
                    </valueReference>
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="Language" />
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
                    <valueBoolean value="true" />
                </extension>
                <strength value="extensible" />
                <description value="A human language." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/languages" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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="ele-1" />
            <condition value="dom-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Act.text?" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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="Entity. Role, or Act" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.extension">
            <path value="Task.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.modifierExtension">
            <path value="Task.modifierExtension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.identifier">
            <path value="Task.identifier" />
            <short value="Task Instance Identifier" />
            <definition value="The business identifier for this task." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Task.identifier" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <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.identifier.id">
            <path value="Task.identifier.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.identifier.extension">
            <path value="Task.identifier.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.identifier.use">
            <path value="Task.identifier.use" />
            <short value="usual | official | temp | secondary (If known)" />
            <definition value="The purpose of this identifier." />
            <comment value="This is labeled as &quot;Is Modifier&quot; because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary." />
            <requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.use" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="IdentifierUse" />
                </extension>
                <strength value="required" />
                <description value="Identifies the purpose for this identifier, if known ." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/identifier-use" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Role.code or implied by context" />
            </mapping>
        </element>
        <element id="Task.identifier.type">
            <path value="Task.identifier.type" />
            <short value="Description of identifier" />
            <definition value="A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
            <comment value="This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. \n\nWhere the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type." />
            <requirements value="Allows users to make use of identifiers when the identifier system is not known." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.type" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="CodeableConcept" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="IdentifierType" />
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
                    <valueBoolean value="true" />
                </extension>
                <strength value="extensible" />
                <description value="A coded type for an identifier that can be used to determine which identifier to use for a specific purpose." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/identifier-type" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.5" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Role.code or implied by context" />
            </mapping>
        </element>
        <element id="Task.identifier.type.id">
            <path value="Task.identifier.type.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.identifier.type.extension">
            <path value="Task.identifier.type.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.identifier.type.coding">
            <path value="Task.identifier.type.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.identifier.type.coding.id">
            <path value="Task.identifier.type.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.identifier.type.coding.extension">
            <path value="Task.identifier.type.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.identifier.type.coding.system">
            <path value="Task.identifier.type.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.identifier.type.coding.version">
            <path value="Task.identifier.type.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.identifier.type.coding.code">
            <path value="Task.identifier.type.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.identifier.type.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.identifier.type.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.identifier.type.coding.userSelected">
            <path value="Task.identifier.type.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.identifier.type.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.identifier.type.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.identifier.system">
            <path value="Task.identifier.system" />
            <short value="The namespace for the identifier value" />
            <definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique." />
            <comment value="see http://en.wikipedia.org/wiki/Uniform_resource_identifier" />
            <requirements value="There are many sets  of identifiers.  To perform matching of two identifiers, we need to know what set we&#39;re dealing with. The system identifies a particular set of unique identifiers." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <example>
                <label value="General" />
                <valueUri value="http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri" />
            </example>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.4 / EI-2-4" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II.root or Role.id.root" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="./IdentifierType" />
            </mapping>
        </element>
        <element id="Task.identifier.value">
            <path value="Task.identifier.value" />
            <short value="The value that is unique" />
            <definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system." />
            <comment value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.  The value&#39;s primary purpose is computational mapping.  As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.)  A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html)." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.value" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <example>
                <label value="General" />
                <valueString value="123456" />
            </example>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.1 / EI.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="./Value" />
            </mapping>
        </element>
        <element id="Task.identifier.period">
            <path value="Task.identifier.period" />
            <short value="Time period when id is/was valid for use" />
            <definition value="Time period during which identifier is/was valid for use." />
            <comment value="This is not a duration - that&#39;s a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. &quot;the patient was an inpatient of the hospital for this time range&quot;) or one value from the range applies (e.g. &quot;give to the patient between these two times&quot;). If duration is required, specify the type as Interval|Duration." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.period" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Period" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="per-1" />
                <severity value="error" />
                <human value="If present, start SHALL have a lower value than end" />
                <expression value="start.empty() or end.empty() or (start &lt;= end)" />
                <xpath value="not(exists(f:start)) or not(exists(f:end)) or (f:start/@value &lt;= f:end/@value)" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="IVL&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;] or URG&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;]" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.7 + CX.8" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Role.effectiveTime or implied by context" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="./StartDate and ./EndDate" />
            </mapping>
        </element>
        <element id="Task.identifier.period.id">
            <path value="Task.identifier.period.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.identifier.period.extension">
            <path value="Task.identifier.period.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.identifier.period.start">
            <path value="Task.identifier.period.start" />
            <short value="Starting time with inclusive boundary" />
            <definition value="The start of the period. The boundary is inclusive." />
            <comment value="If the low element is missing, the meaning is that the low boundary is not known." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Period.start" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <condition value="ele-1" />
            <condition value="per-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./low" />
            </mapping>
        </element>
        <element id="Task.identifier.period.end">
            <path value="Task.identifier.period.end" />
            <short value="End time with inclusive boundary, if not ongoing" />
            <definition value="The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time." />
            <comment value="The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Period.end" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <meaningWhenMissing value="If the end of the period is missing, it means that the period is ongoing" />
            <condition value="ele-1" />
            <condition value="per-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./high" />
            </mapping>
        </element>
        <element id="Task.identifier.assigner">
            <path value="Task.identifier.assigner" />
            <short value="Organization that issued id (may be just text)" />
            <definition value="Organization that issued/manages the identifier." />
            <comment value="The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.assigner" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.4 / (CX.4,CX.9,CX.10)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="./IdentifierIssuingAuthority" />
            </mapping>
        </element>
        <element id="Task.identifier.assigner.id">
            <path value="Task.identifier.assigner.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.identifier.assigner.extension">
            <path value="Task.identifier.assigner.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.identifier.assigner.reference">
            <path value="Task.identifier.assigner.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.identifier.assigner.identifier">
            <path value="Task.identifier.assigner.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.identifier.assigner.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.identifier.assigner.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="see http://en.wikipedia.org/wiki/Uniform_resource_identifier" />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="workflow" />
                <map value="Request.definition, Event.definition" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".outboundRelationship[typeCode=DEFN].target" />
            </mapping>
        </element>
        <element id="Task.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 ProcedureRequest, 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 ProcedureRequest (= BasedOn), a task is created to fulfil a procedureRequest ( = FocusOn ) to collect a specimen from a patient." />
            <comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
            <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>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <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.basedOn.id">
            <path value="Task.basedOn.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.basedOn.extension">
            <path value="Task.basedOn.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.basedOn.reference">
            <path value="Task.basedOn.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.basedOn.identifier">
            <path value="Task.basedOn.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.basedOn.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.basedOn.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <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.groupIdentifier.id">
            <path value="Task.groupIdentifier.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.extension">
            <path value="Task.groupIdentifier.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.use">
            <path value="Task.groupIdentifier.use" />
            <short value="usual | official | temp | secondary (If known)" />
            <definition value="The purpose of this identifier." />
            <comment value="This is labeled as &quot;Is Modifier&quot; because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary." />
            <requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.use" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="IdentifierUse" />
                </extension>
                <strength value="required" />
                <description value="Identifies the purpose for this identifier, if known ." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/identifier-use" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Role.code or implied by context" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type">
            <path value="Task.groupIdentifier.type" />
            <short value="Description of identifier" />
            <definition value="A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
            <comment value="This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. \n\nWhere the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type." />
            <requirements value="Allows users to make use of identifiers when the identifier system is not known." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.type" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="CodeableConcept" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="IdentifierType" />
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
                    <valueBoolean value="true" />
                </extension>
                <strength value="extensible" />
                <description value="A coded type for an identifier that can be used to determine which identifier to use for a specific purpose." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/identifier-type" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.5" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Role.code or implied by context" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.id">
            <path value="Task.groupIdentifier.type.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.extension">
            <path value="Task.groupIdentifier.type.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.coding">
            <path value="Task.groupIdentifier.type.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.coding.id">
            <path value="Task.groupIdentifier.type.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.coding.extension">
            <path value="Task.groupIdentifier.type.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.coding.system">
            <path value="Task.groupIdentifier.type.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.coding.version">
            <path value="Task.groupIdentifier.type.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.coding.code">
            <path value="Task.groupIdentifier.type.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.groupIdentifier.type.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.coding.userSelected">
            <path value="Task.groupIdentifier.type.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.type.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.groupIdentifier.type.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.system">
            <path value="Task.groupIdentifier.system" />
            <short value="The namespace for the identifier value" />
            <definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique." />
            <comment value="see http://en.wikipedia.org/wiki/Uniform_resource_identifier" />
            <requirements value="There are many sets  of identifiers.  To perform matching of two identifiers, we need to know what set we&#39;re dealing with. The system identifies a particular set of unique identifiers." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <example>
                <label value="General" />
                <valueUri value="http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri" />
            </example>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.4 / EI-2-4" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II.root or Role.id.root" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="./IdentifierType" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.value">
            <path value="Task.groupIdentifier.value" />
            <short value="The value that is unique" />
            <definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system." />
            <comment value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.  The value&#39;s primary purpose is computational mapping.  As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.)  A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html)." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.value" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <example>
                <label value="General" />
                <valueString value="123456" />
            </example>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.1 / EI.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="./Value" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.period">
            <path value="Task.groupIdentifier.period" />
            <short value="Time period when id is/was valid for use" />
            <definition value="Time period during which identifier is/was valid for use." />
            <comment value="This is not a duration - that&#39;s a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. &quot;the patient was an inpatient of the hospital for this time range&quot;) or one value from the range applies (e.g. &quot;give to the patient between these two times&quot;). If duration is required, specify the type as Interval|Duration." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.period" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Period" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="per-1" />
                <severity value="error" />
                <human value="If present, start SHALL have a lower value than end" />
                <expression value="start.empty() or end.empty() or (start &lt;= end)" />
                <xpath value="not(exists(f:start)) or not(exists(f:end)) or (f:start/@value &lt;= f:end/@value)" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="IVL&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;] or URG&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;]" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.7 + CX.8" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Role.effectiveTime or implied by context" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="./StartDate and ./EndDate" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.period.id">
            <path value="Task.groupIdentifier.period.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.period.extension">
            <path value="Task.groupIdentifier.period.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.period.start">
            <path value="Task.groupIdentifier.period.start" />
            <short value="Starting time with inclusive boundary" />
            <definition value="The start of the period. The boundary is inclusive." />
            <comment value="If the low element is missing, the meaning is that the low boundary is not known." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Period.start" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <condition value="ele-1" />
            <condition value="per-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./low" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.period.end">
            <path value="Task.groupIdentifier.period.end" />
            <short value="End time with inclusive boundary, if not ongoing" />
            <definition value="The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time." />
            <comment value="The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Period.end" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <meaningWhenMissing value="If the end of the period is missing, it means that the period is ongoing" />
            <condition value="ele-1" />
            <condition value="per-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./high" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.assigner">
            <path value="Task.groupIdentifier.assigner" />
            <short value="Organization that issued id (may be just text)" />
            <definition value="Organization that issued/manages the identifier." />
            <comment value="The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Identifier.assigner" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX.4 / (CX.4,CX.9,CX.10)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="./IdentifierIssuingAuthority" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.assigner.id">
            <path value="Task.groupIdentifier.assigner.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.assigner.extension">
            <path value="Task.groupIdentifier.assigner.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.assigner.reference">
            <path value="Task.groupIdentifier.assigner.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.assigner.identifier">
            <path value="Task.groupIdentifier.assigner.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.groupIdentifier.assigner.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.groupIdentifier.assigner.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.partOf">
            <path value="Task.partOf" />
            <short value="Composite task" />
            <definition value="Task that this particular task is part of." />
            <comment 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>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <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.partOf.id">
            <path value="Task.partOf.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.partOf.extension">
            <path value="Task.partOf.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.partOf.reference">
            <path value="Task.partOf.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.partOf.identifier">
            <path value="Task.partOf.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.partOf.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.partOf.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.status">
            <path value="Task.status" />
            <short value="draft | requested | received | accepted | +" />
            <definition value="The current status of the task." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskStatus" />
                </extension>
                <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="rim" />
                <map value="n/a" />
            </mapping>
            <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.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskStatusReason" />
                </extension>
                <strength value="example" />
                <description value="Codes to identify the reason for current status.  These will typically be specific to a particular workflow." />
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <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.statusReason.id">
            <path value="Task.statusReason.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.statusReason.extension">
            <path value="Task.statusReason.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.statusReason.coding">
            <path value="Task.statusReason.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.statusReason.coding.id">
            <path value="Task.statusReason.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.statusReason.coding.extension">
            <path value="Task.statusReason.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.statusReason.coding.system">
            <path value="Task.statusReason.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.statusReason.coding.version">
            <path value="Task.statusReason.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.statusReason.coding.code">
            <path value="Task.statusReason.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.statusReason.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.statusReason.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.statusReason.coding.userSelected">
            <path value="Task.statusReason.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.statusReason.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.statusReason.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination." />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskBusinessStatus" />
                </extension>
                <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="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=&quot;business status&quot;]" />
            </mapping>
        </element>
        <element id="Task.businessStatus.id">
            <path value="Task.businessStatus.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.businessStatus.extension">
            <path value="Task.businessStatus.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.businessStatus.coding">
            <path value="Task.businessStatus.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.businessStatus.coding.id">
            <path value="Task.businessStatus.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.businessStatus.coding.extension">
            <path value="Task.businessStatus.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.businessStatus.coding.system">
            <path value="Task.businessStatus.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.businessStatus.coding.version">
            <path value="Task.businessStatus.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.businessStatus.coding.code">
            <path value="Task.businessStatus.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.businessStatus.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.businessStatus.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.businessStatus.coding.userSelected">
            <path value="Task.businessStatus.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.businessStatus.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.businessStatus.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.intent">
            <path value="Task.intent" />
            <short value="proposal | plan | order +" />
            <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." />
            <comment value="This element is immutable.  Proposed tasks, planned tasks, etc. must be distinct instances.\n\nIn 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskIntent" />
                </extension>
                <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="rim" />
                <map value="n/a" />
            </mapping>
            <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.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <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" />
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskPriority" />
                </extension>
                <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="rim" />
                <map value="n/a" />
            </mapping>
            <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.code">
            <path value="Task.code" />
            <short value="Task Type" />
            <definition value="A name or code (or both) briefly describing what the task involves." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskCode" />
                </extension>
                <strength value="example" />
                <description value="Codes to identify what the task involves.  These will typically be specific to a particular workflow." />
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <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="what" />
            </mapping>
        </element>
        <element id="Task.code.id">
            <path value="Task.code.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.code.extension">
            <path value="Task.code.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.code.coding">
            <path value="Task.code.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.code.coding.id">
            <path value="Task.code.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.code.coding.extension">
            <path value="Task.code.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.code.coding.system">
            <path value="Task.code.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.code.coding.version">
            <path value="Task.code.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.code.coding.code">
            <path value="Task.code.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.code.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.code.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.code.coding.userSelected">
            <path value="Task.code.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.code.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.code.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.description">
            <path value="Task.description" />
            <short value="Human-readable explanation of task" />
            <definition value="A free-text description of what is to be performed." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Task.description" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".text" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".outboundRelationship[typeCode=SUBJ].target" />
            </mapping>
            <mapping>
                <identity value="w5" />
                <map value="what" />
            </mapping>
        </element>
        <element id="Task.focus.id">
            <path value="Task.focus.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.focus.extension">
            <path value="Task.focus.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.focus.reference">
            <path value="Task.focus.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.focus.identifier">
            <path value="Task.focus.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.focus.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.focus.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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)." />
            <comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
            <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>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <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.for.id">
            <path value="Task.for.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.for.extension">
            <path value="Task.for.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.for.reference">
            <path value="Task.for.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.for.identifier">
            <path value="Task.for.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.for.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.for.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
            <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="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Encounter-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <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.context.id">
            <path value="Task.context.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.context.extension">
            <path value="Task.context.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.context.reference">
            <path value="Task.context.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.context.identifier">
            <path value="Task.context.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.context.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.context.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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)." />
            <comment value="This is not a duration - that&#39;s a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. &quot;the patient was an inpatient of the hospital for this time range&quot;) or one value from the range applies (e.g. &quot;give to the patient between these two times&quot;). If duration is required, specify the type as Interval|Duration." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Task.executionPeriod" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Period" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="per-1" />
                <severity value="error" />
                <human value="If present, start SHALL have a lower value than end" />
                <expression value="start.empty() or end.empty() or (start &lt;= end)" />
                <xpath value="not(exists(f:start)) or not(exists(f:end)) or (f:start/@value &lt;= f:end/@value)" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="IVL&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;] or URG&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;]" />
            </mapping>
            <mapping>
                <identity value="workflow" />
                <map value="Event.occurrence[x]" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".effectiveTime" />
            </mapping>
            <mapping>
                <identity value="w5" />
                <map value="when.done" />
            </mapping>
        </element>
        <element id="Task.executionPeriod.id">
            <path value="Task.executionPeriod.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.executionPeriod.extension">
            <path value="Task.executionPeriod.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.executionPeriod.start">
            <path value="Task.executionPeriod.start" />
            <short value="Starting time with inclusive boundary" />
            <definition value="The start of the period. The boundary is inclusive." />
            <comment value="If the low element is missing, the meaning is that the low boundary is not known." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Period.start" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <condition value="ele-1" />
            <condition value="per-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./low" />
            </mapping>
        </element>
        <element id="Task.executionPeriod.end">
            <path value="Task.executionPeriod.end" />
            <short value="End time with inclusive boundary, if not ongoing" />
            <definition value="The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time." />
            <comment value="The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Period.end" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <meaningWhenMissing value="If the end of the period is missing, it means that the period is ongoing" />
            <condition value="ele-1" />
            <condition value="per-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./high" />
            </mapping>
        </element>
        <element id="Task.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="ele-1" />
            <condition value="inv-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <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.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="0" />
            <max value="1" />
            <base>
                <path value="Task.lastModified" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <condition value="ele-1" />
            <condition value="inv-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".inboundRelationship[typeCode=SUBJ, ].source[classCode=CACT, moodCode=EVN].effectiveTime" />
            </mapping>
        </element>
        <element id="Task.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)." />
            <min value="1" />
            <max value="1" />
            <base>
                <path value="Task.requester" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="BackboneElement" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="workflow" />
                <map value="Request.requester" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".participation[typeCode=AUT].role" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.requester.extension">
            <path value="Task.requester.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.requester.agent">
            <path value="Task.requester.agent" />
            <short value="Individual asking for task" />
            <definition value="The device, practitioner, etc. who initiated the task." />
            <comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
            <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="https://fhir.nhs.uk/STU3/StructureDefinition/ITK-Device-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <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.requester.agent.id">
            <path value="Task.requester.agent.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.requester.agent.extension">
            <path value="Task.requester.agent.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.requester.agent.reference">
            <path value="Task.requester.agent.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="1" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.requester.agent.identifier">
            <path value="Task.requester.agent.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.requester.agent.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.requester.agent.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <mapping>
                <identity value="workflow" />
                <map value="Request.requester.onBehalfOf" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".scoper" />
            </mapping>
        </element>
        <element id="Task.requester.onBehalfOf.id">
            <path value="Task.requester.onBehalfOf.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.requester.onBehalfOf.extension">
            <path value="Task.requester.onBehalfOf.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.requester.onBehalfOf.reference">
            <path value="Task.requester.onBehalfOf.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.requester.onBehalfOf.identifier">
            <path value="Task.requester.onBehalfOf.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.requester.onBehalfOf.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.requester.onBehalfOf.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination." />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskPerformerType" />
                </extension>
                <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="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <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.performerType.id">
            <path value="Task.performerType.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.performerType.extension">
            <path value="Task.performerType.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.performerType.coding">
            <path value="Task.performerType.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.performerType.coding.id">
            <path value="Task.performerType.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.performerType.coding.extension">
            <path value="Task.performerType.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.performerType.coding.system">
            <path value="Task.performerType.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.performerType.coding.version">
            <path value="Task.performerType.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.performerType.coding.code">
            <path value="Task.performerType.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.performerType.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.performerType.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.performerType.coding.userSelected">
            <path value="Task.performerType.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.performerType.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.performerType.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.owner">
            <path value="Task.owner" />
            <short value="Responsible individual" />
            <definition value="Individual organization or Device currently responsible for task execution." />
            <comment 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="https://fhir.nhs.uk/STU3/StructureDefinition/ITK-Device-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <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.owner.id">
            <path value="Task.owner.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.owner.extension">
            <path value="Task.owner.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.owner.reference">
            <path value="Task.owner.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.owner.identifier">
            <path value="Task.owner.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.owner.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.owner.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskReason" />
                </extension>
                <strength value="example" />
                <description value="Indicates why the task is needed.  E.g. Suspended because patient admitted to hospital." />
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <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.reason.id">
            <path value="Task.reason.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.reason.extension">
            <path value="Task.reason.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.reason.coding">
            <path value="Task.reason.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.reason.coding.id">
            <path value="Task.reason.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.reason.coding.extension">
            <path value="Task.reason.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.reason.coding.system">
            <path value="Task.reason.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.reason.coding.version">
            <path value="Task.reason.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.reason.coding.code">
            <path value="Task.reason.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.reason.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.reason.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.reason.coding.userSelected">
            <path value="Task.reason.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.reason.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.reason.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.note">
            <path value="Task.note" />
            <short value="Comments made about the task" />
            <definition value="Free-text information captured about the task as it progresses." />
            <comment value="For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time.  This element may need to be included in narrative because of the potential for modifying information.  *Annotations SHOULD NOT* be used to communicate &quot;modifying&quot; information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible)." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Task.note" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Annotation" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Act" />
            </mapping>
            <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.note.id">
            <path value="Task.note.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.note.extension">
            <path value="Task.note.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.note.author[x]">
            <path value="Task.note.author[x]" />
            <short value="Individual responsible for the annotation" />
            <definition value="The individual responsible for making the annotation." />
            <comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Annotation.author[x]" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
            </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/RelatedPerson" />
            </type>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Act.participant[typeCode=AUT].role" />
            </mapping>
        </element>
        <element id="Task.note.time">
            <path value="Task.note.time" />
            <short value="When the annotation was made" />
            <definition value="Indicates when this particular annotation was made." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Annotation.time" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Act.effectiveTime" />
            </mapping>
        </element>
        <element id="Task.note.text">
            <path value="Task.note.text" />
            <short value="The annotation  - text content" />
            <definition value="The text of the annotation." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="1" />
            <max value="1" />
            <base>
                <path value="Annotation.text" />
                <min value="1" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Act.text" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <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.relevantHistory.id">
            <path value="Task.relevantHistory.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.relevantHistory.extension">
            <path value="Task.relevantHistory.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.relevantHistory.reference">
            <path value="Task.relevantHistory.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.relevantHistory.identifier">
            <path value="Task.relevantHistory.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.relevantHistory.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.relevantHistory.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <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.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.restriction.extension">
            <path value="Task.restriction.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="32 bit number; for values larger than this, use decimal" />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".repeatNumber" />
            </mapping>
        </element>
        <element id="Task.restriction.period">
            <path value="Task.restriction.period" />
            <short value="When fulfillment sought" />
            <definition value="Over what time-period is fulfillment sought." />
            <comment value="Note that period.high is the due date representing the time by which the task should be completed." />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="per-1" />
                <severity value="error" />
                <human value="If present, start SHALL have a lower value than end" />
                <expression value="start.empty() or end.empty() or (start &lt;= end)" />
                <xpath value="not(exists(f:start)) or not(exists(f:end)) or (f:start/@value &lt;= f:end/@value)" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="IVL&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;] or URG&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;]" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".effectiveTime(IVL&lt;TS&gt;)" />
            </mapping>
        </element>
        <element id="Task.restriction.period.id">
            <path value="Task.restriction.period.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.restriction.period.extension">
            <path value="Task.restriction.period.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.restriction.period.start">
            <path value="Task.restriction.period.start" />
            <short value="Starting time with inclusive boundary" />
            <definition value="The start of the period. The boundary is inclusive." />
            <comment value="If the low element is missing, the meaning is that the low boundary is not known." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Period.start" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <condition value="ele-1" />
            <condition value="per-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./low" />
            </mapping>
        </element>
        <element id="Task.restriction.period.end">
            <path value="Task.restriction.period.end" />
            <short value="End time with inclusive boundary, if not ongoing" />
            <definition value="The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time." />
            <comment value="The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Period.end" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <meaningWhenMissing value="If the end of the period is missing, it means that the period is ongoing" />
            <condition value="ele-1" />
            <condition value="per-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="DR.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./high" />
            </mapping>
        </element>
        <element id="Task.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?" />
            <comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Task.restriction.recipient" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1" />
            </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="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".participation[typeCode=SBJ].role" />
            </mapping>
        </element>
        <element id="Task.restriction.recipient.id">
            <path value="Task.restriction.recipient.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.restriction.recipient.extension">
            <path value="Task.restriction.recipient.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.restriction.recipient.reference">
            <path value="Task.restriction.recipient.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with &#39;#&#39;) refer to contained resources." />
            <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.restriction.recipient.identifier">
            <path value="Task.restriction.recipient.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
            <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
            </mapping>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Task.restriction.recipient.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.restriction.recipient.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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="1" />
            <max value="*" />
            <base>
                <path value="Task.input" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="BackboneElement" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="???" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.input.extension">
            <path value="Task.input.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskInputParameterType" />
                </extension>
                <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="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="???" />
            </mapping>
        </element>
        <element id="Task.input.type.id">
            <path value="Task.input.type.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.input.type.extension">
            <path value="Task.input.type.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.input.type.coding">
            <path value="Task.input.type.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.input.type.coding.id">
            <path value="Task.input.type.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.input.type.coding.extension">
            <path value="Task.input.type.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.input.type.coding.system">
            <path value="Task.input.type.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.input.type.coding.version">
            <path value="Task.input.type.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.input.type.coding.code">
            <path value="Task.input.type.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.input.type.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.input.type.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.input.type.coding.userSelected">
            <path value="Task.input.type.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.input.type.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.input.type.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="A stream of bytes, base64 encoded" />
            <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>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="???" />
            </mapping>
        </element>
        <element id="Task.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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="???" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.output.extension">
            <path value="Task.output.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.output.type">
            <path value="Task.output.type" />
            <short value="Label for output" />
            <definition value="The name of the Output parameter." />
            <comment value="Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination." />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="TaskOutputParameterType" />
                </extension>
                <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="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="???" />
            </mapping>
        </element>
        <element id="Task.output.type.id">
            <path value="Task.output.type.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.output.type.extension">
            <path value="Task.output.type.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.output.type.coding">
            <path value="Task.output.type.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Task.output.type.coding.id">
            <path value="Task.output.type.coding.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." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Task.output.type.coding.extension">
            <path value="Task.output.type.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
            <comment 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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Task.output.type.coding.system">
            <path value="Task.output.type.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Task.output.type.coding.version">
            <path value="Task.output.type.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Task.output.type.coding.code">
            <path value="Task.output.type.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Task.output.type.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.output.type.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Task.output.type.coding.userSelected">
            <path value="Task.output.type.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Task.output.type.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Task.output.type.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Task.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." />
            <comment value="A stream of bytes, base64 encoded" />
            <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>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="???" />
            </mapping>
        </element>
    </snapshot>
    <differential>
        <element id="Task.basedOn">
            <path value="Task.basedOn" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
        </element>
        <element id="Task.partOf">
            <path value="Task.partOf" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Task" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
        </element>
        <element id="Task.focus">
            <path value="Task.focus" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
        </element>
        <element id="Task.for">
            <path value="Task.for" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
        </element>
        <element id="Task.context">
            <path value="Task.context" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Encounter-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" />
            </type>
        </element>
        <element id="Task.requester">
            <path value="Task.requester" />
            <min value="1" />
        </element>
        <element id="Task.requester.agent">
            <path value="Task.requester.agent" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/ITK-Device-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
            </type>
        </element>
        <element id="Task.requester.agent.reference">
            <path value="Task.requester.agent.reference" />
            <min value="1" />
        </element>
        <element id="Task.owner">
            <path value="Task.owner" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/ITK-Device-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
            </type>
        </element>
        <element id="Task.restriction.recipient">
            <path value="Task.restriction.recipient" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1" />
            </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="https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1" />
            </type>
        </element>
        <element id="Task.input">
            <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
                <valueString value="Parameter" />
            </extension>
            <path value="Task.input" />
            <min value="1" />
        </element>
        <element id="Task.input.value[x]">
            <path value="Task.input.value[x]" />
            <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>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1" />
            </type>
        </element>
    </differential>
</StructureDefinition>
{
    "resourceType": "StructureDefinition",
    "id": "Task",
    "meta": {
        "lastUpdated": "2018-09-19T14:43:13.128+01:00"
    },
    "url": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1",
    "version": "1.2.0",
    "name": "GPConnect-Task-1",
    "title": "GP Connect Task",
    "status": "draft",
    "date": "2019-11-04",
    "publisher": "NHS Digital",
    "contact":  [
        {
            "name": "Interoperability Team",
            "telecom":  [
                {
                    "system": "email",
                    "value": "interoperabilityteam@nhs.net",
                    "use": "work"
                }
            ]
        }
    ],
    "description": "The task profile describes an activity that can be performed and tracks the state of completion of that activity.  It is a representation that an activity should be or has been initiated, and eventually, represents the successful or unsuccessful completion of that activity.",
    "purpose": "The Task profile is used here to describe the intent of the message - to request that a task be created in the target organisation to review and perform an update.",
    "copyright": "Copyright © 2019 Health and Social Care Information Centre.  NHS Digital is the trading name of the Health and Social Care Information Centre.",
    "fhirVersion": "3.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Task",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Task",
    "derivation": "constraint",
    "snapshot": {
        "element":  [
            {
                "id": "Task",
                "path": "Task",
                "short": "A task to be performed",
                "definition": "A task to be performed.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Resource",
                    "min": 0,
                    "max": "*"
                },
                "constraint":  [
                    {
                        "key": "dom-2",
                        "severity": "error",
                        "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                        "expression": "contained.contained.empty()",
                        "xpath": "not(parent::f:contained and f:contained)"
                    },
                    {
                        "key": "dom-1",
                        "severity": "error",
                        "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                        "expression": "contained.text.empty()",
                        "xpath": "not(parent::f:contained and f:text)"
                    },
                    {
                        "key": "dom-4",
                        "severity": "error",
                        "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                        "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                        "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))"
                    },
                    {
                        "key": "dom-3",
                        "severity": "error",
                        "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                        "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                        "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))"
                    },
                    {
                        "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": "rim",
                        "map": "Entity. Role, or Act"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request, Event"
                    },
                    {
                        "identity": "rim",
                        "map": "ControlAct[moodCode=INT]"
                    },
                    {
                        "identity": "w5",
                        "map": "workflow.order"
                    }
                ]
            },
            {
                "id": "Task.id",
                "path": "Task.id",
                "short": "Logical id of this artifact",
                "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Resource.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "id"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.meta",
                "path": "Task.meta",
                "short": "Metadata about the resource",
                "definition": "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": 0,
                "max": "1",
                "base": {
                    "path": "Resource.meta",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Meta"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.implicitRules",
                "path": "Task.implicitRules",
                "short": "A set of rules under which this content was created",
                "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
                "comment": "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. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Resource.implicitRules",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.language",
                "path": "Task.language",
                "short": "Language of the resource content",
                "definition": "The base language in which the resource is written.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Resource.language",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                            "valueReference": {
                                "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                            }
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "Language"
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                            "valueBoolean": true
                        }
                    ],
                    "strength": "extensible",
                    "description": "A human language.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/languages"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.text",
                "path": "Task.text",
                "short": "Text summary of the resource, for human interpretation",
                "definition": "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 \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
                "comment": "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 \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
                "alias":  [
                    "narrative",
                    "html",
                    "xhtml",
                    "display"
                ],
                "min": 0,
                "max": "1",
                "base": {
                    "path": "DomainResource.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Narrative"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "dom-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "Act.text?"
                    }
                ]
            },
            {
                "id": "Task.contained",
                "path": "Task.contained",
                "short": "Contained, inline Resources",
                "definition": "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.",
                "comment": "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":  [
                    "inline resources",
                    "anonymous resources",
                    "contained resources"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "DomainResource.contained",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Resource"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "Entity. Role, or Act"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.extension",
                "path": "Task.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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.",
                "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": "DomainResource.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.modifierExtension",
                "path": "Task.modifierExtension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Extensions that cannot be ignored",
                "definition": "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.",
                "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": "DomainResource.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.identifier",
                "path": "Task.identifier",
                "short": "Task Instance Identifier",
                "definition": "The business identifier for this task.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Task.identifier",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.identifier, Event.identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".id"
                    },
                    {
                        "identity": "w5",
                        "map": "id"
                    }
                ]
            },
            {
                "id": "Task.identifier.id",
                "path": "Task.identifier.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.identifier.extension",
                "path": "Task.identifier.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.identifier.use",
                "path": "Task.identifier.use",
                "short": "usual | official | temp | secondary (If known)",
                "definition": "The purpose of this identifier.",
                "comment": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
                "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.use",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "IdentifierUse"
                        }
                    ],
                    "strength": "required",
                    "description": "Identifies the purpose for this identifier, if known .",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/identifier-use"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "Role.code or implied by context"
                    }
                ]
            },
            {
                "id": "Task.identifier.type",
                "path": "Task.identifier.type",
                "short": "Description of identifier",
                "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
                "comment": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. \n\nWhere the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
                "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.type",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "IdentifierType"
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                            "valueBoolean": true
                        }
                    ],
                    "strength": "extensible",
                    "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.5"
                    },
                    {
                        "identity": "rim",
                        "map": "Role.code or implied by context"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.id",
                "path": "Task.identifier.type.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.extension",
                "path": "Task.identifier.type.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.coding",
                "path": "Task.identifier.type.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.coding.id",
                "path": "Task.identifier.type.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.coding.extension",
                "path": "Task.identifier.type.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.coding.system",
                "path": "Task.identifier.type.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.coding.version",
                "path": "Task.identifier.type.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.coding.code",
                "path": "Task.identifier.type.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.identifier.type.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.coding.userSelected",
                "path": "Task.identifier.type.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.identifier.type.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.identifier.type.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Task.identifier.system",
                "path": "Task.identifier.system",
                "short": "The namespace for the identifier value",
                "definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.",
                "comment": "see http://en.wikipedia.org/wiki/Uniform_resource_identifier",
                "requirements": "There are many sets  of identifiers.  To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "example":  [
                    {
                        "label": "General",
                        "valueUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.4 / EI-2-4"
                    },
                    {
                        "identity": "rim",
                        "map": "II.root or Role.id.root"
                    },
                    {
                        "identity": "servd",
                        "map": "./IdentifierType"
                    }
                ]
            },
            {
                "id": "Task.identifier.value",
                "path": "Task.identifier.value",
                "short": "The value that is unique",
                "definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.",
                "comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.  The value's primary purpose is computational mapping.  As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.)  A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html).",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.value",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "example":  [
                    {
                        "label": "General",
                        "valueString": "123456"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.1 / EI.1"
                    },
                    {
                        "identity": "rim",
                        "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
                    },
                    {
                        "identity": "servd",
                        "map": "./Value"
                    }
                ]
            },
            {
                "id": "Task.identifier.period",
                "path": "Task.identifier.period",
                "short": "Time period when id is/was valid for use",
                "definition": "Time period during which identifier is/was valid for use.",
                "comment": "This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\"). If duration is required, specify the type as Interval|Duration.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.period",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Period"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "per-1",
                        "severity": "error",
                        "human": "If present, start SHALL have a lower value than end",
                        "expression": "start.empty() or end.empty() or (start <= end)",
                        "xpath": "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR"
                    },
                    {
                        "identity": "rim",
                        "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.7 + CX.8"
                    },
                    {
                        "identity": "rim",
                        "map": "Role.effectiveTime or implied by context"
                    },
                    {
                        "identity": "servd",
                        "map": "./StartDate and ./EndDate"
                    }
                ]
            },
            {
                "id": "Task.identifier.period.id",
                "path": "Task.identifier.period.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.identifier.period.extension",
                "path": "Task.identifier.period.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.identifier.period.start",
                "path": "Task.identifier.period.start",
                "short": "Starting time with inclusive boundary",
                "definition": "The start of the period. The boundary is inclusive.",
                "comment": "If the low element is missing, the meaning is that the low boundary is not known.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Period.start",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "per-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./low"
                    }
                ]
            },
            {
                "id": "Task.identifier.period.end",
                "path": "Task.identifier.period.end",
                "short": "End time with inclusive boundary, if not ongoing",
                "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
                "comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Period.end",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
                "condition":  [
                    "ele-1",
                    "per-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR.2"
                    },
                    {
                        "identity": "rim",
                        "map": "./high"
                    }
                ]
            },
            {
                "id": "Task.identifier.assigner",
                "path": "Task.identifier.assigner",
                "short": "Organization that issued id (may be just text)",
                "definition": "Organization that issued/manages the identifier.",
                "comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.assigner",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.4 / (CX.4,CX.9,CX.10)"
                    },
                    {
                        "identity": "rim",
                        "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
                    },
                    {
                        "identity": "servd",
                        "map": "./IdentifierIssuingAuthority"
                    }
                ]
            },
            {
                "id": "Task.identifier.assigner.id",
                "path": "Task.identifier.assigner.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.identifier.assigner.extension",
                "path": "Task.identifier.assigner.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.identifier.assigner.reference",
                "path": "Task.identifier.assigner.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.identifier.assigner.identifier",
                "path": "Task.identifier.assigner.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.identifier.assigner.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.identifier.assigner.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.definition[x]",
                "path": "Task.definition[x]",
                "short": "Formal definition of task",
                "definition": "A reference to a formal or informal definition of the task.  For example, a protocol, a step within a defined workflow definition, etc.",
                "comment": "see http://en.wikipedia.org/wiki/Uniform_resource_identifier",
                "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",
                "base": {
                    "path": "Task.definition[x]",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.definition, Event.definition"
                    },
                    {
                        "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 ProcedureRequest, MedicationRequest, ProcedureRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfil.  This latter resource is referenced by FocusOn.  For example, based on a ProcedureRequest (= BasedOn), a task is created to fulfil a procedureRequest ( = FocusOn ) to collect a specimen from a patient.",
                "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Task.basedOn",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.basedOn, Definition.basedOn"
                    },
                    {
                        "identity": "rim",
                        "map": ".outboundRelationship[typeCode=FLFS].target[moodCode=INT]"
                    }
                ]
            },
            {
                "id": "Task.basedOn.id",
                "path": "Task.basedOn.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.basedOn.extension",
                "path": "Task.basedOn.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.basedOn.reference",
                "path": "Task.basedOn.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.basedOn.identifier",
                "path": "Task.basedOn.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.basedOn.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.basedOn.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "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",
                "base": {
                    "path": "Task.groupIdentifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.groupIdentifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".inboundRelationship[typeCode=COMP].source[moodCode=INT].id"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.id",
                "path": "Task.groupIdentifier.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.extension",
                "path": "Task.groupIdentifier.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.use",
                "path": "Task.groupIdentifier.use",
                "short": "usual | official | temp | secondary (If known)",
                "definition": "The purpose of this identifier.",
                "comment": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
                "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.use",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "IdentifierUse"
                        }
                    ],
                    "strength": "required",
                    "description": "Identifies the purpose for this identifier, if known .",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/identifier-use"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "Role.code or implied by context"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type",
                "path": "Task.groupIdentifier.type",
                "short": "Description of identifier",
                "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
                "comment": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. \n\nWhere the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
                "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.type",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "IdentifierType"
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                            "valueBoolean": true
                        }
                    ],
                    "strength": "extensible",
                    "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.5"
                    },
                    {
                        "identity": "rim",
                        "map": "Role.code or implied by context"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.id",
                "path": "Task.groupIdentifier.type.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.extension",
                "path": "Task.groupIdentifier.type.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.coding",
                "path": "Task.groupIdentifier.type.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.coding.id",
                "path": "Task.groupIdentifier.type.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.coding.extension",
                "path": "Task.groupIdentifier.type.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.coding.system",
                "path": "Task.groupIdentifier.type.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.coding.version",
                "path": "Task.groupIdentifier.type.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.coding.code",
                "path": "Task.groupIdentifier.type.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.groupIdentifier.type.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.coding.userSelected",
                "path": "Task.groupIdentifier.type.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.type.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.groupIdentifier.type.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.system",
                "path": "Task.groupIdentifier.system",
                "short": "The namespace for the identifier value",
                "definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.",
                "comment": "see http://en.wikipedia.org/wiki/Uniform_resource_identifier",
                "requirements": "There are many sets  of identifiers.  To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "example":  [
                    {
                        "label": "General",
                        "valueUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.4 / EI-2-4"
                    },
                    {
                        "identity": "rim",
                        "map": "II.root or Role.id.root"
                    },
                    {
                        "identity": "servd",
                        "map": "./IdentifierType"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.value",
                "path": "Task.groupIdentifier.value",
                "short": "The value that is unique",
                "definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.",
                "comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.  The value's primary purpose is computational mapping.  As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.)  A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html).",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.value",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "example":  [
                    {
                        "label": "General",
                        "valueString": "123456"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.1 / EI.1"
                    },
                    {
                        "identity": "rim",
                        "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
                    },
                    {
                        "identity": "servd",
                        "map": "./Value"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.period",
                "path": "Task.groupIdentifier.period",
                "short": "Time period when id is/was valid for use",
                "definition": "Time period during which identifier is/was valid for use.",
                "comment": "This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\"). If duration is required, specify the type as Interval|Duration.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.period",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Period"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "per-1",
                        "severity": "error",
                        "human": "If present, start SHALL have a lower value than end",
                        "expression": "start.empty() or end.empty() or (start <= end)",
                        "xpath": "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR"
                    },
                    {
                        "identity": "rim",
                        "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.7 + CX.8"
                    },
                    {
                        "identity": "rim",
                        "map": "Role.effectiveTime or implied by context"
                    },
                    {
                        "identity": "servd",
                        "map": "./StartDate and ./EndDate"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.period.id",
                "path": "Task.groupIdentifier.period.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.period.extension",
                "path": "Task.groupIdentifier.period.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.period.start",
                "path": "Task.groupIdentifier.period.start",
                "short": "Starting time with inclusive boundary",
                "definition": "The start of the period. The boundary is inclusive.",
                "comment": "If the low element is missing, the meaning is that the low boundary is not known.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Period.start",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "per-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./low"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.period.end",
                "path": "Task.groupIdentifier.period.end",
                "short": "End time with inclusive boundary, if not ongoing",
                "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
                "comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Period.end",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
                "condition":  [
                    "ele-1",
                    "per-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR.2"
                    },
                    {
                        "identity": "rim",
                        "map": "./high"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.assigner",
                "path": "Task.groupIdentifier.assigner",
                "short": "Organization that issued id (may be just text)",
                "definition": "Organization that issued/manages the identifier.",
                "comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Identifier.assigner",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "v2",
                        "map": "CX.4 / (CX.4,CX.9,CX.10)"
                    },
                    {
                        "identity": "rim",
                        "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
                    },
                    {
                        "identity": "servd",
                        "map": "./IdentifierIssuingAuthority"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.assigner.id",
                "path": "Task.groupIdentifier.assigner.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.assigner.extension",
                "path": "Task.groupIdentifier.assigner.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.assigner.reference",
                "path": "Task.groupIdentifier.assigner.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.assigner.identifier",
                "path": "Task.groupIdentifier.assigner.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.groupIdentifier.assigner.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.groupIdentifier.assigner.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "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": "*",
                "base": {
                    "path": "Task.partOf",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Task"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "workflow",
                        "map": "Event.partOf"
                    },
                    {
                        "identity": "rim",
                        "map": ".inboundRelationship[typeCode=COMP].source[moodCode=INT]"
                    }
                ]
            },
            {
                "id": "Task.partOf.id",
                "path": "Task.partOf.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.partOf.extension",
                "path": "Task.partOf.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.partOf.reference",
                "path": "Task.partOf.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.partOf.identifier",
                "path": "Task.partOf.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.partOf.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.partOf.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.status",
                "path": "Task.status",
                "short": "draft | requested | received | accepted | +",
                "definition": "The current status of the task.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "These states enable coordination of task status with off-the-shelf workflow solutions that support automation of tasks.",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Task.status",
                    "min": 1,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "TaskStatus"
                        }
                    ],
                    "strength": "required",
                    "description": "The current status of the task.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/task-status"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.status, Event.status"
                    },
                    {
                        "identity": "rim",
                        "map": ".statusCode"
                    },
                    {
                        "identity": "w5",
                        "map": "status"
                    }
                ]
            },
            {
                "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",
                "base": {
                    "path": "Task.statusReason",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "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": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "rim",
                        "map": ".inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN, code=\"status change\"].reasonCode"
                    }
                ]
            },
            {
                "id": "Task.statusReason.id",
                "path": "Task.statusReason.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.statusReason.extension",
                "path": "Task.statusReason.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.statusReason.coding",
                "path": "Task.statusReason.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.statusReason.coding.id",
                "path": "Task.statusReason.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.statusReason.coding.extension",
                "path": "Task.statusReason.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.statusReason.coding.system",
                "path": "Task.statusReason.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.statusReason.coding.version",
                "path": "Task.statusReason.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.statusReason.coding.code",
                "path": "Task.statusReason.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.statusReason.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.statusReason.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.statusReason.coding.userSelected",
                "path": "Task.statusReason.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.statusReason.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.statusReason.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Task.businessStatus",
                "path": "Task.businessStatus",
                "short": "E.g. \"Specimen collected\", \"IV prepped\"",
                "definition": "Contains business-specific nuances of the business state.",
                "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
                "requirements": "There's often a need to track substates of a task - this is often variable by specific workflow implementation.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.businessStatus",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "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": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "rim",
                        "map": ".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"business status\"]"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.id",
                "path": "Task.businessStatus.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.extension",
                "path": "Task.businessStatus.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.coding",
                "path": "Task.businessStatus.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.coding.id",
                "path": "Task.businessStatus.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.coding.extension",
                "path": "Task.businessStatus.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.coding.system",
                "path": "Task.businessStatus.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.coding.version",
                "path": "Task.businessStatus.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.coding.code",
                "path": "Task.businessStatus.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.businessStatus.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.coding.userSelected",
                "path": "Task.businessStatus.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.businessStatus.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.businessStatus.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Task.intent",
                "path": "Task.intent",
                "short": "proposal | plan | order +",
                "definition": "Indicates the \"level\" of actionability associated with the Task.  I.e. Is 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",
                "base": {
                    "path": "Task.intent",
                    "min": 1,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "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",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/request-intent"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.intent"
                    },
                    {
                        "identity": "rim",
                        "map": ".moodCode"
                    },
                    {
                        "identity": "w5",
                        "map": "class"
                    }
                ]
            },
            {
                "id": "Task.priority",
                "path": "Task.priority",
                "short": "normal | urgent | asap | stat",
                "definition": "Indicates how quickly the Task should be addressed with respect to other requests.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Used to identify the service level expected while performing a task.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.priority",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "meaningWhenMissing": "If missing, this task should be performed with normal priority",
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "TaskPriority"
                        }
                    ],
                    "strength": "required",
                    "description": "The task's priority",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/request-priority"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.priority"
                    },
                    {
                        "identity": "rim",
                        "map": ".priorityCode"
                    },
                    {
                        "identity": "w5",
                        "map": "grade"
                    }
                ]
            },
            {
                "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",
                "base": {
                    "path": "Task.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "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."
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.code, Event.code"
                    },
                    {
                        "identity": "rim",
                        "map": ".code"
                    },
                    {
                        "identity": "w5",
                        "map": "what"
                    }
                ]
            },
            {
                "id": "Task.code.id",
                "path": "Task.code.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.code.extension",
                "path": "Task.code.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.code.coding",
                "path": "Task.code.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.code.coding.id",
                "path": "Task.code.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.code.coding.extension",
                "path": "Task.code.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.code.coding.system",
                "path": "Task.code.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.code.coding.version",
                "path": "Task.code.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.code.coding.code",
                "path": "Task.code.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.code.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.code.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.code.coding.userSelected",
                "path": "Task.code.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.code.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.code.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Task.description",
                "path": "Task.description",
                "short": "Human-readable explanation of task",
                "definition": "A free-text description of what is to be performed.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.description",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": ".text"
                    }
                ]
            },
            {
                "id": "Task.focus",
                "path": "Task.focus",
                "short": "What task is acting on",
                "definition": "The request being actioned or the resource being manipulated by this task.",
                "comment": "If multiple resources need to be manipulated, use sub-tasks.  (This ensures that status can be tracked independently for each referenced resource.).",
                "requirements": "Used to identify the thing to be done.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.focus",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "rim",
                        "map": ".outboundRelationship[typeCode=SUBJ].target"
                    },
                    {
                        "identity": "w5",
                        "map": "what"
                    }
                ]
            },
            {
                "id": "Task.focus.id",
                "path": "Task.focus.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.focus.extension",
                "path": "Task.focus.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.focus.reference",
                "path": "Task.focus.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.focus.identifier",
                "path": "Task.focus.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.focus.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.focus.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.for",
                "path": "Task.for",
                "short": "Beneficiary of the Task",
                "definition": "The entity who benefits from the performance of the service specified in the task (e.g., the patient).",
                "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
                "requirements": "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":  [
                    "Patient"
                ],
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.for",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.subject, Event.subject"
                    },
                    {
                        "identity": "rim",
                        "map": ".participation[typeCode=RCT].role"
                    },
                    {
                        "identity": "w5",
                        "map": "who.focus"
                    }
                ]
            },
            {
                "id": "Task.for.id",
                "path": "Task.for.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.for.extension",
                "path": "Task.for.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.for.reference",
                "path": "Task.for.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.for.identifier",
                "path": "Task.for.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.for.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.for.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.context",
                "path": "Task.context",
                "short": "Healthcare event during which this task originated",
                "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this task was created.",
                "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
                "requirements": "For some tasks it may be important to know the link between the task or episode of care the task originated within.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.context",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Encounter-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.context, Event.context"
                    },
                    {
                        "identity": "rim",
                        "map": ".inboundRelationship[typeCode=COMP].source[classCode=PCPR, moodCode=EVN]"
                    },
                    {
                        "identity": "w5",
                        "map": "context"
                    }
                ]
            },
            {
                "id": "Task.context.id",
                "path": "Task.context.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.context.extension",
                "path": "Task.context.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.context.reference",
                "path": "Task.context.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.context.identifier",
                "path": "Task.context.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.context.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.context.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.executionPeriod",
                "path": "Task.executionPeriod",
                "short": "Start and end time of execution",
                "definition": "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).",
                "comment": "This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\"). If duration is required, specify the type as Interval|Duration.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.executionPeriod",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Period"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "per-1",
                        "severity": "error",
                        "human": "If present, start SHALL have a lower value than end",
                        "expression": "start.empty() or end.empty() or (start <= end)",
                        "xpath": "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR"
                    },
                    {
                        "identity": "rim",
                        "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
                    },
                    {
                        "identity": "workflow",
                        "map": "Event.occurrence[x]"
                    },
                    {
                        "identity": "rim",
                        "map": ".effectiveTime"
                    },
                    {
                        "identity": "w5",
                        "map": "when.done"
                    }
                ]
            },
            {
                "id": "Task.executionPeriod.id",
                "path": "Task.executionPeriod.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.executionPeriod.extension",
                "path": "Task.executionPeriod.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.executionPeriod.start",
                "path": "Task.executionPeriod.start",
                "short": "Starting time with inclusive boundary",
                "definition": "The start of the period. The boundary is inclusive.",
                "comment": "If the low element is missing, the meaning is that the low boundary is not known.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Period.start",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "per-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./low"
                    }
                ]
            },
            {
                "id": "Task.executionPeriod.end",
                "path": "Task.executionPeriod.end",
                "short": "End time with inclusive boundary, if not ongoing",
                "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
                "comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Period.end",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
                "condition":  [
                    "ele-1",
                    "per-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR.2"
                    },
                    {
                        "identity": "rim",
                        "map": "./high"
                    }
                ]
            },
            {
                "id": "Task.authoredOn",
                "path": "Task.authoredOn",
                "short": "Task Creation Date",
                "definition": "The date and time this task was created.",
                "requirements": "Most often used along with lastUpdated to track duration of task to supporting monitoring and management.",
                "alias":  [
                    "Created Date"
                ],
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.authoredOn",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "inv-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.authoredOn"
                    },
                    {
                        "identity": "rim",
                        "map": ".participation[typeCode=AUT].time"
                    },
                    {
                        "identity": "w5",
                        "map": "when.recorded"
                    }
                ]
            },
            {
                "id": "Task.lastModified",
                "path": "Task.lastModified",
                "short": "Task Last Modified Date",
                "definition": "The date and time of last modification to this task.",
                "requirements": "Used along with history to track task activity and time in a particular task state.  This enables monitoring and management.",
                "alias":  [
                    "Update Date"
                ],
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.lastModified",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "inv-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": ".inboundRelationship[typeCode=SUBJ, ].source[classCode=CACT, moodCode=EVN].effectiveTime"
                    }
                ]
            },
            {
                "id": "Task.requester",
                "path": "Task.requester",
                "short": "Who is asking for task to be done",
                "definition": "The creator of the task.",
                "requirements": "Identifies who created this task.  May be used by access control mechanisms (e.g., to ensure that only the creator can cancel a task).",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Task.requester",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "BackboneElement"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.requester"
                    },
                    {
                        "identity": "rim",
                        "map": ".participation[typeCode=AUT].role"
                    }
                ]
            },
            {
                "id": "Task.requester.id",
                "path": "Task.requester.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.requester.extension",
                "path": "Task.requester.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.requester.modifierExtension",
                "path": "Task.requester.modifierExtension",
                "short": "Extensions that cannot be ignored",
                "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 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.",
                "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",
                    "modifiers"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "BackboneElement.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.requester.agent",
                "path": "Task.requester.agent",
                "short": "Individual asking for task",
                "definition": "The device, practitioner, etc. who initiated the task.",
                "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
                "alias":  [
                    "Initiator",
                    "Author"
                ],
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Task.requester.agent",
                    "min": 1,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/ITK-Device-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.requester.agent"
                    },
                    {
                        "identity": "rim",
                        "map": ".player"
                    },
                    {
                        "identity": "w5",
                        "map": "who.author"
                    }
                ]
            },
            {
                "id": "Task.requester.agent.id",
                "path": "Task.requester.agent.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.requester.agent.extension",
                "path": "Task.requester.agent.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.requester.agent.reference",
                "path": "Task.requester.agent.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.requester.agent.identifier",
                "path": "Task.requester.agent.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.requester.agent.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.requester.agent.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.requester.onBehalfOf",
                "path": "Task.requester.onBehalfOf",
                "short": "Organization individual is acting for",
                "definition": "The organization the device or practitioner was acting on behalf of when they initiated the task.",
                "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
                "requirements": "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": 0,
                "max": "1",
                "base": {
                    "path": "Task.requester.onBehalfOf",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.requester.onBehalfOf"
                    },
                    {
                        "identity": "rim",
                        "map": ".scoper"
                    }
                ]
            },
            {
                "id": "Task.requester.onBehalfOf.id",
                "path": "Task.requester.onBehalfOf.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.requester.onBehalfOf.extension",
                "path": "Task.requester.onBehalfOf.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.requester.onBehalfOf.reference",
                "path": "Task.requester.onBehalfOf.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.requester.onBehalfOf.identifier",
                "path": "Task.requester.onBehalfOf.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.requester.onBehalfOf.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.requester.onBehalfOf.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.performerType",
                "path": "Task.performerType",
                "short": "requester | dispatcher | scheduler | performer | monitor | manager | acquirer | reviewer",
                "definition": "The type of participant that can execute the task.",
                "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
                "requirements": "Use to distinguish tasks on different activity queues.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Task.performerType",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "TaskPerformerType"
                        }
                    ],
                    "strength": "preferred",
                    "description": "The type(s) of task performers allowed",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/task-performer-type"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "workflow",
                        "map": "Event.performer.role, Request.performerType"
                    },
                    {
                        "identity": "rim",
                        "map": ".participation[typeCode=PRF].role.code"
                    },
                    {
                        "identity": "w5",
                        "map": "who.actor"
                    }
                ]
            },
            {
                "id": "Task.performerType.id",
                "path": "Task.performerType.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.performerType.extension",
                "path": "Task.performerType.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.performerType.coding",
                "path": "Task.performerType.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.performerType.coding.id",
                "path": "Task.performerType.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.performerType.coding.extension",
                "path": "Task.performerType.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.performerType.coding.system",
                "path": "Task.performerType.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.performerType.coding.version",
                "path": "Task.performerType.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.performerType.coding.code",
                "path": "Task.performerType.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.performerType.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.performerType.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.performerType.coding.userSelected",
                "path": "Task.performerType.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.performerType.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.performerType.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Task.owner",
                "path": "Task.owner",
                "short": "Responsible individual",
                "definition": "Individual organization or Device currently responsible for task execution.",
                "comment": "Tasks may be created with an owner not yet identified.",
                "requirements": "Identifies who is expected to perform this task.",
                "alias":  [
                    "Performer",
                    "Executer"
                ],
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.owner",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/ITK-Device-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "workflow",
                        "map": "Event.performer.actor, Request.performer"
                    },
                    {
                        "identity": "rim",
                        "map": ".participation[typeCode=PRF].role"
                    },
                    {
                        "identity": "w5",
                        "map": "who.actor"
                    }
                ]
            },
            {
                "id": "Task.owner.id",
                "path": "Task.owner.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.owner.extension",
                "path": "Task.owner.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.owner.reference",
                "path": "Task.owner.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.owner.identifier",
                "path": "Task.owner.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.owner.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.owner.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.reason",
                "path": "Task.reason",
                "short": "Why task is needed",
                "definition": "A description or code indicating why this task needs to be performed.",
                "comment": "This should only be included if there is no focus or if it differs from the reason indicated on the focus.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.reason",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "TaskReason"
                        }
                    ],
                    "strength": "example",
                    "description": "Indicates why the task is needed.  E.g. Suspended because patient admitted to hospital."
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.reasonCode, Event.reasonCodeableConcept"
                    },
                    {
                        "identity": "rim",
                        "map": ".reasonCode"
                    },
                    {
                        "identity": "w5",
                        "map": "why"
                    }
                ]
            },
            {
                "id": "Task.reason.id",
                "path": "Task.reason.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.reason.extension",
                "path": "Task.reason.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.reason.coding",
                "path": "Task.reason.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.reason.coding.id",
                "path": "Task.reason.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.reason.coding.extension",
                "path": "Task.reason.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.reason.coding.system",
                "path": "Task.reason.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.reason.coding.version",
                "path": "Task.reason.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.reason.coding.code",
                "path": "Task.reason.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.reason.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.reason.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.reason.coding.userSelected",
                "path": "Task.reason.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.reason.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.reason.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Task.note",
                "path": "Task.note",
                "short": "Comments made about the task",
                "definition": "Free-text information captured about the task as it progresses.",
                "comment": "For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time.  This element may need to be included in narrative because of the potential for modifying information.  *Annotations SHOULD NOT* be used to communicate \"modifying\" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Task.note",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Annotation"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "Act"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.note, Event.note"
                    },
                    {
                        "identity": "rim",
                        "map": ".inboundRelationship[typeCode=SUBJ, ].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value(string)"
                    }
                ]
            },
            {
                "id": "Task.note.id",
                "path": "Task.note.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.note.extension",
                "path": "Task.note.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.note.author[x]",
                "path": "Task.note.author[x]",
                "short": "Individual responsible for the annotation",
                "definition": "The individual responsible for making the annotation.",
                "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Annotation.author[x]",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                    },
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "v2",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "Act.participant[typeCode=AUT].role"
                    }
                ]
            },
            {
                "id": "Task.note.time",
                "path": "Task.note.time",
                "short": "When the annotation was made",
                "definition": "Indicates when this particular annotation was made.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Annotation.time",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "Act.effectiveTime"
                    }
                ]
            },
            {
                "id": "Task.note.text",
                "path": "Task.note.text",
                "short": "The annotation  - text content",
                "definition": "The text of the annotation.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Annotation.text",
                    "min": 1,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "Act.text"
                    }
                ]
            },
            {
                "id": "Task.relevantHistory",
                "path": "Task.relevantHistory",
                "short": "Key events in history of the Task",
                "definition": "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.",
                "comment": "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":  [
                    "Status History"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Task.relevantHistory",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "workflow",
                        "map": "Request.relevantHistory"
                    },
                    {
                        "identity": "rim",
                        "map": ".inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]"
                    }
                ]
            },
            {
                "id": "Task.relevantHistory.id",
                "path": "Task.relevantHistory.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.relevantHistory.extension",
                "path": "Task.relevantHistory.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.relevantHistory.reference",
                "path": "Task.relevantHistory.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.relevantHistory.identifier",
                "path": "Task.relevantHistory.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.relevantHistory.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.relevantHistory.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.restriction",
                "path": "Task.restriction",
                "short": "Constraints on fulfillment tasks",
                "definition": "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": "Sometimes when fulfillment is sought, you don't want full fulfillment.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.restriction",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "BackboneElement"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "Instead of pointing to request, would point to component of request, having these characteristics"
                    }
                ]
            },
            {
                "id": "Task.restriction.id",
                "path": "Task.restriction.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.restriction.extension",
                "path": "Task.restriction.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.restriction.modifierExtension",
                "path": "Task.restriction.modifierExtension",
                "short": "Extensions that cannot be ignored",
                "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 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.",
                "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",
                    "modifiers"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "BackboneElement.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.restriction.repetitions",
                "path": "Task.restriction.repetitions",
                "short": "How many times to repeat",
                "definition": "Indicates the number of times the requested action should occur.",
                "comment": "32 bit number; for values larger than this, use decimal",
                "requirements": "E.g. order that requests monthly lab tests, fulfillment is sought for 1.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.restriction.repetitions",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "positiveInt"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": ".repeatNumber"
                    }
                ]
            },
            {
                "id": "Task.restriction.period",
                "path": "Task.restriction.period",
                "short": "When fulfillment sought",
                "definition": "Over what time-period is fulfillment sought.",
                "comment": "Note that period.high is the due date representing the time by which the task should be completed.",
                "requirements": "E.g. order that authorizes 1 year's services.  Fulfillment is sought for next 3 months.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Task.restriction.period",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Period"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "per-1",
                        "severity": "error",
                        "human": "If present, start SHALL have a lower value than end",
                        "expression": "start.empty() or end.empty() or (start <= end)",
                        "xpath": "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR"
                    },
                    {
                        "identity": "rim",
                        "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
                    },
                    {
                        "identity": "rim",
                        "map": ".effectiveTime(IVL<TS>)"
                    }
                ]
            },
            {
                "id": "Task.restriction.period.id",
                "path": "Task.restriction.period.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.restriction.period.extension",
                "path": "Task.restriction.period.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.restriction.period.start",
                "path": "Task.restriction.period.start",
                "short": "Starting time with inclusive boundary",
                "definition": "The start of the period. The boundary is inclusive.",
                "comment": "If the low element is missing, the meaning is that the low boundary is not known.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Period.start",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "per-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./low"
                    }
                ]
            },
            {
                "id": "Task.restriction.period.end",
                "path": "Task.restriction.period.end",
                "short": "End time with inclusive boundary, if not ongoing",
                "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
                "comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Period.end",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
                "condition":  [
                    "ele-1",
                    "per-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "DR.2"
                    },
                    {
                        "identity": "rim",
                        "map": "./high"
                    }
                ]
            },
            {
                "id": "Task.restriction.recipient",
                "path": "Task.restriction.recipient",
                "short": "For whom is fulfillment sought?",
                "definition": "For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought?",
                "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Task.restriction.recipient",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "rim",
                        "map": ".participation[typeCode=SBJ].role"
                    }
                ]
            },
            {
                "id": "Task.restriction.recipient.id",
                "path": "Task.restriction.recipient.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.restriction.recipient.extension",
                "path": "Task.restriction.recipient.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.restriction.recipient.reference",
                "path": "Task.restriction.recipient.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
                "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.restriction.recipient.identifier",
                "path": "Task.restriction.recipient.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
                "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Task.restriction.recipient.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.restriction.recipient.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "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": 1,
                "max": "*",
                "base": {
                    "path": "Task.input",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "BackboneElement"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "???"
                    }
                ]
            },
            {
                "id": "Task.input.id",
                "path": "Task.input.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.input.extension",
                "path": "Task.input.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.input.modifierExtension",
                "path": "Task.input.modifierExtension",
                "short": "Extensions that cannot be ignored",
                "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 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.",
                "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",
                    "modifiers"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "BackboneElement.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "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\", \"Concommitent Medications\", etc."
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "rim",
                        "map": "???"
                    }
                ]
            },
            {
                "id": "Task.input.type.id",
                "path": "Task.input.type.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.input.type.extension",
                "path": "Task.input.type.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.input.type.coding",
                "path": "Task.input.type.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.input.type.coding.id",
                "path": "Task.input.type.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.input.type.coding.extension",
                "path": "Task.input.type.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.input.type.coding.system",
                "path": "Task.input.type.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.input.type.coding.version",
                "path": "Task.input.type.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.input.type.coding.code",
                "path": "Task.input.type.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.input.type.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.input.type.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.input.type.coding.userSelected",
                "path": "Task.input.type.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.input.type.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.input.type.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "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.",
                "comment": "A stream of bytes, base64 encoded",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Task.input.value[x]",
                    "min": 1,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "base64Binary"
                    },
                    {
                        "code": "boolean"
                    },
                    {
                        "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": "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": "Meta"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "???"
                    }
                ]
            },
            {
                "id": "Task.output.id",
                "path": "Task.output.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.output.extension",
                "path": "Task.output.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.output.modifierExtension",
                "path": "Task.output.modifierExtension",
                "short": "Extensions that cannot be ignored",
                "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 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.",
                "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",
                    "modifiers"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "BackboneElement.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.output.type",
                "path": "Task.output.type",
                "short": "Label for output",
                "definition": "The name of the Output parameter.",
                "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "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": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "rim",
                        "map": "???"
                    }
                ]
            },
            {
                "id": "Task.output.type.id",
                "path": "Task.output.type.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.output.type.extension",
                "path": "Task.output.type.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.output.type.coding",
                "path": "Task.output.type.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Task.output.type.coding.id",
                "path": "Task.output.type.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Task.output.type.coding.extension",
                "path": "Task.output.type.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "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. 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.",
                "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"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Task.output.type.coding.system",
                "path": "Task.output.type.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Task.output.type.coding.version",
                "path": "Task.output.type.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Task.output.type.coding.code",
                "path": "Task.output.type.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Task.output.type.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.output.type.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Task.output.type.coding.userSelected",
                "path": "Task.output.type.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Task.output.type.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Task.output.type.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "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.",
                "comment": "A stream of bytes, base64 encoded",
                "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": "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": "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": "Meta"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "???"
                    }
                ]
            }
        ]
    },
    "differential": {
        "element":  [
            {
                "id": "Task.basedOn",
                "path": "Task.basedOn",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ]
            },
            {
                "id": "Task.partOf",
                "path": "Task.partOf",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Task"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ]
            },
            {
                "id": "Task.focus",
                "path": "Task.focus",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ]
            },
            {
                "id": "Task.for",
                "path": "Task.for",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ]
            },
            {
                "id": "Task.context",
                "path": "Task.context",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Encounter-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                    }
                ]
            },
            {
                "id": "Task.requester",
                "path": "Task.requester",
                "min": 1
            },
            {
                "id": "Task.requester.agent",
                "path": "Task.requester.agent",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/ITK-Device-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                    }
                ]
            },
            {
                "id": "Task.requester.agent.reference",
                "path": "Task.requester.agent.reference",
                "min": 1
            },
            {
                "id": "Task.owner",
                "path": "Task.owner",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/ITK-Device-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                    }
                ]
            },
            {
                "id": "Task.restriction.recipient",
                "path": "Task.restriction.recipient",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1"
                    }
                ]
            },
            {
                "id": "Task.input",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                        "valueString": "Parameter"
                    }
                ],
                "path": "Task.input",
                "min": 1
            },
            {
                "id": "Task.input.value[x]",
                "path": "Task.input.value[x]",
                "type":  [
                    {
                        "code": "base64Binary"
                    },
                    {
                        "code": "boolean"
                    },
                    {
                        "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": "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": "Meta"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Task-1"
                    }
                ]
            }
        ]
    }
}


back to top