PrescribeIT® Specification and Guide Version 5.0


v5.0 of this specification has been superseded by v5.3. v5.3 is compatible but adds additional features for Quebec.

The version (Bundle.meta.tag:version) that is sent in the message will remain PrescribeIT5.0

 

The official URL for this profile is:

http://prescribeit.ca/fhir/StructureDefinition/profile-task-request

Download Excel representation

Description of Profiles, Differentials, Snapshots and how the different presentations work.

>

This structure is derived from PrescribeIT® base Task profile

NameCard.TypeConstraints and Usage
.  Task 0..*PrescribeIT® base Task profileinv-2: A Failure reason may be present only when a task has failed.
inv-1: Last modified date must be greater than or equal to created date.
Definition:
A task to be performed.

..  id 1..1idDefinition:
The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.


Comments:
Usage Note: This will usually be a GUID and is assigned by the requesting application.

..  meta 1..1MetaDefinition:
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.

...  profile 1..*uriDefinition:
A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].


Comments:
It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.

..  extension
     (groupIdentifier)
1..1Task Group IdentifierDefinition:
This is the common identifier that represents a paper order. It may be shared by multiple Task instances for various Medication Orders, reflecting multiple requests that are authorized simultaneously for a patient by a single prescriber


Comments:
Usage Note: This business identifier is assigned by the sending application and is used to group tasks together that need to be processed and managed together. The following scenarios provide further detail:



Scenario 1) Single Task allowed within a Bundle: There are some business scenarios where a given task will be managed individually and only a single task is allowed in a bundle. This is true for the Adapt (p170) and the Pharmacist Prescribe (p190). Multiple tasks of the same type are not allowed, nor are any other task type.



Scenario 2) Single Task is sent. For any task type, the source system may send a single task within the bundle.



Scenario 3) In either scenario 1 or 2, the task will be assigned its own Group Identifier and will be handled as a group of one.



Scenario 4) Bundle restricted to same task type only: There are cases when only tasks of the same type can be grouped together. This is true for the cancel request (e140), Dispense Notifications (p200), Cancel RX Dispense Notification (p210). In this scenario, no other task types are allowed within the bundle.



Scenario 5) Same or Mixed Task Types within a single group: There are cases when either all the tasks within a group happen to have the same task type (p160) which are not necessary restricted due to 4 or certain task types that are different can be grouped together. This is true for new (e110) and renewal (e120) where these are part of the same prescription. Another scenario is that renewal responses (e161, e162, e163, e164) may be sent with an e110 and/or an e120.



Scenario 6) In either scenario 4 and 5, the same Group Identifier must be assigned to the multiple tasks as they are all part of the same group. All task resources sharing a Group Identifier must be transmitted in the same message bundle and should be treated as a group by the receiving system.



Scenario 7) The p160 task type can only be sent within it's own bundle.



Multiple Group Identifiers within the same Bundle is not allowed.



The Task.extension:groupIdentifier.valueIdentifier.system element will be an OID of the form [Vendor root].[Application instance node].3 expressed as a uri (e.g. urn:oid:1.2.3.4). The branch “.3” is appended to create a unique namespace for the Group Identifer. The Task.extension:groupIdentifier.valueIdentifier.value element will be assigned by the sending system and must be a unique business identifier.

..  type 1..1Shared Health CodeableConcept CodeBinding: PrescriptionTaskType (20190315) (required)
Definition:
A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.


Comments:
This will be a fixed code for each type of task. Review usage comments on child elements.

..  status 1..1codeBinding: TaskStatus (required): The current status of the task.


Definition:
The current status of the task.


Comments:
This will be fixed based on the task code being used as the architecture calls for different tasks for each state rather than updating of existing tasks.

..  subject 0..1Reference(Resource)Definition:
The subject of the task.

..  for 1..1Reference(Shared Health Patient) {b}Definition:
The entity who benefits from the performance of the service specified in the task (e.g., the patient).


Comments:
Identifies the patient tied to the task. (FHIR prohibits inheritance of context, so this must be explicitly declared rather than inferred from the presence of the Patient resource in the message)

