List of patches for the new lab tariff 317

As of 1.7.2009 the new lab tariff 317 becomes active.
The labValidator will transparently handle both tariff catalogs, even if "old" lab codes are used with the new lab tariff. In principle nothing must be changed if the customer uses the new tariff positions. However, there are a few patches made to the labValidator the get extended information, and to ease the transfer to tariff 317.

The following list shows the patches made.

  • ISearch interface
    • SearchCode method
      One can use "old" tariff codes when searching the new tariff. As a result the corresponding new tariff codes are returned.
       
    • GetAnonymousCode property
      316: returns the anonymous code position
      317: returns the old AL equivalence code (since there are no anonymous positions anymore!) - note the difference to the IValidate interface!!
       
    • GetName property
      316: returns the name of the service position
      317: returns the name of the service position prepended with the area codes of that positions (C, H, etc.). The exact format is: "Area(area_codes): " + Name
       
  • IValidate interface
    • AddService method
      Depending on the date the old or new tariff catalog is used. One can set an "old" tariff code for the new tariff catalog. An automatic code transformation is taken place - IF the transformation is unambiguous. Be sure to read the transformed code back via the GetCode property!
      If the transformation is ambiguous (e.g. 8275.00 -> 1396.00, 1399.00, 1400.00 or 1403.00) the error "enAmbiguousCodeTransformation" is set.
      If there is no transformation available the error "enNoCodeTransformation" is set.
       
    • Automatic code transformation on/off
      Automatic code transformation is on by default! There are 2 possibilities to turn the transformation off or on again.
      1. Generate a labValidator100.ini file in the directory of the Dll. Use the following section definition
            [PARAMS]
            AutomaticCodeTransformation=0
        to turn the transformation off(=0) or on (=1).
      2. Use the AddService method with the special "position code"
            bstrCode="AutomaticCodeTransformationOff"
            bstrCode="AutomaticCodeTransformationOn"
        to dynamically turn the transformation off or on. The rest of the arguments does not matter!
        Note that an error (S_FALSE with error code=1) is returned in this situation that should be ignored.
    • CalculateSum method
      If the dTotal argument is set to -4242 prior to calling CalculateSum then all praxis lab positions are set automatically according to the rules! Manually set praxis lab positions are re-calculated and adjusted accordingly! Be sure the read all service positions back to the main program in such a case.

      If this feature is not used and the praxis lab rules are violated then either the error code "enQuantityRestriction" or "enLimitation4707Wrong" is set.
       

    • GetAnonymousCode property
      316: returns the anonymous code position
      317: returns the area codes of that positions (C, H, etc.) - note the difference to the ISearch interface!!
       
  • Note about the invoicing
    • The invoiceRequestManagers neither use automatic code transformation nor transparently generate the praxis lab positions!
       
  • New AbortValidate codes
    • enAmbiguousCodeTransformation
      Set by the IValidate:AddService method if the code transformation is ambiguous.
       
    • enNoCodeTransformation
      Set by the IValidate:AddService method if there is no code transformation available.
       
    • enQuantityRestriction
      Set by the IValidate:CalculateSum method if the quantity restriction of one of the praxis lab positions (4707.10 ff.) is violated
       
    • enLimitation4707Wrong
      Set by the IValidate:CalculateSum method if the quantity restriction of the praxis lab positions (4707.00 ff.) is violated