3.78 StructureDefinition: Interaction Bundle 401 - Execute deferred tasks from an EMR
The official URL for this profile is:
http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401
When a patient is uncertain on where they wish their prescription to be filled, the Physician can create a 'Execute Deferred Tasks from an EMR’. The prescription will be sent to PrescribeIT™. The prescription will be stored and held in a database.
The patient is then able to take the paper prescription to any Pharmacy. The Pharmacy will be able to query for the electronic version of the prescription to pre-populate their software.
3.78.2 Formal Views of Profile Content
Download Excel representation
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from PrescribeIT Message Bundle for Tasks
Name | Card. | Type | Constraints and Usage |
---|---|---|---|
Bundle | 0..* | bdl-2: entry.search only when a search bdl-1: total only when a search or history bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId bdl-3: entry.request only for some types of bundles bdl-4: entry.response only for some types of bundles headerExists: First entry must be a MessageHeader patientin1: Second entry must be a Patient max25tasks: Cannot have more than 25 tasks in one message sameGroup: All "requisition" extensions in the bundle must have the same value messageis401: First entry must be a MessageHeader with the messageheader-401 profile Patient2nd: Second entry must be a Patient onlyOneSAML: Only one practitioner in the bundle may have a SAML token Definition: A container for a collection of resources. | |
id | 0..1 | id | Definition: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. Comments: Usage Note: This value is assigned by the PrescribeIT™ system upon receipt of a bundle and returned synchronously in the response to that bundle. This ID should not be confused with the traceID that is also returned in the response and is generally used when diagnosing message failures within the PrescribeIT™ system logs. The Bundle.id is also used by receiving systems to remove the bundle from their inbox after they have successfully retrieved the bundle. |
meta | 1..1 | Meta | 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. |
profile | 2..* | uri | Slice: Unordered, Open by value:value Definition: 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. The list of profile URLs is a set. |
profile (BaseProfile) | 1..1 | uri | Fixed Value: http://sharedhealth.exchange/fhir/StructureDefinition/profile-bundle-message Definition: A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]]. Comments: Fixed value: http://sharedhealth.exchange/fhir/StructureDefinition/profile-bundle-message |
profile (MessageProfile) | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401 Definition: A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]]. Comments: Fixed value: http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401 |
tag | 1..* | Coding | Slice: Unordered, Open by value:system Binding: (unbound) (example) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored. |
tag (version) | 1..1 | Coding | Binding: SharedSpecificationVersion (required) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: Usage Note: This the version of the specification the Bundle claims to be conformant with. |
system | 1..1 | uri | Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion Definition: The identification of the code system that defines the meaning of the symbol in the code. Comments: Fixed value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion |
code | 1..1 | code | Fixed Value: PrescribeIT2.0 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). Comments: Fixed value: PrescribeIT2.0 |
tag (message-key) | 0..1 | Coding | Binding: (unbound) (example) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: Conformance rule: This element should NOT be present when submitting a 401 to the mailbox. It will be assigned by the mailbox and will be included in the message returned to the EMR as part of the HTTP 201 Created response to the POST. It will also be returned when querying for the 401 message from the PrescribeIT system. The 'code' string for this tag must be printed on the paper prescription provided to the patient. The pharmacy will use this string to retrieve the prescription from the PrescribeIT repository. Usage Note: This will be a 6-10 alphanumeric character. |
system | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/message-key Definition: The identification of the code system that defines the meaning of the symbol in the code. Comments: Fixed value: http://prescribeit.ca/fhir/CodeSystem/message-key |
code | 1..1 | code | 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). Comments: This is the value to be printed on the prescription and used by the pharmacy to retrieve the prescription |
tag (birth-date) | 0..1 | Coding | Binding: (unbound) (example) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: Conformance rule: This element should NOT be present when submitting a 401 to the mailbox. It will be populated by the mailbox and will be included in the message returned to the EMR as part of the HTTP 201 Created response to the POST. It will also be returned when querying for the 401 message from the PrescribeIT system. The value will be set to the birth date as specified in the Patient resource contained within the bundle. It will be used as part of the search by the pharmacy when retrieving the prescription - as a confirmation |
system | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/birth-date Definition: The identification of the code system that defines the meaning of the symbol in the code. Comments: Fixed value: http://prescribeit.ca/fhir/CodeSystem/birth-date |
code | 1..1 | code | 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). Comments: This is will be the patient's birth-date in yyyy-mm-dd format. |
tag (last-name) | 0..1 | Coding | Binding: (unbound) (example) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: Conformance rule: This element should NOT be present when submitting a 401 to the mailbox. It will be assigned by the mailbox and will be included in the message returned to the EMR as part of the HTTP 201 Created response to the POST. It will also be returned when querying for the 401 message from the PrescribeIT system. The value will be set to the patient's last name as specified in the Patient resource contained within the bundle. It will be used as part of the search by the pharmacy when retrieving the prescription - as a confirmation |
system | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/last-name Definition: The identification of the code system that defines the meaning of the symbol in the code. Comments: Fixed value: http://prescribeit.ca/fhir/CodeSystem/last-name |
code | 1..1 | code | 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). Comments: This will be the patient's last name |
type | 1..1 | code | Binding: BundleType (required) Fixed Value: message Definition: Indicates the purpose of this bundle- how it was intended to be used. Comments: Fixed value: message |
entry | 5..* | BackboneElement | bdl-5: must be a resource unless there's a request or response bdl-6: The fullUrl element must be present when a resource is present, and not present otherwise Definition: An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only). Comments: Conformance Rule: A bundle may include various tasks, though at present only one deferred task is supported - New Prescription. |
fullUrl | 1..1 | uri | Definition: The Absolute URL for the resource. The fullUrl SHALL not disagree with the id in the resource. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: * fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) * Results from operations might involve resources that are not identified. Comments: fullUrl may not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the absolute URL may not end with the logical id of the resource (Resource.id), but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then it SHALL end with the Resource.id. |
resource | 1..1 | Resource | Definition: The Resources for the entry. |
signature | 0..1 | Signature | Definition: Digital Signature - base64 encoded. XML DigSIg or a JWT. Comments: The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific. |
This structure is derived from PrescribeIT Message Bundle for Tasks
Summary
Mandatory: 3 elements (6 nested mandatory elements)
Must-Support: 17 elements
Fixed Value: 5 elements
Slices
This structure defines the following Slices:
- The element Bundle.meta.profile is sliced based on the value of value:value
- The element Bundle.meta.tag is sliced based on the value of value:system
This structure is derived from PrescribeIT Message Bundle for Tasks
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | SI | 0..* | messageis401: First entry must be a MessageHeader with the messageheader-401 profile Patient2nd: Second entry must be a Patient onlyOneSAML: Only one practitioner in the bundle may have a SAML token | |
meta | S | 1..1 | Meta | |
profile | S | uri | Slice: Unordered, Open by value:value | |
profile | S | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401 |
tag | S | Coding | Slice: Unordered, Open by value:system | |
tag | S | 1..1 | Coding | |
code | S | 1..1 | code | Fixed Value: PrescribeIT2.0 |
tag | S | 0..1 | Coding | |
system | S | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/message-key |
code | S | 1..1 | code | Message key |
tag | S | 0..1 | Coding | |
system | S | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/birth-date |
code | S | 1..1 | code | Birth date |
tag | S | 0..1 | Coding | |
system | S | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/last-name |
code | S | 1..1 | code | Last name |
entry | S | 5..* | BackboneElement | |
signature | S | 0..1 | Signature | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | SΣI | 0..* | Contains a collection of resources messageis401: First entry must be a MessageHeader with the messageheader-401 profile Patient2nd: Second entry must be a Patient onlyOneSAML: Only one practitioner in the bundle may have a SAML token | |
id | SΣ | 0..1 | id | Logical id of this artifact |
meta | SΣ | 1..1 | Meta | Metadata about the resource |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
versionId | Σ | 0..1 | id | Version specific identifier |
lastUpdated | Σ | 0..1 | instant | When the resource version last changed |
profile | SΣ | uri | Profiles this resource claims to conform to Slice: Unordered, Open by value:value | |
profile | SΣ | 1..1 | uri | Profiles this resource claims to conform to Fixed Value: http://sharedhealth.exchange/fhir/StructureDefinition/profile-bundle-message |
profile | SΣ | 1..1 | uri | Profiles this resource claims to conform to Fixed Value: http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401 |
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible) |
tag | SΣ | Coding | Tags applied to this resource Slice: Unordered, Open by value:system Binding: (unbound) (example) | |
tag | SΣ | 1..1 | Coding | Tags applied to this resource Binding: SharedSpecificationVersion (required) |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PrescribeIT2.0 |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
tag | SΣ | 0..1 | Coding | Tags applied to this resource Binding: (unbound) (example) |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://prescribeit.ca/fhir/CodeSystem/message-key |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Message key |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
tag | SΣ | 0..1 | Coding | Tags applied to this resource Binding: (unbound) (example) |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://prescribeit.ca/fhir/CodeSystem/birth-date |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Birth date |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
tag | SΣ | 0..1 | Coding | Tags applied to this resource Binding: (unbound) (example) |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://prescribeit.ca/fhir/CodeSystem/last-name |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Last name |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: http://tools.ietf.org/html/bcp47 (required) | |
type | SΣ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required) Fixed Value: message |
total | ΣI | 0..1 | unsignedInt | If search, the total number of matches |
link | Σ | 0..* | BackboneElement | Links related to this Bundle |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
relation | Σ | 1..1 | string | http://www.iana.org/assignments/link-relations/link-relations.xhtml |
url | Σ | 1..1 | uri | Reference details for the link |
entry | SΣI | 5..* | BackboneElement | Entry in the bundle - will have a resource, or information |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
fullUrl | SΣ | 1..1 | uri | Absolute URL for resource (server address, or UUID/OID) |
resource | SΣ | 1..1 | Resource | A resource in the bundle |
signature | SΣ | 0..1 | Signature | Digital Signature |
Documentation for this format |
Grid View
This structure is derived from PrescribeIT Message Bundle for Tasks
Name | Card. | Type | Constraints and Usage |
---|---|---|---|
Bundle | 0..* | bdl-2: entry.search only when a search bdl-1: total only when a search or history bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId bdl-3: entry.request only for some types of bundles bdl-4: entry.response only for some types of bundles headerExists: First entry must be a MessageHeader patientin1: Second entry must be a Patient max25tasks: Cannot have more than 25 tasks in one message sameGroup: All "requisition" extensions in the bundle must have the same value messageis401: First entry must be a MessageHeader with the messageheader-401 profile Patient2nd: Second entry must be a Patient onlyOneSAML: Only one practitioner in the bundle may have a SAML token Definition: A container for a collection of resources. | |
id | 0..1 | id | Definition: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. Comments: Usage Note: This value is assigned by the PrescribeIT™ system upon receipt of a bundle and returned synchronously in the response to that bundle. This ID should not be confused with the traceID that is also returned in the response and is generally used when diagnosing message failures within the PrescribeIT™ system logs. The Bundle.id is also used by receiving systems to remove the bundle from their inbox after they have successfully retrieved the bundle. |
meta | 1..1 | Meta | 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. |
profile | 2..* | uri | Slice: Unordered, Open by value:value Definition: 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. The list of profile URLs is a set. |
profile (BaseProfile) | 1..1 | uri | Fixed Value: http://sharedhealth.exchange/fhir/StructureDefinition/profile-bundle-message Definition: A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]]. Comments: Fixed value: http://sharedhealth.exchange/fhir/StructureDefinition/profile-bundle-message |
profile (MessageProfile) | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401 Definition: A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]]. Comments: Fixed value: http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401 |
tag | 1..* | Coding | Slice: Unordered, Open by value:system Binding: (unbound) (example) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored. |
tag (version) | 1..1 | Coding | Binding: SharedSpecificationVersion (required) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: Usage Note: This the version of the specification the Bundle claims to be conformant with. |
system | 1..1 | uri | Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion Definition: The identification of the code system that defines the meaning of the symbol in the code. Comments: Fixed value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion |
code | 1..1 | code | Fixed Value: PrescribeIT2.0 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). Comments: Fixed value: PrescribeIT2.0 |
tag (message-key) | 0..1 | Coding | Binding: (unbound) (example) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: Conformance rule: This element should NOT be present when submitting a 401 to the mailbox. It will be assigned by the mailbox and will be included in the message returned to the EMR as part of the HTTP 201 Created response to the POST. It will also be returned when querying for the 401 message from the PrescribeIT system. The 'code' string for this tag must be printed on the paper prescription provided to the patient. The pharmacy will use this string to retrieve the prescription from the PrescribeIT repository. Usage Note: This will be a 6-10 alphanumeric character. |
system | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/message-key Definition: The identification of the code system that defines the meaning of the symbol in the code. Comments: Fixed value: http://prescribeit.ca/fhir/CodeSystem/message-key |
code | 1..1 | code | 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). Comments: This is the value to be printed on the prescription and used by the pharmacy to retrieve the prescription |
tag (birth-date) | 0..1 | Coding | Binding: (unbound) (example) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: Conformance rule: This element should NOT be present when submitting a 401 to the mailbox. It will be populated by the mailbox and will be included in the message returned to the EMR as part of the HTTP 201 Created response to the POST. It will also be returned when querying for the 401 message from the PrescribeIT system. The value will be set to the birth date as specified in the Patient resource contained within the bundle. It will be used as part of the search by the pharmacy when retrieving the prescription - as a confirmation |
system | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/birth-date Definition: The identification of the code system that defines the meaning of the symbol in the code. Comments: Fixed value: http://prescribeit.ca/fhir/CodeSystem/birth-date |
code | 1..1 | code | 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). Comments: This is will be the patient's birth-date in yyyy-mm-dd format. |
tag (last-name) | 0..1 | Coding | Binding: (unbound) (example) Definition: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. Comments: Conformance rule: This element should NOT be present when submitting a 401 to the mailbox. It will be assigned by the mailbox and will be included in the message returned to the EMR as part of the HTTP 201 Created response to the POST. It will also be returned when querying for the 401 message from the PrescribeIT system. The value will be set to the patient's last name as specified in the Patient resource contained within the bundle. It will be used as part of the search by the pharmacy when retrieving the prescription - as a confirmation |
system | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/last-name Definition: The identification of the code system that defines the meaning of the symbol in the code. Comments: Fixed value: http://prescribeit.ca/fhir/CodeSystem/last-name |
code | 1..1 | code | 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). Comments: This will be the patient's last name |
type | 1..1 | code | Binding: BundleType (required) Fixed Value: message Definition: Indicates the purpose of this bundle- how it was intended to be used. Comments: Fixed value: message |
entry | 5..* | BackboneElement | bdl-5: must be a resource unless there's a request or response bdl-6: The fullUrl element must be present when a resource is present, and not present otherwise Definition: An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only). Comments: Conformance Rule: A bundle may include various tasks, though at present only one deferred task is supported - New Prescription. |
fullUrl | 1..1 | uri | Definition: The Absolute URL for the resource. The fullUrl SHALL not disagree with the id in the resource. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: * fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) * Results from operations might involve resources that are not identified. Comments: fullUrl may not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the absolute URL may not end with the logical id of the resource (Resource.id), but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then it SHALL end with the Resource.id. |
resource | 1..1 | Resource | Definition: The Resources for the entry. |
signature | 0..1 | Signature | Definition: Digital Signature - base64 encoded. XML DigSIg or a JWT. Comments: The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific. |
This structure is derived from PrescribeIT Message Bundle for Tasks
Summary
Mandatory: 3 elements (6 nested mandatory elements)
Must-Support: 17 elements
Fixed Value: 5 elements
Slices
This structure defines the following Slices:
- The element Bundle.meta.profile is sliced based on the value of value:value
- The element Bundle.meta.tag is sliced based on the value of value:system
Differential View
This structure is derived from PrescribeIT Message Bundle for Tasks
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | SI | 0..* | messageis401: First entry must be a MessageHeader with the messageheader-401 profile Patient2nd: Second entry must be a Patient onlyOneSAML: Only one practitioner in the bundle may have a SAML token | |
meta | S | 1..1 | Meta | |
profile | S | uri | Slice: Unordered, Open by value:value | |
profile | S | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401 |
tag | S | Coding | Slice: Unordered, Open by value:system | |
tag | S | 1..1 | Coding | |
code | S | 1..1 | code | Fixed Value: PrescribeIT2.0 |
tag | S | 0..1 | Coding | |
system | S | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/message-key |
code | S | 1..1 | code | Message key |
tag | S | 0..1 | Coding | |
system | S | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/birth-date |
code | S | 1..1 | code | Birth date |
tag | S | 0..1 | Coding | |
system | S | 1..1 | uri | Fixed Value: http://prescribeit.ca/fhir/CodeSystem/last-name |
code | S | 1..1 | code | Last name |
entry | S | 5..* | BackboneElement | |
signature | S | 0..1 | Signature | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | SΣI | 0..* | Contains a collection of resources messageis401: First entry must be a MessageHeader with the messageheader-401 profile Patient2nd: Second entry must be a Patient onlyOneSAML: Only one practitioner in the bundle may have a SAML token | |
id | SΣ | 0..1 | id | Logical id of this artifact |
meta | SΣ | 1..1 | Meta | Metadata about the resource |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
versionId | Σ | 0..1 | id | Version specific identifier |
lastUpdated | Σ | 0..1 | instant | When the resource version last changed |
profile | SΣ | uri | Profiles this resource claims to conform to Slice: Unordered, Open by value:value | |
profile | SΣ | 1..1 | uri | Profiles this resource claims to conform to Fixed Value: http://sharedhealth.exchange/fhir/StructureDefinition/profile-bundle-message |
profile | SΣ | 1..1 | uri | Profiles this resource claims to conform to Fixed Value: http://prescribeit.ca/fhir/StructureDefinition/interaction-bundle-401 |
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible) |
tag | SΣ | Coding | Tags applied to this resource Slice: Unordered, Open by value:system Binding: (unbound) (example) | |
tag | SΣ | 1..1 | Coding | Tags applied to this resource Binding: SharedSpecificationVersion (required) |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PrescribeIT2.0 |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
tag | SΣ | 0..1 | Coding | Tags applied to this resource Binding: (unbound) (example) |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://prescribeit.ca/fhir/CodeSystem/message-key |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Message key |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
tag | SΣ | 0..1 | Coding | Tags applied to this resource Binding: (unbound) (example) |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://prescribeit.ca/fhir/CodeSystem/birth-date |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Birth date |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
tag | SΣ | 0..1 | Coding | Tags applied to this resource Binding: (unbound) (example) |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://prescribeit.ca/fhir/CodeSystem/last-name |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Last name |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: http://tools.ietf.org/html/bcp47 (required) | |
type | SΣ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required) Fixed Value: message |
total | ΣI | 0..1 | unsignedInt | If search, the total number of matches |
link | Σ | 0..* | BackboneElement | Links related to this Bundle |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
relation | Σ | 1..1 | string | http://www.iana.org/assignments/link-relations/link-relations.xhtml |
url | Σ | 1..1 | uri | Reference details for the link |
entry | SΣI | 5..* | BackboneElement | Entry in the bundle - will have a resource, or information |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
fullUrl | SΣ | 1..1 | uri | Absolute URL for resource (server address, or UUID/OID) |
resource | SΣ | 1..1 | Resource | A resource in the bundle |
signature | SΣ | 0..1 | Signature | Digital Signature |
Documentation for this format |
Other representations of profile: Schematron
3.78.3 Terminology Bindings
Terminology Bindings
Path | Name | Conformance | ValueSet |
Bundle.meta.security | All Security Labels | extensible | All Security Labels |
Bundle.meta.tag | ?ext | example | |
Bundle.meta.tag | ?ext | example | |
Bundle.meta.tag | ?ext | example | |
Bundle.meta.tag | ?ext | example | |
Bundle.meta.tag | ?ext | example | |
Bundle.language | ?ext | required | http://tools.ietf.org/html/bcp47 |
Bundle.type | BundleType | required | BundleType |
Bundle.entry.search.mode | SearchEntryMode | required | SearchEntryMode |
Bundle.entry.request.method | HTTPVerb | required | HTTPVerb |
3.78.4 Constraints
Constraints
Id | Path | Details | Requirements |
bdl-2 | Bundle | entry.search only when a search : entry.search.empty() or (type = 'searchset') | |
bdl-1 | Bundle | total only when a search or history : total.empty() or (type = 'searchset') or (type = 'history') | |
bdl-7 | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId : entry.where(fullUrl).select(fullUrl&resource.meta.versionId).isDistinct() | |
bdl-3 | Bundle | entry.request only for some types of bundles : entry.request.empty() or type = 'batch' or type = 'transaction' or type = 'history' | |
bdl-4 | Bundle | entry.response only for some types of bundles : entry.response.empty() or type = 'batch-response' or type = 'transaction-response' | |
headerExists | Bundle | First entry must be a MessageHeader : entry[0].resource.is(MessageHeader) | |
patientin1 | Bundle | Second entry must be a Patient : entry[1].resource.is(Patient) | |
max25tasks | Bundle | Cannot have more than 25 tasks in one message : entry.select(resource as Task).count()<=25 | |
sameGroup | Bundle | All "requisition" extensions in the bundle must have the same value : (entry.resource.as(Task).extension.where($this.url='http://hl7.org/fhir/StructureDefinition/extension-Task.groupIdentifier').valueIdentifier.system).distinct().count() <= 1 and (entry.resource.as(Task).extension.where($this.url='http://hl7.org/fhir/StructureDefinition/extension-Task.groupIdentifier').valueIdentifier.value).distinct().count() <= 1 and ((entry.resource.as(Task).extension.where($this.url='http://hl7.org/fhir/StructureDefinition/extension-Task.groupIdentifier').valueIdentifier.system).count() = 0 or (entry.resource.as(Task).extension.where($this.url='http://hl7.org/fhir/StructureDefinition/extension-Task.groupIdentifier').valueIdentifier.system).count() = (entry.resource.as(Task).extension.where($this.url='http://hl7.org/fhir/StructureDefinition/extension-Task.groupIdentifier')).count()) | |
messageis401 | Bundle | First entry must be a MessageHeader with the messageheader-401 profile : entry[0].resource.meta.where(profile='http://prescribeit.ca/fhir/StructureDefinition/interaction-messageheader-401').exists() | |
Patient2nd | Bundle | Second entry must be a Patient : entry[1].resource.is(Patient) | |
onlyOneSAML | Bundle | Only one practitioner in the bundle may have a SAML token : entry.resource.as(Practitioner).extension.where(url='http://sharedhealth.exchange/fhir/StructureDefinition/ext-practitioner-saml').count() <=1 | |
bdl-5 | Bundle.entry | must be a resource unless there's a request or response : resource.exists() or request.exists() or response.exists() | |
bdl-6 | Bundle.entry | The fullUrl element must be present when a resource is present, and not present otherwise : fullUrl.empty() xor resource.exists() |