...  reference 1..1stringDefinition:
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.


Comments:
This is a reference to the Patient associated with the task. It will be a URN pointing to the id of the patient record in the message

..  created 1..1dateTimecreated-full: Must be at least a full date. i.e. yyyy-mm-dd
Definition:
The date and time this task was created.


Comments:
This indicates when the request was created. This will generally be the same as the date of message construction.



Conformance Rule: Date-Time must be specified down to the day. Time is optional and may be ignored.



Usage Note: If time is present, FHIR requires the UTC offset and for time to be specified down to the seconds. If seconds aren't available, they may be filled with '00'

..  lastModified 1..1dateTimecreated-full: Must be at least a full date. i.e. yyyy-mm-dd
Definition:
The date and time of last modification to this task.


Comments:
This is required by FHIR but is not needed. It should generally be set to the same value as Task.created. This is the date of the most recent transaction as recorded in the EMR.



Usage Note: If time is present, FHIR requires the UTC offset and for time to be specified down to the seconds. If seconds aren't available, they may be filled with '00'.



Conformance Rule: PMS is not expected to display this date as it is irrelevant to the Pharmacist or to the processing of the discontinue notification.

..  creator 1..1Reference(Device | Organization | Patient | Practitioner | RelatedPerson)Definition:
The creator of the task.


Comments:
This is who is submitting the task and asking it be done

This structure is derived from PrescribeIT® base Task profile

Summary

Prohibited: 1 element

Extensions

This structure refers to these extensions:

This structure is derived from PrescribeIT® base Task profile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task 0..*PrescribeIT® base Task profileA task to be performed
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-task-basedon 0..0Reference()

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Task I0..*PrescribeIT® base Task profileA task to be performed
... id SΣ1..1idLogical id of this artifact
... meta SΣ1..1MetaMetadata about the resource
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... profile SΣ1..*uriProfiles this resource claims to conform to
.... tag Σ0..*CodingTags applied to this resource
Binding: (unbound) (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: http://tools.ietf.org/html/bcp47 (required): A human language.


... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-task-group-identifier S1..1Shared Health IdentifierGroup Identifier
URL: http://hl7.org/fhir/StructureDefinition/extension-Task.groupIdentifier profiled by http://prescribeit.ca/fhir/StructureDefinition/ext-task-group-identifier
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..1IdentifierTask Instance Identifier
... type S1..1Shared Health CodeableConcept CodeConcept - reference to a terminology or just text
Binding: PrescriptionTaskType (20190315) (required)
... description Σ0..1stringTask Description
... performerType 0..*Codingrequester | dispatcher | scheduler | performer | monitor | manager | acquirer | reviewer
Binding: TaskPerformerType (preferred): The type(s) of task performers allowed


... priority 0..1codenormal | high
Binding: PrescriptionTaskPriority (20190415) (required)
... status SΣI1..1codedraft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.

... failureReason ΣI0..1CodeableConceptTask Failure Reason
... subject S0..1Reference(Resource)Focus of task
... for SΣ1..1Reference(Shared Health Patient) {b}Beneficiary of the Task
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... reference SΣI1..1stringRelative, internal or absolute URL reference
.... display Σ0..1stringText alternative for the resource
... definition Σ0..1uriTask Definition
... created SI1..1dateTimeTask Creation Date
created-full: Must be at least a full date. i.e. yyyy-mm-dd
... lastModified SΣI1..1dateTimeTask Last Modified Date
created-full: Must be at least a full date. i.e. yyyy-mm-dd
... creator S1..1Reference(Device | Organization | Patient | Practitioner | RelatedPerson)Task requestor
... owner 0..1Reference(Device | Organization | Patient | Practitioner | RelatedPerson)Task recipient
... parent 0..1Reference(Task)Composite task
... input 0..*BackboneElementTask Input
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... name 1..1stringInput Name
.... value[x] 1..1Input Value
..... valueBooleanboolean
..... valueIntegerinteger
..... valueDecimaldecimal
..... valueBase64Binarybase64Binary
..... valueInstantinstant
..... valueStringstring
..... valueUriuri
..... valueDatedate
..... valueDateTimedateTime
..... valueTimetime
..... valueCodecode
..... valueOidoid
..... valueIdid
..... valueUnsignedIntunsignedInt
..... valuePositiveIntpositiveInt
..... valueMarkdownmarkdown
..... valueAnnotationAnnotation
..... valueAttachmentAttachment
..... valueIdentifierIdentifier
..... valueCodeableConceptCodeableConcept
..... valueCodingCoding
..... valueQuantityQuantity
..... valueRangeRange
..... valuePeriodPeriod
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueHumanNameHumanName
..... valueAddressAddress
..... valueContactPointContactPoint
..... valueTimingTiming
..... valueReferenceReference(Any)
..... valueMetaMeta
... output 0..*BackboneElementTask Output
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... name 1..1stringOutput Name
.... value[x] 1..1Output Value
..... valueBooleanboolean
..... valueIntegerinteger
..... valueDecimaldecimal
..... valueBase64Binarybase64Binary
..... valueInstantinstant
..... valueStringstring
..... valueUriuri
..... valueDatedate
..... valueDateTimedateTime
..... valueTimetime
..... valueCodecode
..... valueOidoid
..... valueIdid
..... valueUnsignedIntunsignedInt
..... valuePositiveIntpositiveInt
..... valueMarkdownmarkdown
..... valueAnnotationAnnotation
..... valueAttachmentAttachment
..... valueIdentifierIdentifier
..... valueCodeableConceptCodeableConcept
..... valueCodingCoding
..... valueQuantityQuantity
..... valueRangeRange
..... valuePeriodPeriod
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueHumanNameHumanName
..... valueAddressAddress
..... valueContactPointContactPoint
..... valueTimingTiming
..... valueReferenceReference(Any)
..... valueMetaMeta

doco Documentation for this format

Grid View

This structure is derived from PrescribeIT® base Task profile

NameCard.TypeConstraints and Usage
.  Task 0..*PrescribeIT® base Task profileinv-2: A Failure reason may be present only when a task has failed.
inv-1: Last modified date must be greater than or equal to created date.
Definition:
A task to be performed.

..  id 1..1idDefinition:
The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.


Comments:
Usage Note: This will usually be a GUID and is assigned by the requesting application.

..  meta 1..1MetaDefinition:
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.

...  profile 1..*uriDefinition:
A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].


