Migration advice for applications and interfaces that use the MRM HL7 message set.
The parsing of repeating (maxOccurs > 1) fields and components in HL7 messages has changed in IBM Integration Bus Healthcare Pack Version 3.0.0.1 and later versions.
In Healthcare versions before IBM Integration Bus Healthcare Pack Version 3.0.0.1, an empty occurrence of a repeating field or a repeating component causes the parsing of the repeating item to terminate. Any remaining data for the repeating item is assigned to the next field or component. This behavior is consistent with the documented behavior of the MRM parser, but it is not ideal for HL7.
In IBM Integration Bus Healthcare Pack Version 3.0.0.1 and later versions, if a field or a component can repeat (maxOccurs > 1), it is marked as nillable in the message set. All empty occurrences of the item are put into the message tree with the value NULL. Occurrences that are not empty are parsed normally.
Most message flows are not affected by this change of behavior. However, you might have modified some message flows that deal with repeating fields and components to compensate for the behavior of a previous version of Healthcare. Some of these message flows might be affected by the change in behavior.
If existing HL7 applications are not dependent on the behavior of a previous version of Healthcare, you can use the message set that is supplied with IBM Integration Bus Healthcare Pack Version 3.0.0.1 and later versions.
If you modified code in existing message flows to compensate for the behavior of a previous version of Healthcare, you must use your existing version of the HL7v25P message set. You must not use the HL7v25P message set that is shipped with IBM Integration Bus Healthcare Pack Version 3.0.0.1 and later versions. Using the message set for your existing version of Healthcare preserves the behavior of the existing version and avoids unplanned changes in message flow behavior.
The DFDL schemas for HL7 are used by the HL7DFDLInput node, and by all of the DFDL-based patterns. In IBM Integration Bus Healthcare Pack Version 3.0.0.1 and later versions, when an empty repeating field is encountered, these schemas insert a NULL into the message tree; non-repeating fields and components are not affected. The insertion of a NULL maintains consistency with patterns that use message sets. The insertion of a NULL might cause a field or a component to show in the message tree of IBM Integration Bus Healthcare Pack Version 3.0.0.1 and later versions when it would have been omitted by the DFDL schema in a previous version of Healthcare. No special migration steps are required.