Converting and HL7 segment to XML

daniel19dab

New Member
i have an XML that we were able to generate using HAPI libraries and use XSL to change the format of the XML. I am using the following template. The current template looks at the OBX.5 segment for a digital value and then interprets the OBX6 (units of measure). However I am trying to also interpret the OBX6 when they come from one of the clients in a style as duplicates with the caret \[code\]^\[/code\] in between (ex: \[code\]%^%\[/code\] or \[code\]mL^mL\[/code\]). My current template ignores this but I would like to be able to get the value of the segment substring before or after the \[code\]^\[/code\]. \[code\]<xsl:template match="hl7:OBX.6[matches(./../hl7:OBX.5, '^\d+(\.\d+)?$') and index-of($percentList, .) or index-of($mgdlList, .) or index-of($mlList, .) or index-of($mmList, .) or index-of($mgList, .))]"> <result><xsl:value-of select="./../hl7:OBX.5" /></result> <xsl:when test="index-of($percentList, .)"> <units>%</units> </xsl:when>... <xsl:when test="index-of($mlList, .)"> <units>ml</units> </xsl:when> <xsl:otherwise> <units><xsl:value-of select="./hl7:CE.1" /></units> </xsl:otherwise>...</xsl:template>\[/code\]The result should produce \[code\] <result>38.0</result> <units>%</units>\[/code\]from\[code\] <OBX.5>38.0</OBX.5> <OBX.6> <CE.1>%^%</CE.1> </OBX.6>\[/code\]Thanks in advance!
 
Back
Top