XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
- XQuery Help and Discussion (2017)
-> + Issue with Processing Instruct... (2)
-> + problem converting json to XML... (2)
-> + Problem base64 decoding string... (3)
-> + Problems posting multipart for... (5)
-> + trouble with download of price... (2)
-> + Problem with http-post not bei... (3)
-> + path problem, xps_file:writeAl... (9)
-> + Xquery update support? (2)
-> + problem with Stylus studio try... (5)
-> + adding dtd reference to xml ou... (4)
-> + xquery escaping ambarsand when... (3)
-> + Whitespace problem when return... (5)
-> + Problem with namespace prefix ... (5)
-> - Sending via SFTP returns unexp... (1)
-> + Query and Sftp clent (4)
-> + xquery and try - catch (3)
-> + Query + ddtek:http-post optio... (5)
-> + Example files referenced in do... (3)
-> + Automatic Error Detection and ... (3)
-> + Working with result of ddtek:h... (2)
-- [1-20] [21-40] [41-60] Next
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Lance MerrifieldSubject: multiple DTPs at the same level in HIPAA 834 file
Author: Lance Merrifield
Date: 06 May 2008 01:33 PM
I am evaluating Stylus Studio and find it very useful dealing with X12 data. Have used it to convert an X12 834 file to XML and am attempting to use Xquery to extract the information I need. There are 2 DTP tags for the same GROUP_3 level, one for date of employment and one for date of enrollment. I am only interested in returning the enrollment date, which is associated with the DTP01 value of '356'. The following is my XQuery that is returning both DTP's. Thanks in advance for your help.

let $doc := doc('file:///c:/Filename.xml')
for $GRP3 in $doc/X12/TS_834/GROUP_3
where $GRP3/DTP/DTP01 = '356'
return
<MEMBER>
{ $GRP3/DTP/DTP01,
$GRP3/DTP/DTP03,
$GRP3/GROUP_4/NM1/NM109,
$GRP3/GROUP_4/DMG/DMG02,
$GRP3/GROUP_4/DMG/DMG03 }
</MEMBER>

Posttop
Minollo I.Subject: multiple DTPs at the same level in HIPAA 834 file
Author: Minollo I.
Date: 06 May 2008 01:49 PM
You probably want to use something like this:

let $doc := doc('file:///c:/Filename.xml')
for $GRP3 in $doc/X12/TS_834/GROUP_3
return
<MEMBER> {
$GRP3/DTP[DTP01 = '356']/DTP01,
$GRP3/DTP[DTP01 = '356']/DTP03,
$GRP3/GROUP_4/NM1/NM109,
$GRP3/GROUP_4/DMG/DMG02,
$GRP3/GROUP_4/DMG/DMG03
} </MEMBER>

...or, if you prefer...
let $doc := doc('file:///c:/Filename.xml')
for $GRP3 in $doc/X12/TS_834/GROUP_3
let $DTP356 := $GRP3/DTP[DTP01 = '356']
return
<MEMBER> {
$DTP356/DTP01,
$DTP356/DTP03,
$GRP3/GROUP_4/NM1/NM109,
$GRP3/GROUP_4/DMG/DMG02,
$GRP3/GROUP_4/DMG/DMG03
} </MEMBER>

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.