Transformation

If custom data is to be passed back by the lot validation service, then it is also necessary to modify the LotIncomingTransform.xslt file, located in the .\ArgusWeb\ASP\Bin directory. This transformation file reads the CUSTOM tags passed back by the lot validation service and maps them to the Oracle Argus Safety user-defined fields.

The CUSTOM tag has a "Name" attribute, which is used by the XSLT to identify to which Oracle Argus Safety field to map. The corresponding "Metadata" attribute is used simply to display a label in the lookup dialog if necessary. The XSLT file must be synchronized between all web servers in a web farm scenario.

Specific Oracle Argus Safety fields must be placed within the xsl:attribute tags of the XSLT in a comma delimited form. The system will attempt to populate each Oracle Argus Safety field specified by the value of the CUSTOM tags. If a field does not exist, no exception is thrown. In this fashion, if different pages in the case form have different definitions for the user-defined fields, the system can still properly populate the values in the fields.

It is inadvisable to modify any piece of the XSLT file with the exception of the piece that is shown in the example below. Consider the web service returns a CUSTOM node like:

<CUSTOM Name="Albumin" Metadata="Albumin Status">19.5 mg/gC</CUSTOM>And the LotIncomingTransform.xslt contains the snippet:
<xsl:template match="@*" mode="CaseField">
  <xsl:choose>
    <xsl:when test=".='Thermisol'">
      <xsl:attribute name="CaseField">CASE_DOSE_REGIMENS_UD_TEXT_1,CASE_DOSE_
REGIMENS_UD_TEXT_2</xsl:attribute>
    </xsl:when>
    <xsl:when test=".='Albumin'">
      <xsl:attribute name="CaseField">CASE_DOSE_REGIMENS_UD_TEXT_3,CASE_DOSE_
REGIMENS_UD_TEXT_4</xsl:attribute>
    </xsl:when>
  </xsl:choose>
</xsl:template>

Then the value of 19.5 will be mapped to both user defined text fields 3 and 4. If only one of the fields is on the active case form page, the other field will be ignored.