Issue with maxOccurs="2" on ref="HI_OtherDiagnosisInformation" on 837 Institutional file. RRS feed

  • Question

  • I need to Extract two HI - Other Diagnosis Information segments on 2300 loop on 837 Institutional file only when there are more then 12 codes..

    For Example, the Source xml data looks like below 

      <ns0:Diagnosis DiagnosisPosition="BF01|02" CodeList="BF" DiagnosisCode="1"  /> other diagnosis 
    22, 3, 4, 5,6,7,8,9,10,11
      <ns0:Diagnosis DiagnosisPosition="BF12|13" CodeList="BF" DiagnosisCode="12"  />
         14, 15, 16, 17, 18
      <ns0:Diagnosis DiagnosisPosition="BF19|20" CodeList="BF" DiagnosisCode="19" />
     <ns0:DiagnosisDiagnosisPosition="BF20|21" CodeList="BF" DiagnosisCode="20" /> other diagnosis 

      <ns0:Diagnosis DiagnosisPosition="BJ01|AD" CodeList="BJ" DiagnosisCode="1" /> - Admitting Diagnosis
      <ns0:Diagnosis DiagnosisPosition="BK01|01" CodeList="BK" DiagnosisCode="2" /> - Principal Diagnosis

    For example, 837_I.xsd looks like below 

    - <xs:element name="HI_SubLoop">
    - <xs:complexType>
    - <xs:choice maxOccurs="unbounded">
      <xs:element minOccurs="1" maxOccurs="1" ref="HI_PrincipalDiagnosis" />
      <xs:element minOccurs="0" maxOccurs="1" ref="HI_AdmittingDiagnosis" />
      <xs:element minOccurs="0" maxOccurs="1" ref="HI_Patient_sReasonForVisit" />
      <xs:element minOccurs="0" maxOccurs="1" ref="HI_ExternalCauseofInjury" />
      <xs:element minOccurs="0" maxOccurs="1" ref="HI_DiagnosisRelatedGroup_DRG_Information" />
      <xs:element minOccurs="0" maxOccurs="2" ref="HI_OtherDiagnosisInformation" />
      <xs:element minOccurs="0" maxOccurs="1" ref="HI_PrincipalProcedureInformation" />
      <xs:element minOccurs="0" maxOccurs="2" ref="HI_OtherProcedureInformation" />
      <xs:element minOccurs="0" maxOccurs="2" ref="HI_OccurrenceSpanInformation" />
      <xs:element minOccurs="0" maxOccurs="2" ref="HI_OccurrenceInformation" />
      <xs:element minOccurs="0" maxOccurs="2" ref="HI_ValueInformation" />
      <xs:element minOccurs="0" maxOccurs="2" ref="HI_ConditionInformation" />
      <xs:element minOccurs="0" maxOccurs="2" ref="HI_TreatmentCodeInformation" />

     maxOccurs="2" ref="HI_OtherDiagnosisInformation"

    1) When Mapped the BF13 position to the existing HI - Other Diagnosis Information segment, it shows on 13th position on the existing segment and not on new HI- segment and I tried many probabilities in mapping and it didn't worked. So hence I have added a new element like  ref="HI_OtherDiagnosisInformation1"  and placed the 13th newly added element inside new HI segment and when I Debug the map,  the output XML shows two HI segments( one with 12 and the other one with 1 occurrence). But when it tries to write from 837XML schema to 837I format if fails and throws the below error

     Error details: Unable to read the stream produced by the pipeline. 
     Details: Error: 1 (Miscellaneous error)
    8: No matching child node found

    Error: 2 (Segment level error)
    SegmentID: HI
    Position in TS: 538
    2: Unexpected segment  

    Question 1: If any new elements added in 837_I.xsd. On BizTalk Server Administration, do I need to change/update/add references on Pipelines, send ports  or Schema's ?

    Or any suggestion on the best approach to be followed to achieve this requirement is really appreciated. 

    Thank you and looking forward for any response.




    Wednesday, January 4, 2017 6:30 PM

All replies

  • You cannot modify the HIPAA EDI Schema.  So if you did, sorry, but you need to back that out first.

    Then you can describe your situation and we can help.

    • Edited by Johns-305MVP Wednesday, January 4, 2017 10:39 PM
    Wednesday, January 4, 2017 10:39 PM
  • Thanks for your reply John. Changes on HIPAA EDI Schema are reverted.

    Below is my requirement on HI-Other Diagnosis Information Segment on 837I file using the BizTalk application.

    When there is more than 12 other diagnosis codes, would like to extract the 13th code on the new HI-other diagnosis information segment(situational) in loop 2300 HI_Subloop. However under the HI tag there are only 12 like C022_HealthCareCodeInformation_61, 62,63,64,65,66,67,68,69,70,71,72 elements with Max Occurs value =1 as per the HIPAA EDI schema. could you please help/suggest on how this could be achieved.

    Thank you very much and looking forward for your response.



    Thursday, January 5, 2017 8:17 PM
  • So, here's the deal, there are probably several way to handle this.  Have you tried any?

    One option that will definitely work is a custom Xslt block that fills your target Diagnosis loop.

    Sunday, January 8, 2017 7:49 PM