Comments:
It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.

..  extension
     (groupIdentifier)
1..1Task Group IdentifierDefinition:
This is the common identifier that represents a paper order. It may be shared by multiple Task instances for various Medication Orders, reflecting multiple requests that are authorized simultaneously for a patient by a single prescriber


Comments:
Usage Note: This business identifier is assigned by the sending application and is used to group tasks together that need to be processed and managed together. The following scenarios provide further detail:



Scenario 1) Single Task allowed within a Bundle: There are some business scenarios where a given task will be managed individually and only a single task is allowed in a bundle. This is true for the Adapt (p170) and the Pharmacist Prescribe (p190). Multiple tasks of the same type are not allowed, nor are any other task type.



Scenario 2) Single Task is sent. For any task type, the source system may send a single task within the bundle.



Scenario 3) In either scenario 1 or 2, the task will be assigned its own Group Identifier and will be handled as a group of one.



Scenario 4) Bundle restricted to same task type only: There are cases when only tasks of the same type can be grouped together. This is true for the cancel request (e140), Dispense Notifications (p200), Cancel RX Dispense Notification (p210). In this scenario, no other task types are allowed within the bundle.



Scenario 5) Same or Mixed Task Types within a single group: There are cases when either all the tasks within a group happen to have the same task type (p160) which are not necessary restricted due to 4 or certain task types that are different can be grouped together. This is true for new (e110) and renewal (e120) where these are part of the same prescription. Another scenario is that renewal responses (e161, e162, e163, e164) may be sent with an e110 and/or an e120.



