Changes between Initial Version and Version 1 of TenthQuery


Ignore:
Timestamp:
12/20/06 16:46:36 (12 years ago)
Author:
detwiler
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TenthQuery

    v1 v1  
     1return to XbrainEvaluation 
     2 
     3{{{ 
     4let $target_ant := -32 
     5let $ant_dev := 5 
     6 
     7let $target_sup := 18 
     8let $sup_dev := 5 
     9 
     10let $target_right := 59 
     11let $right_dev := 5 
     12 
     13let $inverse := 
     14dxq:csm(" 
     15<results> 
     16<TransformServerParam coord='magnet_coordinates' source='0' target=''/> 
     17{ 
     18for $p in $root/patient 
     19return   
     20     <patient> 
     21     {$p/pnum} 
     22     {$p/viq} 
     23     {$p/sex} 
     24     <age>{$p/age_at_registration/text()}</age>  
     25     { 
     26      for $s in $p/surgery 
     27      return  
     28      <surgery> 
     29      { 
     30       for $site in $s/stimsite 
     31       let $oid := $site/_oid 
     32       return 
     33       <stimsite> 
     34              { $site/surgery} 
     35              { $site/type} 
     36              {$site/site_label} 
     37              {  
     38                for $sitemap_elt in $p/surgery/sitetoanatomymap[preference='1']/sitetoanatomymapelement[stimsite/_oid = $oid] 
     39                return     
     40                  <magnet_coordinates x0='{$sitemap_elt/ant_coord/text()}' y0='{$sitemap_elt/sup_coord/text()}'  
     41                      z0='{$sitemap_elt/right_coord/text()}' space0='P{$p/pnum}' space='MNI'> 
     42                      <ant_coord>{$sitemap_elt/ant_coord/text()}</ant_coord> 
     43                      <sup_coord>{$sitemap_elt/sup_coord/text()}</sup_coord> 
     44                      <right_coord>{$sitemap_elt/right_coord/text()}</right_coord> 
     45                  </magnet_coordinates> 
     46              }     
     47              {  
     48                for $anat_elt in $p/surgery/anatomytonamemap[preference='1']/anatomytonamemapelement[stimsite/_oid = $oid] 
     49                return     
     50                  <anatomical_name>{$anat_elt/term/fullname/text()}</anatomical_name> 
     51              }    
     52              { 
     53                 for $trialcode in $p//trial[stimsite1/_oid = $oid][stimulated='Y']/trialcode/term[type='CSM error code']/abbrev 
     54                 return  
     55                 <trialcode> 
     56                     {$trialcode/text()} 
     57                 </trialcode> 
     58             } 
     59       </stimsite> 
     60      } 
     61      </surgery> 
     62     } 
     63     </patient> 
     64} 
     65</results> 
     66") 
     67 
     68let $patients_trans := dxq:trans($inverse) 
     69 
     70return  
     71<results> 
     72{ 
     73for $patient in $patients_trans//patient 
     74let $sites_in_region := 
     75    for $stimsite in $patient/surgery/stimsite 
     76    let $ant := number($stimsite//magnet_coordinates/@x) 
     77    let $sup := number($stimsite//magnet_coordinates/@y) 
     78    let $right := number($stimsite//magnet_coordinates/@z) 
     79    where (exists($stimsite/trialcode) and $target_ant - $ant_dev lt $ant) and ($ant lt $target_ant + $ant_dev) and  
     80        ($target_sup - $sup_dev lt $sup) and ($sup lt $target_sup + $sup_dev) and  
     81        ($target_right - $right_dev lt $right) and ($right lt $target_right + $right_dev)     
     82    return 
     83        $stimsite 
     84where(exists($sites_in_region)) 
     85return 
     86<patient> 
     87{$patient/pnum} 
     88{$sites_in_region} 
     89</patient> 
     90} 
     91</results> 
     92}}}