Harmonization: Add ManifestItem class to Transmission
- This proposal is pending - will be resubmitted.
Editing of harmonisation proposals prior to a harmonization meeting is restricted to the proposal submitter and the co-chairs of the steward comittee. Other changes will be undone. Please add comments to the "discussion" page associated with this proposal.
Recommendation for HL7 RIM Change | RECOMMENDATION ID: |
Submitted by: INM | Revision (# and date): 20060509 |
Date submitted: | Committee status: Approved - 20060509 |
Submitted by: Rene Spronk | |
NAME: Add ManifestItem class to Batch |
Contents
Stewards Position
REQUIRED - This table should contain one row for each Steward Committee affected by the recommendation.
TC | RECOMMENDATION APPROVAL STATUS | AFFECTED ENTITIES OF INTEREST TO TC (responsibility level: S=Steward; I=Interested) |
INM | Under review | S |
Issue
The English NHS has defined a requirement to add a ManifestItem class for each payload contained in a Transmission: a structure for carrying a set of values relating to a specific payload item (Message, or controlAct, or domain payload). Typically this class will be repeated for each payload instance in the batch.
Example values conveyed in the ManifestItem class: Artefact Id (e.g. Message.interactionId, controlAct.id), Patient Id.
The ManifestItem class allows the receiver of a batch to quickly filter the batch to find any content that is of interest.
Recommendation(s)
- Add a new (blue) RIM class ManifestItem, with the following description:
- References a specific transmission element contained within the Batch and describes the type of information contained within that element. The purpose of Manifest is to expose an 'indexed' view of messages or child batches within the Batch to provide efficient filtering or processing. The intent is to allow a receiver to identify which elements within a Batch they are interested in without the need to parse and examine each item.
- A Transmission may contain a ManifestItem class for a subset of payload items, or none at all. The usage of the ManifestItem class in terms of whether it is used and what characteristics are exposed is subject to site specific agreement.
- Comment: This is distinct from AttentionLine in that its purpose is not for the routing of this transmission. Rather, it is to expose indexing information about information contained within the transmission.
- Add a new (blue) RIM class ManifestValue, with the the following description:
- Describes a particular characteristic of the element within the transmission identified by the ManifestItem class. The contents of the ManifestValue classes shall be used for the purpose of filtering the contents of the batch for reasons of efficient processing of batch contents and not have any impact on the semantic interpretation of the contents of the Transmission. The usage of the ManifestValue class is subject to site specific agreement.
- create a 1..* association between ManifestItem and ManifestValue.
- create a 0..* association between Batch and ManifestItem.
- Add the following attributes to the ManifestItem class:
- payloadId II [1..1] (mandatory attribute) Description:
- A reference to the identifier of the Batch payload item being described by this ManifestItem, e.g. Message.id or Batch.id
- payloadSequenceNumber INT [0..1] Description:
- The position/index of the transmission item (e.g. Message) being described by this ManifestItem within the Batch. Within a Batch Transmission the first payload item shall have an index equal to 1. This must refer to the same element referenced by the payloadId attribute, but may be included to allow more efficient navigation.
- Add the following attributes to the ManifestValue class:
- manifestItemKey CV CWE [0..1] <=ManifestItemType - Description:
- Identifies a particular property of the element described by the manifest. E.g. patientID, interactionID, etc.
- manifestItemValue attribute ANY [0..1] - Description:
- Identifies the particular value of the element property being exposed in the manifest. E.g. The identifier of the patient, the code identifying the interaction, etc.
- Constraint: If the manifestItemValue attribute has a value the manifestItemKey attribute must also have a value.
- Constraint: The value is meant to be machine processable. The data type of the attribute will be constrained to one of the following data types: BL, CV, II, URL, INT, REAL, TS, PQ, MO, IVL<PQ>, IVL<TS>.
- Create a new ManifestItemType vocabulary domain (Description: Identifies the type of characteristic conveyed in the Manifest of a Batch. E.g. Patient Id, Interaction Type, Author Id, etc.) with the following valueset bound as an example domain :
- IID (interaction id): InteractionID of the payload item
- PID (patient id): Identifier of the Patient role that participates in the payload item
Rationale
- The current RIM classes don't support sending this information.
- The AttentionLine class (see related Harmonization proposal entitled Harmonization: Description of AttentionLine contains information that applies to a Batch as a whole, whereas a ManifestItem contains information about one of the payload items contained in the Transmission (Batch).
Recommended Action Items
- Implement the proposed solution
Resolution
20060718 Harmonization meeting:
Lloyd thinks it could be done by having attentionLines at message level. Diferences with attentionLine.
Charlie: add key value examples.
(changes were made to Wiki page, issue revisited after lunch)
Gunther: difference between routing and indexing is not clear. Combine with attentionLine?
Motion: 5-4-2 (y-n-a) Did not pass.
Kathleen: consolidation with attentionLine needs to be considered, will change vote if that is not possible.
Need to be revisted during next harmonization meeting.