none
Blank field inserting a space instead of ignoring field even when loop is set to min 0 RRS feed

  • Question

  • This is the loop information  
     
    <xs:element minOccurs="1" maxOccurs="1" ref="HL_BillingPaytoProviderHierarchicalLevel_TS837Q1_2000A" />   
      <xs:element minOccurs="0" maxOccurs="1" ref="PRV_BillingPaytoProviderSpecialtyInformation_TS837Q1_2000A" />   
      <xs:element minOccurs="0" maxOccurs="1"   
     
     
    This is the segment information  
     
    xs:sequence> 
    <xs:element name="PRV01__ProviderCode">  
    <xs:annotation> 
    <xs:appinfo> 
      <b:fieldInfo edi_datatype="ID" justification="left" codelist="1221" />   
      </xs:appinfo> 
      </xs:annotation> 
    <xs:simpleType> 
    <xs:restriction base="X12_ID">  
      <xs:enumeration value="BI" />   
      <xs:enumeration value="PT" />   
      </xs:restriction> 
      </xs:simpleType> 
      </xs:element> 
     
    We am using the Microsoft Schema 004010X098A1 to map a file. On the schema, I see that the loop is set min ="0". Nevertheless, some of the segments in that loop have the min ="0" as a blank. The problem is that it is causing a space field to be passed. This is a problem because I do not want a space. If we set the min ="0" it works. The problem is that I would have to modify the entire schema that Microsoft created. Has anyone ran into this problem? We am using the Biztalk R2 schemas that came with the product. Also when I look at the EDI view on the schema, we can see that the segment does indeed have a min occurs of 1, but we can not see that on the XSD. That is the strange thing that we can not edit the code on the back end.
    New post
    Wednesday, March 18, 2009 4:53 PM

Answers

  • Hi,
         We actually follow the way that if min is not defined in the schema then we take default as one. I do not exactly know if HIPAA standard tell about min occurrence explicitly. Your problem is coming because we used this default value and did not define min  = 0.
    It can have two solutions:

    1- Fixing the MAP. May be map is working in a wrong way. It should not create a space.
    2- Your proposed solution to change the schema and put min =0 wherever it is not defined:
          For this you can use Visual studio XML tool. In which every element's properties PANE you can go and give a min =0 value in this way you will not miss anything that you mentioned in your previous post.(If there are a lot of places to change then you can automate it as well)

    And we are taking your suggestion into our account about HIPAA schema design.



    Thanks
    Gyan
    Tuesday, March 24, 2009 3:59 PM

All replies

  • If MinOccurs in not mentioned in the XSD, it defaults to 1. That shoudl be the reason why u are seeing an space added. So unless, you dont think Min Occurs is 1 for that element/segement, you shouldnt change it to 0 to pass it. You need to fix the map/instance considering min occurs 1.

    Correct me if I am wrrong
    Thursday, March 19, 2009 11:23 AM
    Moderator
  • That actually makes sense based on what I have seen from the schema map. Thank you for your response.

    One question though, based on the HIPAA guides, does anyone know why would Microsoft develop the schema that way? In HIPAA terms, that does not make sense because of the dependencies that each field has on one other. My concern is that now I have to go through the entire schema that was shipped from Microsoft and change it, mainly because mapping to a database will cause a field to insert a blank space and not a null, which is bad policy. From what I have seen, most SQL policies recommend that blank data  on a database should be null. I have worked with other mapping software, and this is another first that I have seen from HIPAA schemas that are shipped from Microsoft. I am not trying to complain, but gain a better understanding of why this was done. Thank you for comments.


    New post
    Thursday, March 19, 2009 11:51 AM
  • we have taken your feedback on Hipaa schema design. If you don't mind, can you give more details about dependent fields inside Hipaa schema and how you are currently using them in solution.
    Bhola Meena [http://blogs.msdn.com/biztalkrfidinside]
    Tuesday, March 24, 2009 3:20 AM
  • Hi Bhola;
    Our currently business process includes the processing of HIPAA claims by loading them into a database and then re-creating the files for distributing through different channels. The problem we are having is the schema released by Microsoft which includes elements that are getting passed with a space instead of omitting them during processing. For example, on loop 2000A, the PRV is a situational field. On the schema the segment itself is flagged as min occurs 0, but the element PRV01, PRV02, and so on, are not flagged as min occurs = 0. What is happening is that the element PRV01 is passing a space to the database creating the illusion that the field had data. This is a problem because when we re-create the file, that element will have a space. Our solution was to go through the entire X12_00401_837_P schema and set every element min = 0. I do not think that is correct because as a standard, there are certain rules that should be followed for every field in order to determine if min = 0. My concern is that when we start to processing data through production, we may miss something that will cause a major problem, such as a diagnosis code or line item charges that are missing, because we have altered the schema. I am not sure if there is a bug on the application or the schema.

    In summary, if the segment is set to min = 0, then each element within that segment should also follow the same structure of min = 0 unless overwritten. If there is an element that is required, then of course it should be set to min = 1. Right now I do not see that the schema that came with BizTalk is following that logic unless I am missing something. There are other loops that have the same problem as well. Thank you for taking a look at the problem. Talk to you soon.
    New post
    Tuesday, March 24, 2009 1:18 PM
  • Hi,
         We actually follow the way that if min is not defined in the schema then we take default as one. I do not exactly know if HIPAA standard tell about min occurrence explicitly. Your problem is coming because we used this default value and did not define min  = 0.
    It can have two solutions:

    1- Fixing the MAP. May be map is working in a wrong way. It should not create a space.
    2- Your proposed solution to change the schema and put min =0 wherever it is not defined:
          For this you can use Visual studio XML tool. In which every element's properties PANE you can go and give a min =0 value in this way you will not miss anything that you mentioned in your previous post.(If there are a lot of places to change then you can automate it as well)

    And we are taking your suggestion into our account about HIPAA schema design.



    Thanks
    Gyan
    Tuesday, March 24, 2009 3:59 PM