Scenario 6) In either scenario 4 and 5, the same Group Identifier must be assigned to the multiple tasks as they are all part of the same group. All task resources sharing a Group Identifier must be transmitted in the same message bundle and should be treated as a group by the receiving system.



Scenario 7) The p160 task type can only be sent within it's own bundle.



Multiple Group Identifiers within the same Bundle is not allowed.



The Task.extension:groupIdentifier.valueIdentifier.system element will be an OID of the form [Vendor root].[Application instance node].3 expressed as a uri (e.g. urn:oid:1.2.3.4). The branch “.3” is appended to create a unique namespace for the Group Identifer. The Task.extension:groupIdentifier.valueIdentifier.value element will be assigned by the sending system and must be a unique business identifier.

..  type 1..1Shared Health CodeableConcept CodeBinding: PrescriptionTaskType (20190315) (required)
Definition:
A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.


Comments:
This will be a fixed code for each type of task. Review usage comments on child elements.

..  status 1..1codeBinding: TaskStatus (required): The current status of the task.


Definition:
The current status of the task.


Comments:
This will be fixed based on the task code being used as the architecture calls for different tasks for each state rather than updating of existing tasks.

..  subject 0..1Reference(Resource)Definition:
The subject of the task.

..  for 1..1Reference(Shared Health Patient) {b}Definition:
The entity who benefits from the performance of the service specified in the task (e.g., the patient).


Comments:
Identifies the patient tied to the task. (FHIR prohibits inheritance of context, so this must be explicitly declared rather than inferred from the presence of the Patient resource in the message)

...  reference 1..1stringDefinition:
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.


Comments:
This is a reference to the Patient associated with the task. It will be a URN pointing to the id of the patient record in the message

..  created 1..1dateTimecreated-full: Must be at least a full date. i.e. yyyy-mm-dd
Definition:
The date and time this task was created.


Comments:
This indicates when the request was created. This will generally be the same as the date of message construction.



Conformance Rule: Date-Time must be specified down to the day. Time is optional and may be ignored.



Usage Note: If time is present, FHIR requires the UTC offset and for time to be specified down to the seconds. If seconds aren't available, they may be filled with '00'

..  lastModified 1..1dateTimecreated-full: Must be at least a full date. i.e. yyyy-mm-dd
Definition:
The date and time of last modification to this task.


Comments:
This is required by FHIR but is not needed. It should generally be set to the same value as Task.created. This is the date of the most recent transaction as recorded in the EMR.



Usage Note: If time is present, FHIR requires the UTC offset and for time to be specified down to the seconds. If seconds aren't available, they may be filled with '00'.



Conformance Rule: PMS is not expected to display this date as it is irrelevant to the Pharmacist or to the processing of the discontinue notification.

..  creator 1..1Reference(Device | Organization | Patient | Practitioner | RelatedPerson)Definition:
The creator of the task.


Comments:
This is who is submitting the task and asking it be done

This structure is derived from PrescribeIT® base Task profile

Summary

