2

Looking for some help using SoapUI with the NIST web service located at http://xreg2.nist.gov:8080/HL7WS/. Loading the site's WSDL from SoapUI produces the following sample service request:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"     xmlns:mes="http://messagevalidation.hl7ws.healthcare.nist.gov/">
   <soap:Header/>
   <soap:Body>
      <mes:validate>
         <!--Optional:-->
         <arg0>?</arg0>
         <!--Optional:-->
         <arg1>?</arg1>
         <!--Optional:-->
         <arg2>?</arg2>
         <!--Optional:-->
         <arg3>?</arg3>
     </mes:validate>
   </soap:Body>
</soap:Envelope>

Here's a sample HL7 message:

MSH|^~\&|MY LAB|MYLAB-3|GHH OE|BLDG4|200202150930||VXU^V04^VXU_V04|CNTRL-3456|P|2.5.1 PID|||555-44-4444||EVERYWOMAN^EVE^E^^^^L|JONES|19620320|F|| |3501 ROLLING HILLS CIRCLE^^DAVIE^FL^33328||(206)1234567

Running this message through http://hl7v2-iz-testing.nist.gov/mu-immunization/ produces the following Error:

The line '|3501 ROLLING HILLS CIRCLE^^DAVIE^FL^33328||(206)1234567' is not a valid segment

Here's my SoapUI sample request using the above message wrapped in CDATA:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:mes="http://messagevalidation.hl7ws.healthcare.nist.gov/">
   <soap:Header/>
   <soap:Body>
      <mes:validate><![CDATA[
     MSH|^~\&|MY LAB|MYLAB-3|GHH OE|BLDG4|200202150930||VXU^V04^VXU_V04|CNTRL-3456|P|2.5.1
PID|||555-44-4444||EVERYWOMAN^EVE^E^^^^L|JONES|19620320|F||
|3501 ROLLING HILLS CIRCLE^^DAVIE^FL^33328||(206)1234567
 ]]></mes:validate>
   </soap:Body>
</soap:Envelope> 

And here's the result from the web service call:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
   <soap:Body>
      <ns2:validateResponse xmlns:ns2="http://messagevalidation.hl7ws.healthcare.nist.gov/">
         <return><![CDATA[<HL7V2MessageValidationReport xmlns="http://www.nist.gov/healthcare/validation/message/hl7/v2/report" xmlns:mes="http://www.nist.gov/healthcare/validation/message">
  <HeaderReport>
    <mes:ValidationStatus>Incomplete</mes:ValidationStatus>
    <mes:ValidationStatusInfo>Message is required.</mes:ValidationStatusInfo>
    <mes:ServiceName>NIST HL7V2 Message Validation</mes:ServiceName>
    <mes:ServiceProvider>NIST</mes:ServiceProvider>
    <mes:ServiceVersion>1.0</mes:ServiceVersion>
    <mes:StandardType>HL7 V2</mes:StandardType>
    <mes:ValidationType>Automated</mes:ValidationType>
    <mes:TestIdentifier/>
    <mes:ResultOfTest>Failed</mes:ResultOfTest>
    <mes:AffirmCount>0</mes:AffirmCount>
    <mes:ErrorCount>1</mes:ErrorCount>
    <mes:WarningCount>0</mes:WarningCount>
    <mes:IgnoreCount>0</mes:IgnoreCount>
    <mes:AlertCount>0</mes:AlertCount>
  </HeaderReport>
</HL7V2MessageValidationReport>]]></return>
      </ns2:validateResponse>
   </soap:Body>
</soap:Envelope>

I've already spent too much time researching and fiddling with message placement in the request and I understand and appreciate the many comments associated with working with HL7 (none positive). Can anybody shed light as to how to format my out-going message? I'm expecting to get back a message similar to the manual message verification, e.g. 'Bushwood' is an invalid line segment.

soulia
  • 483
  • 2
  • 6
  • 20
  • do you just happen to get a segment delimiter in your SoapUI sample request in front of '|3501 ROLLING HILLS' ? – sqlab Jan 26 '14 at 16:38
  • Yes, when using the HL7 V2 Validation Tool. SoapUI's validateResponse includes: Incomplete Message is required. NIST HL7V2 Message Validation – soulia Jan 27 '14 at 13:11
  • But as there is no segment starting with this header, you have to get rid of segment delimiters inside a segment. Or much better, don't introduce surplus delimiters. – sqlab Jan 27 '14 at 13:18
  • I did modify the message and the message does pass validation with the HL7 V2 Validation Tool. Using the web service as noted above still fails with the modified message. – soulia Jan 31 '14 at 13:03

1 Answers1

0

Use the HL7 V2 Validation Tool just on copies of your original HL7 messages.
Take care not to insert Line Feeds, Form Feeds, Carriage Returns, Escapes or any other control codes into HL7 messages

sqlab
  • 6,412
  • 1
  • 14
  • 29
  • The HL7 V2 Validation Tool is fine. But, what I'm looking for is anyone's experience in implementating NIST's HL7 V2 Web Service validation service, not the online tool. – soulia Jan 31 '14 at 13:01