Export (0) Print
Expand All

Splitting HIPAA Subdocuments

EDI interchanges for HIPAA commonly have multiple child/sub documents within a single transaction set, as bounded by the ST/SE headers. The EDI receive pipeline supports creation of separate HIPAA subdocuments from such an transaction set. This is different from non-HIPAA EDI interchanges, in which a single transaction set is processed as a single message.

HIPAAv3 supports splitting of five document types: three variants of 837Claim; 835 Claim Payment; and 834 Enrollment. BizTalk Server 2006 R2 provides two versions of schemas for each of these three document types. For each document type, the schema supporting splitting is identified by the ‘Multiple’ tag in the file name. The other schema does not support subdocument splitting.

In some scenarios, both splitting and non splitting schemas may be required. This will be supported through the use of a custom target namespace for one variant of the schema.

The splitting of HIPAA subdocuments is enabled by two annotation entries in the HIPAA schema. The first is a single entry for the schema in the appinfo annotation, which must be set to yes:

subdocument_break = "yes"

The second annotation entry is located at the appropriate record levels within the HIPAA schema. This property must also be set to yes.

subdocument_creation_break = "yes"

A HIPAA interchange will be split into subdocuments only if the subdocument creation break annotation within the HIPAA schema is set to "Yes", and the Inbound batch processing option party property is set to "Split Interchange as Transaction Sets". If the Inbound batch processing option party property is set to preserve the interchange, the EDI disassembler will not split the interchange into subdocuments. In this case, the EDI disassembler will ignore the annotation. No warning will be raised in the event viewer if this occurs.

Bb226327.note(en-us,BTS.20).gifNote
Subdocument creation break annotations cannot be nested. If a schema includes a loop that has a subdocument annotation applied to it, that loop cannot contain another loop that has a subdocument annotation applied to it.

The EDI disassembler in the EDI receive pipeline splits the subdocuments. After the receive pipeline validates the incoming interchange and generates the appropriate acknowledgments, it routes each separate subdocument to the MessageBox. Each subdocument is structurally and syntactically valid; however, business level summaries, transaction set totals, and transaction set control numbers are expected to be out of synchronization. The send pipeline will overwrite the value of the existing segment count in SE01 of each subdocument (which came from the original transaction set) to the count of included segments in the subdocument. The receive pipeline will also reset the transaction set control numbers in each subdocument so that the subdocument do not have duplicate control numbers. This ensures that send-side processing will not fail.

If a transaction set fails EDI or extended validation during subdocument splitting, no subdocuments are created and the transaction set is suspended. This occurs even if the error occurs in one segment of a loop that is included in only one of the subdocuments.

A send port that subscribes to the subdocuments will pick up each subdocument from MessageBox, serialize the XML subdocuments, batch them (if enabled), validate them, and send them. The send pipeline updates the count of segments data element (SE01).

A subdocument creation break annotation is commonly applied to a loop that encompasses one or more elements within a HIPAA schema. Other elements before and after the break loop in the schema are replicated in each of the multiple subdocuments.

The following table shows an example of subdocument splitting. In this example, the subdocument creation break annotation is set to "Yes" for the BB element loop. As a result, the BB elements in the transaction set are separated into separate subdocuments, while the AA, CC, and DD elements in the transaction set are all included in each separate subdocument.

Schema (min and max occurrences) Original Instance Subdocument #1 Subdocument #2 Subdocument #3

ST (1,0)

ST

ST

ST

ST

AA (1,1)

AA

AA

AA

AA

BB loop (1,n) - subdocument_break = "yes"

BB1 (1,1)

BB2 (0,1)

BB1*1

BB2*1

BB1*2

BB1*3

BB2*3

BB1*1

BB2*1

BB1*2

BB1*3

BB2*3

CC (1,n)

CC

CC

CC

CC

CC

CC

CC

CC

DD (0,n)

DD

DD

DD

DD

SE

SE

SE

SE

SE

Community Additions

ADD
Show:
© 2014 Microsoft