Prohibited: 1 element

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from PrescribeIT® base Task profile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task 0..*PrescribeIT® base Task profileA task to be performed
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-task-basedon 0..0Reference()

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task I0..*PrescribeIT® base Task profileA task to be performed
... id SΣ1..1idLogical id of this artifact
... meta SΣ1..1MetaMetadata about the resource
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... profile SΣ1..*uriProfiles this resource claims to conform to
.... tag Σ0..*CodingTags applied to this resource
Binding: (unbound) (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: http://tools.ietf.org/html/bcp47 (required): A human language.


... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-task-group-identifier S1..1Shared Health IdentifierGroup Identifier
URL: http://hl7.org/fhir/StructureDefinition/extension-Task.groupIdentifier profiled by http://prescribeit.ca/fhir/StructureDefinition/ext-task-group-identifier
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..1IdentifierTask Instance Identifier
... type S1..1Shared Health CodeableConcept CodeConcept - reference to a terminology or just text
Binding: PrescriptionTaskType (20190315) (required)
... description Σ0..1stringTask Description
... performerType 0..*Codingrequester | dispatcher | scheduler | performer | monitor | manager | acquirer | reviewer
Binding: TaskPerformerType (preferred): The type(s) of task performers allowed


... priority 0..1codenormal | high
Binding: PrescriptionTaskPriority (20190415) (required)
... status SΣI1..1codedraft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.

... failureReason ΣI0..1CodeableConceptTask Failure Reason
... subject S0..1Reference(Resource)Focus of task
... for SΣ1..1Reference(Shared Health Patient) {b}Beneficiary of the Task
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... reference SΣI1..1stringRelative, internal or absolute URL reference
.... display Σ0..1stringText alternative for the resource
... definition Σ0..1uriTask Definition
... created SI1..1dateTimeTask Creation Date
created-full: Must be at least a full date. i.e. yyyy-mm-dd
... lastModified SΣI1..1dateTimeTask Last Modified Date
created-full: Must be at least a full date. i.e. yyyy-mm-dd
... creator S1..1Reference(Device | Organization | Patient | Practitioner | RelatedPerson)Task requestor
... owner 0..1Reference(Device | Organization | Patient | Practitioner | RelatedPerson)Task recipient
... parent 0..1Reference(Task)Composite task
... input 0..*BackboneElementTask Input
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... name 1..1stringInput Name
.... value[x] 1..1Input Value
..... valueBooleanboolean
..... valueIntegerinteger
..... valueDecimaldecimal
..... valueBase64Binarybase64Binary
..... valueInstantinstant
..... valueStringstring
..... valueUriuri
..... valueDatedate
..... valueDateTimedateTime
..... valueTimetime
..... valueCodecode
..... valueOidoid
..... valueIdid
..... valueUnsignedIntunsignedInt
..... valuePositiveIntpositiveInt
..... valueMarkdownmarkdown
..... valueAnnotationAnnotation
..... valueAttachmentAttachment
..... valueIdentifierIdentifier
..... valueCodeableConceptCodeableConcept
..... valueCodingCoding
..... valueQuantityQuantity
..... valueRangeRange
..... valuePeriodPeriod
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueHumanNameHumanName
..... valueAddressAddress
..... valueContactPointContactPoint
..... valueTimingTiming
..... valueReferenceReference(Any)
..... valueMetaMeta
... output 0..*BackboneElementTask Output
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... name 1..1stringOutput Name
.... value[x] 1..1Output Value
..... valueBooleanboolean
..... valueIntegerinteger
..... valueDecimaldecimal
..... valueBase64Binarybase64Binary
..... valueInstantinstant
..... valueStringstring
..... valueUriuri
..... valueDatedate
..... valueDateTimedateTime
..... valueTimetime
..... valueCodecode
..... valueOidoid
..... valueIdid
..... valueUnsignedIntunsignedInt
..... valuePositiveIntpositiveInt
..... valueMarkdownmarkdown
..... valueAnnotationAnnotation
..... valueAttachmentAttachment
..... valueIdentifierIdentifier
..... valueCodeableConceptCodeableConcept
..... valueCodingCoding
..... valueQuantityQuantity
..... valueRangeRange
..... valuePeriodPeriod
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueHumanNameHumanName
..... valueAddressAddress
..... valueContactPointContactPoint
..... valueTimingTiming
..... valueReferenceReference(Any)
..... valueMetaMeta

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet
Task.meta.tagexample
Task.languagerequiredhttp://tools.ietf.org/html/bcp47
Task.typerequiredPrescriptionTaskType
Task.performerTypepreferredTaskPerformerType
Task.priorityrequiredPrescriptionTaskPriority
Task.statusrequiredTaskStatus

Constraints

IdPathDetailsRequirements
inv-2TaskA Failure reason may be present only when a task has failed.
: failureReason.empty() or status = 'failed'
inv-1TaskLast modified date must be greater than or equal to created date.
: lastModified >= created
created-fullTask.createdMust be at least a full date. i.e. yyyy-mm-dd
: length()>=10
created-fullTask.lastModifiedMust be at least a full date. i.e. yyyy-mm-dd
: length()>=10