703. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/11/2017 10:42:05 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

703.1 Files compared

# Location File Last Modified
1 Tue Apr 11 15:42:05 2017 UTC
2 PS_PPS_lib\bin\mavenrepo\vha\stddata\vha-stddata-client\15.0\vha-stddata-client-15.0.jar\def\gov\va\med\term\access Institution.xml Thu Sep 6 07:48:36 2007 UTC

703.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 0 0
Changed 0 0
Inserted 1 2199
Removed 0 0

703.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

703.4 Active regular expressions

No regular expressions were active.

703.5 Comparison detail

        1   <?xml 
        2     version="1 .0" 
        3     encoding=" UTF-8"
        4   ?>
        5   <type 
        6     _simple-cl ass-name=" Institutio n" 
        7     _a="an" 
        8     _package=" gov.va.med .term.acce ss" 
        9     _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        10     _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        11     _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        12     _mutable-c lass-name= "gov.va.me d.term.acc ess.mutabl e.Institut ion" 
        13     _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        14     _transfero bject-clas s-package= "gov.va.me d.term.acc ess.ejb.co mmon" 
        15     _readonly- class-simp le-name="R eadonlyIns titution" 
        16     _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        17     _transfero bject-clas s-simple-n ame="Insti tutionTOv1
        18     _transfero bject-clas s-name="go v.va.med.t erm.access .ejb.commo n.Institut ionTOv1" 
        19     _decapital ized-class -name="ins titution" 
        20     _table-abb rev="STD_I nst" 
        21     name="gov. va.med.ter m.access.I nstitution
        22     table="STD _Instituti on" 
        23     table-abbr ev="STD_In st" 
        24     user-name= "Instituti on" 
        25     serial-ver sion-uid=" 1" 
        26     short-desc ription="T he facilit ies within  the VA." 
        27     auditable= "true" 
        28     has-versio n-number=" true" 
        29     supports-l ogical-del ete="false
        30     tablespace ="S_DATA_0 1" 
        31     indexspace ="S_INDEX_ 01" 
        32     read-only= "false" 
        33     deleteable ="false" 
        34     temporal=" snapshot" 
        35     abstract=" false"
        36   >
        37        
        38     <alternate -key-group  
        39      _capitaliz ed-name="S tationNumb er" 
        40      _abbrev="S tationNumb er" 
        41      name="stat ionNumber"  
        42      short-desc ription="s tation Num ber"
        43     >
        44         
        45            
        46      <alternate -key-eleme nt 
        47       name="stat ionNumber"
        48      />
        49       
        50         
        51     </alternat e-key-grou p>
        52        
        53     <sort-attr s>
        54            
        55      <sort-attr  
        56       name="name "
        57      />
        58         
        59     </sort-att rs>
        60        
        61     <attr 
        62      name="id" 
        63      user-name= "Id" 
        64      datatype=" Long" 
        65      short-desc ription="T his is a u nique iden tifier for  the insti tution. Th is is the  primary ke y." 
        66      key="syste m-assigned
        67      min-value= "1" 
        68      display-on -list="fal se" 
        69      display-on -search="f alse" 
        70      display-on -view="fal se" 
        71      private="f alse" 
        72      owning="fa lse" 
        73      shared-key ="false" 
        74      required=" false" 
        75      unique="tr ue" 
        76      frozen="tr ue" 
        77      password=" false" 
        78      allow-patt ern-search ="false" 
        79      allow-soun dex-search ="false" 
        80      _capitaliz ed-name="I d" 
        81      _accessor- name="getI d" 
        82      _mutator-n ame="setId
        83      _hibernate -name="id"  
        84      _derived=" false" 
        85      _system-as signed="tr ue" 
        86      _is-user-d efined="fa lse" 
        87      _column-na me="id" 
        88      _capitaliz ed-column- name="Id" 
        89      _column-ab brev="Id" 
        90      _is-multi= "false" 
        91      _atomic-da tatype="Lo ng" 
        92      _simple-da tatype="Lo ng" 
        93      _simple-at omic-datat ype="Long"
        94     />
        95        
        96     <attr 
        97      name="acti vationDate
        98      datatype=" Day" 
        99      short-desc ription="T he activat ion date f or the ins titution."  
        100      user-name= "Activatio n Date" 
        101      display-si ze="15" 
        102      display-on -list="fal se" 
        103      private="f alse" 
        104      owning="fa lse" 
        105      shared-key ="false" 
        106      required=" false" 
        107      unique="fa lse" 
        108      frozen="fa lse" 
        109      password=" false" 
        110      display-on -search="t rue" 
        111      display-on -view="tru e" 
        112      allow-patt ern-search ="false" 
        113      allow-soun dex-search ="false" 
        114      _capitaliz ed-name="A ctivationD ate" 
        115      _accessor- name="getA ctivationD ate" 
        116      _mutator-n ame="setAc tivationDa te" 
        117      _hibernate -name="act ivationDat e" 
        118      _derived=" false" 
        119      _system-as signed="fa lse" 
        120      _is-user-d efined="fa lse" 
        121      _column-na me="activa tionDate" 
        122      _capitaliz ed-column- name="Acti vationDate
        123      _column-ab brev="Acti vationDate
        124      _is-multi= "false" 
        125      _atomic-da tatype="Da y" 
        126      _simple-da tatype="Da y" 
        127      _simple-at omic-datat ype="Day" 
        128      _basic-typ e="gov.va. med.term.a ccess.type s.Day"
        129     >
        130          
        131            
        132      <descripti on>
        133               Th e institut ion become s active a t 0:0:01 o n the day  that match es the act ivation da te.
        134               &l t;p&gt;
        135               If  no date h as been en tered a nu ll value w ill be ret urned.
        136               In  this case , the inst itution is  active un less the d eactivatio n date has  passed.
        137               &l t;/p&gt; 
        138           
        139      </descript ion>
        140          
        141     </attr>
        142        
        143     <attr 
        144      name="deac tivationDa te" 
        145      datatype=" Day" 
        146      short-desc ription="T he deactiv ation date  for the i nstitution ." 
        147      user-name= "Deactivat ion Date" 
        148      display-si ze="15" 
        149      display-on -list="fal se" 
        150      private="f alse" 
        151      owning="fa lse" 
        152      shared-key ="false" 
        153      required=" false" 
        154      unique="fa lse" 
        155      frozen="fa lse" 
        156      password=" false" 
        157      display-on -search="t rue" 
        158      display-on -view="tru e" 
        159      allow-patt ern-search ="false" 
        160      allow-soun dex-search ="false" 
        161      _capitaliz ed-name="D eactivatio nDate" 
        162      _accessor- name="getD eactivatio nDate" 
        163      _mutator-n ame="setDe activation Date" 
        164      _hibernate -name="dea ctivationD ate" 
        165      _derived=" false" 
        166      _system-as signed="fa lse" 
        167      _is-user-d efined="fa lse" 
        168      _column-na me="deacti vationDate
        169      _capitaliz ed-column- name="Deac tivationDa te" 
        170      _column-ab brev="Deac tivationDa te" 
        171      _is-multi= "false" 
        172      _atomic-da tatype="Da y" 
        173      _simple-da tatype="Da y" 
        174      _simple-at omic-datat ype="Day" 
        175      _basic-typ e="gov.va. med.term.a ccess.type s.Day"
        176     >
        177          
        178            
        179      <descripti on>
        180               Th e institut ion become s inactive  at 23:59: 59 on the  day that m atches the  deactivat ion date.
        181               &l t;p&gt;
        182               If  no date h as been en tered a nu ll value w ill be ret urned.
        183               In  this case , the inst itution is  active un less the a ctivation  date is in  the futur e.
        184               &l t;/p&gt; 
        185           
        186      </descript ion>
        187          
        188     </attr>
        189        
        190     <attr 
        191      name="name
        192      datatype=" String" 
        193      transforms ="Uppercas e" 
        194      short-desc ription="T he name of  the insti tution." 
        195      user-name= "Name" 
        196      required=" true" 
        197      max-length ="80" 
        198      min-length ="2" 
        199      display-si ze="30" 
        200      private="f alse" 
        201      owning="fa lse" 
        202      shared-key ="false" 
        203      unique="fa lse" 
        204      frozen="fa lse" 
        205      password=" false" 
        206      display-on -search="t rue" 
        207      display-on -list="tru e" 
        208      display-on -view="tru e" 
        209      allow-patt ern-search ="false" 
        210      allow-soun dex-search ="false" 
        211      _capitaliz ed-name="N ame" 
        212      _accessor- name="getN ame" 
        213      _mutator-n ame="setNa me" 
        214      _hibernate -name="nam e" 
        215      _derived=" false" 
        216      _system-as signed="fa lse" 
        217      _is-user-d efined="fa lse" 
        218      _column-na me="name" 
        219      _capitaliz ed-column- name="Name
        220      _column-ab brev="Name
        221      _is-multi= "false" 
        222      _atomic-da tatype="St ring" 
        223      _simple-da tatype="St ring" 
        224      _simple-at omic-datat ype="Strin g"
        225     />
        226        
        227     <attr 
        228      name="stat ionNumber"  
        229      user-name= "Station N umber" 
        230      unique="tr ue" 
        231      datatype=" String" 
        232      transforms ="Uppercas e" 
        233      short-desc ription="T he unique  assigned s tation num ber for th e Institut ion." 
        234      pattern="\ d{3}(|[A-Z 0-9]{0,4})
        235      pattern-de scription= "three num eric chara cters foll owed by up  to four a lpha/numer ic charact ers" 
        236      max-length ="7" 
        237      private="f alse" 
        238      owning="fa lse" 
        239      shared-key ="false" 
        240      required=" false" 
        241      frozen="fa lse" 
        242      password=" false" 
        243      display-on -search="t rue" 
        244      display-on -list="tru e" 
        245      display-on -view="tru e" 
        246      allow-patt ern-search ="false" 
        247      allow-soun dex-search ="false" 
        248      _capitaliz ed-name="S tationNumb er" 
        249      _accessor- name="getS tationNumb er" 
        250      _mutator-n ame="setSt ationNumbe r" 
        251      _hibernate -name="sta tionNumber
        252      _derived=" false" 
        253      _system-as signed="fa lse" 
        254      _is-user-d efined="fa lse" 
        255      _column-na me="statio nNumber" 
        256      _capitaliz ed-column- name="Stat ionNumber"  
        257      _column-ab brev="Stat ionNumber"  
        258      _is-multi= "false" 
        259      _atomic-da tatype="St ring" 
        260      _simple-da tatype="St ring" 
        261      _simple-at omic-datat ype="Strin g"
        262     />
        263        
        264     <attr 
        265      name="vist aName" 
        266      user-name= "Vista Nam e" 
        267      required=" true" 
        268      datatype=" String" 
        269      transforms ="Uppercas e" 
        270      short-desc ription="T he name of  the insti tution use d in VistA  for repor ting." 
        271      max-length ="30" 
        272      min-length ="3" 
        273      private="f alse" 
        274      owning="fa lse" 
        275      shared-key ="false" 
        276      unique="fa lse" 
        277      frozen="fa lse" 
        278      password=" false" 
        279      display-on -search="t rue" 
        280      display-on -list="tru e" 
        281      display-on -view="tru e" 
        282      allow-patt ern-search ="false" 
        283      allow-soun dex-search ="false" 
        284      _capitaliz ed-name="V istaName" 
        285      _accessor- name="getV istaName" 
        286      _mutator-n ame="setVi staName" 
        287      _hibernate -name="vis taName" 
        288      _derived=" false" 
        289      _system-as signed="fa lse" 
        290      _is-user-d efined="fa lse" 
        291      _column-na me="vistaN ame" 
        292      _capitaliz ed-column- name="Vist aName" 
        293      _column-ab brev="Vist aName" 
        294      _is-multi= "false" 
        295      _atomic-da tatype="St ring" 
        296      _simple-da tatype="St ring" 
        297      _simple-at omic-datat ype="Strin g"
        298     />
        299        
        300     <attr 
        301      name="agen cy" 
        302      datatype=" gov.va.med .term.acce ss.Agency"  
        303      short-desc ription="T he federal  agency to  which the  instituti on belongs ." 
        304      user-name= "Agency" 
        305      display-on -list="fal se" 
        306      private="f alse" 
        307      owning="fa lse" 
        308      shared-key ="false" 
        309      required=" false" 
        310      unique="fa lse" 
        311      frozen="fa lse" 
        312      password=" false" 
        313      display-on -search="t rue" 
        314      display-on -view="tru e" 
        315      allow-patt ern-search ="false" 
        316      allow-soun dex-search ="false" 
        317      _capitaliz ed-name="A gency" 
        318      _accessor- name="getA gency" 
        319      _mutator-n ame="setAg ency" 
        320      _hibernate -name="age ncy" 
        321      _derived=" false" 
        322      _system-as signed="fa lse" 
        323      _is-user-d efined="tr ue" 
        324      _column-na me="agency
        325      _capitaliz ed-column- name="Agen cy" 
        326      _column-ab brev="Agen cy" 
        327      _is-multi= "false" 
        328      _atomic-da tatype="go v.va.med.t erm.access .Agency" 
        329      _simple-da tatype="Ag ency" 
        330      _simple-at omic-datat ype="Agenc y" 
        331      _datatype- package="g ov.va.med. term.acces s" 
        332      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        333      _implement ation-clas s-simple-n ame="Mutab leAgency" 
        334      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableAgen cy" 
        335      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Age ncy" 
        336      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Agency" 
        337      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        338      _readonly- class-simp le-name="R eadonlyAge ncy" 
        339      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyAgency" 
        340      _supports- logical-de lete="true
        341      _datatype- is-attr-gr oup="false
        342      _role="par ent" 
        343      _relations hip="many- to-optiona l" 
        344      _stores-fo reign-key= "true" 
        345      _bidirecti onal="fals e"
        346     />
        347        
        348     <attr 
        349      name="code s" 
        350      datatype=" gov.va.med .term.acce ss.Institu tionCode[]
        351      short-desc ription="C odes used  for this i nstitution ." 
        352      owning="tr ue" 
        353      private="f alse" 
        354      shared-key ="false" 
        355      required=" false" 
        356      unique="fa lse" 
        357      frozen="fa lse" 
        358      password=" false" 
        359      display-on -search="f alse" 
        360      display-on -list="fal se" 
        361      display-on -view="tru e" 
        362      allow-patt ern-search ="false" 
        363      allow-soun dex-search ="false" 
        364      _capitaliz ed-name="C odes" 
        365      user-name= "Codes" 
        366      _accessor- name="getC odes" 
        367      _mutator-n ame="setCo des" 
        368      _hibernate -name="cod es" 
        369      _derived=" false" 
        370      _system-as signed="fa lse" 
        371      _is-user-d efined="tr ue" 
        372      _column-na me="codes"  
        373      _capitaliz ed-column- name="Code s" 
        374      _column-ab brev="Code s" 
        375      _is-multi= "true" 
        376      _singular- name="code
        377      _capitaliz ed-singula r-name="Co de" 
        378      _atomic-da tatype="go v.va.med.t erm.access .Instituti onCode" 
        379      _simple-da tatype="In stitutionC ode[]" 
        380      _simple-at omic-datat ype="Insti tutionCode
        381      _datatype- package="g ov.va.med. term.acces s" 
        382      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        383      _implement ation-clas s-simple-n ame="Mutab leInstitut ionCode" 
        384      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itutionCod e" 
        385      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titutionCo de" 
        386      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio nCode[]" 
        387      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        388      _readonly- class-simp le-name="R eadonlyIns titutionCo de" 
        389      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ionCode" 
        390      _supports- logical-de lete="fals e" 
        391      _datatype- is-attr-gr oup="false
        392      _role="par ent" 
        393      _relations hip="one-t o-many" 
        394      _stores-fo reign-key= "false" 
        395      _bidirecti onal="true
        396      _dependent -type="sim ple"
        397     />
        398        
        399     <attr 
        400      name="stre etAddress"  
        401      datatype=" gov.va.med .term.acce ss.Address
        402      short-desc ription="T he street  address fo r the inst itution." 
        403      user-name= "Street Ad dress" 
        404      column-pre fix="stree t" 
        405      display-on -list="fal se" 
        406      private="f alse" 
        407      owning="fa lse" 
        408      shared-key ="false" 
        409      required=" false" 
        410      unique="fa lse" 
        411      frozen="fa lse" 
        412      password=" false" 
        413      display-on -search="t rue" 
        414      display-on -view="tru e" 
        415      allow-patt ern-search ="false" 
        416      allow-soun dex-search ="false" 
        417      _capitaliz ed-name="S treetAddre ss" 
        418      _accessor- name="getS treetAddre ss" 
        419      _mutator-n ame="setSt reetAddres s" 
        420      _hibernate -name="str eetAddress
        421      _derived=" false" 
        422      _system-as signed="fa lse" 
        423      _is-user-d efined="tr ue" 
        424      _column-na me="street Address" 
        425      _capitaliz ed-column- name="Stre etAddress"  
        426      _column-ab brev="Stre etAddress"  
        427      _capitaliz ed-column- prefix="St reet" 
        428      _is-multi= "false" 
        429      _atomic-da tatype="go v.va.med.t erm.access .Address" 
        430      _simple-da tatype="Ad dress" 
        431      _simple-at omic-datat ype="Addre ss" 
        432      _datatype- package="g ov.va.med. term.acces s" 
        433      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        434      _implement ation-clas s-simple-n ame="Mutab leAddress"  
        435      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableAddr ess" 
        436      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Add ress" 
        437      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Address" 
        438      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        439      _readonly- class-simp le-name="R eadonlyAdd ress" 
        440      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyAddress"  
        441      _supports- logical-de lete="" 
        442      _datatype- is-attr-gr oup="true"  
        443      _role="par ent" 
        444      _relations hip="many- to-optiona l" 
        445      _stores-fo reign-key= "true" 
        446      _bidirecti onal="fals e"
        447     />
        448        
        449     <attr 
        450      name="mail ingAddress
        451      datatype=" gov.va.med .term.acce ss.Address
        452      short-desc ription="T he mailing  address f or the ins titution."  
        453      user-name= "Mailing A ddress" 
        454      column-pre fix="maili ng" 
        455      display-on -list="fal se" 
        456      private="f alse" 
        457      owning="fa lse" 
        458      shared-key ="false" 
        459      required=" false" 
        460      unique="fa lse" 
        461      frozen="fa lse" 
        462      password=" false" 
        463      display-on -search="t rue" 
        464      display-on -view="tru e" 
        465      allow-patt ern-search ="false" 
        466      allow-soun dex-search ="false" 
        467      _capitaliz ed-name="M ailingAddr ess" 
        468      _accessor- name="getM ailingAddr ess" 
        469      _mutator-n ame="setMa ilingAddre ss" 
        470      _hibernate -name="mai lingAddres s" 
        471      _derived=" false" 
        472      _system-as signed="fa lse" 
        473      _is-user-d efined="tr ue" 
        474      _column-na me="mailin gAddress" 
        475      _capitaliz ed-column- name="Mail ingAddress
        476      _column-ab brev="Mail ingAddress
        477      _capitaliz ed-column- prefix="Ma iling" 
        478      _is-multi= "false" 
        479      _atomic-da tatype="go v.va.med.t erm.access .Address" 
        480      _simple-da tatype="Ad dress" 
        481      _simple-at omic-datat ype="Addre ss" 
        482      _datatype- package="g ov.va.med. term.acces s" 
        483      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        484      _implement ation-clas s-simple-n ame="Mutab leAddress"  
        485      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableAddr ess" 
        486      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Add ress" 
        487      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Address" 
        488      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        489      _readonly- class-simp le-name="R eadonlyAdd ress" 
        490      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyAddress"  
        491      _supports- logical-de lete="" 
        492      _datatype- is-attr-gr oup="true"  
        493      _role="par ent" 
        494      _relations hip="many- to-optiona l" 
        495      _stores-fo reign-key= "true" 
        496      _bidirecti onal="fals e"
        497     />
        498        
        499     <attr 
        500      name="faci lityType" 
        501      user-name= "Facility  Type" 
        502      datatype=" gov.va.med .term.acce ss.Facilit yType" 
        503      required=" true" 
        504      short-desc ription="T he facilit y type for  the insti tution." 
        505      private="f alse" 
        506      owning="fa lse" 
        507      shared-key ="false" 
        508      unique="fa lse" 
        509      frozen="fa lse" 
        510      password=" false" 
        511      display-on -search="t rue" 
        512      display-on -list="tru e" 
        513      display-on -view="tru e" 
        514      allow-patt ern-search ="false" 
        515      allow-soun dex-search ="false" 
        516      _capitaliz ed-name="F acilityTyp e" 
        517      _accessor- name="getF acilityTyp e" 
        518      _mutator-n ame="setFa cilityType
        519      _hibernate -name="fac ilityType"  
        520      _derived=" false" 
        521      _system-as signed="fa lse" 
        522      _is-user-d efined="tr ue" 
        523      _column-na me="facili tyType" 
        524      _capitaliz ed-column- name="Faci lityType" 
        525      _column-ab brev="Faci lityType" 
        526      _is-multi= "false" 
        527      _atomic-da tatype="go v.va.med.t erm.access .FacilityT ype" 
        528      _simple-da tatype="Fa cilityType
        529      _simple-at omic-datat ype="Facil ityType" 
        530      _datatype- package="g ov.va.med. term.acces s" 
        531      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        532      _implement ation-clas s-simple-n ame="Mutab leFacility Type" 
        533      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableFaci lityType" 
        534      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Fac ilityType"  
        535      _mutable-d atatype="g ov.va.med. term.acces s.mutable. FacilityTy pe" 
        536      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        537      _readonly- class-simp le-name="R eadonlyFac ilityType"  
        538      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyFacility Type" 
        539      _supports- logical-de lete="true
        540      _datatype- is-attr-gr oup="false
        541      _role="par ent" 
        542      _relations hip="many- to-one" 
        543      _stores-fo reign-key= "true" 
        544      _bidirecti onal="fals e"
        545     />
        546        
        547     <attr 
        548      name="mfn_ zeg_recipi ent" 
        549      datatype=" String" 
        550      length="1"  
        551      default="0
        552      short-desc ription="T he mfn_zeg _recipient  for the I nstitution ." 
        553      pattern="[ \p{Digit}] {1}" 
        554      pattern-de scription= "one digit
        555      required=" true" 
        556      private="f alse" 
        557      owning="fa lse" 
        558      shared-key ="false" 
        559      unique="fa lse" 
        560      frozen="fa lse" 
        561      password=" false" 
        562      display-on -search="t rue" 
        563      display-on -list="tru e" 
        564      display-on -view="tru e" 
        565      allow-patt ern-search ="false" 
        566      allow-soun dex-search ="false" 
        567      _capitaliz ed-name="M fn_zeg_rec ipient" 
        568      user-name= "Mfn_zeg_r ecipient" 
        569      _accessor- name="getM fn_zeg_rec ipient" 
        570      _mutator-n ame="setMf n_zeg_reci pient" 
        571      _hibernate -name="mfn _zeg_recip ient" 
        572      _derived=" false" 
        573      _system-as signed="fa lse" 
        574      _is-user-d efined="fa lse" 
        575      _column-na me="mfn_ze g_recipien t" 
        576      _capitaliz ed-column- name="Mfn_ zeg_recipi ent" 
        577      _column-ab brev="Mfn_ zeg_recipi ent" 
        578      _is-multi= "false" 
        579      _atomic-da tatype="St ring" 
        580      _simple-da tatype="St ring" 
        581      _simple-at omic-datat ype="Strin g"
        582     />
        583        
        584     <attr 
        585      name="chil dren" 
        586      display-on -list="fal se" 
        587      singular-n ame="child
        588      user-name= "Children"  
        589      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        590      short-desc ription="T he set of  institutio ns adminis tered by t his instit ution." 
        591      private="f alse" 
        592      owning="fa lse" 
        593      shared-key ="false" 
        594      required=" false" 
        595      unique="fa lse" 
        596      frozen="fa lse" 
        597      password=" false" 
        598      display-on -search="f alse" 
        599      display-on -view="tru e" 
        600      allow-patt ern-search ="false" 
        601      allow-soun dex-search ="false" 
        602      _capitaliz ed-name="C hildren" 
        603      _accessor- name="getC hildren" 
        604      _mutator-n ame="setCh ildren" 
        605      _hibernate -name="chi ldren" 
        606      _derived=" false" 
        607      _system-as signed="fa lse" 
        608      _is-user-d efined="tr ue" 
        609      _column-na me="childr en" 
        610      _capitaliz ed-column- name="Chil dren" 
        611      _column-ab brev="Chil dren" 
        612      _is-multi= "true" 
        613      _singular- name="chil d" 
        614      _capitaliz ed-singula r-name="Ch ild" 
        615      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        616      _simple-da tatype="In stitution[ ]" 
        617      _simple-at omic-datat ype="Insti tution" 
        618      _datatype- package="g ov.va.med. term.acces s" 
        619      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        620      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        621      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        622      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        623      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        624      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        625      _readonly- class-simp le-name="R eadonlyIns titution" 
        626      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        627      _supports- logical-de lete="fals e" 
        628      _datatype- is-attr-gr oup="false
        629      _role="par ent" 
        630      _relations hip="optio nal-to-man y" 
        631      _stores-fo reign-key= "false" 
        632      _bidirecti onal="true "
        633     />
        634        
        635     <attr 
        636      name="pare nt" 
        637      display-on -list="fal se" 
        638      user-name= "Parent of  Instituti on" 
        639      datatype=" gov.va.med .term.acce ss.Institu tion" 
        640      referring- attr="chil dren" 
        641      short-desc ription="T he adminis trative pa rent of th e institut ion." 
        642      private="f alse" 
        643      owning="fa lse" 
        644      shared-key ="false" 
        645      required=" false" 
        646      unique="fa lse" 
        647      frozen="fa lse" 
        648      password=" false" 
        649      display-on -search="t rue" 
        650      display-on -view="tru e" 
        651      allow-patt ern-search ="false" 
        652      allow-soun dex-search ="false" 
        653      _capitaliz ed-name="P arent" 
        654      _accessor- name="getP arent" 
        655      _mutator-n ame="setPa rent" 
        656      _hibernate -name="par ent" 
        657      _derived=" false" 
        658      _system-as signed="fa lse" 
        659      _is-user-d efined="tr ue" 
        660      _column-na me="parent
        661      _capitaliz ed-column- name="Pare nt" 
        662      _column-ab brev="Pare nt" 
        663      _is-multi= "false" 
        664      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        665      _simple-da tatype="In stitution"  
        666      _simple-at omic-datat ype="Insti tution" 
        667      _datatype- package="g ov.va.med. term.acces s" 
        668      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        669      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        670      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        671      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        672      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n" 
        673      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        674      _readonly- class-simp le-name="R eadonlyIns titution" 
        675      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        676      _supports- logical-de lete="fals e" 
        677      _datatype- is-attr-gr oup="false
        678      _role="chi ld" 
        679      _relations hip="optio nal-to-man y" 
        680      _stores-fo reign-key= "true" 
        681      _bidirecti onal="true
        682      _capitaliz ed-referri ng-attr="C hildren"
        683     />
        684        
        685     <attr 
        686      name="visn s" 
        687      user-name= "VISNs" 
        688      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        689      display-on -view="fal se" 
        690      short-desc ription="T he set of  institutio ns that ar e VISNs." 
        691      private="f alse" 
        692      owning="fa lse" 
        693      shared-key ="false" 
        694      required=" false" 
        695      unique="fa lse" 
        696      frozen="fa lse" 
        697      password=" false" 
        698      display-on -search="f alse" 
        699      display-on -list="fal se" 
        700      allow-patt ern-search ="false" 
        701      allow-soun dex-search ="false" 
        702      _capitaliz ed-name="V isns" 
        703      _accessor- name="getV isns" 
        704      _mutator-n ame="setVi sns" 
        705      _hibernate -name="vis ns" 
        706      _derived=" true" 
        707      _system-as signed="tr ue" 
        708      _is-user-d efined="tr ue" 
        709      _column-na me="visns"  
        710      _capitaliz ed-column- name="Visn s" 
        711      _column-ab brev="Visn s" 
        712      _is-multi= "true" 
        713      _singular- name="visn
        714      _capitaliz ed-singula r-name="Vi sn" 
        715      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        716      _simple-da tatype="In stitution[ ]" 
        717      _simple-at omic-datat ype="Insti tution" 
        718      _datatype- package="g ov.va.med. term.acces s" 
        719      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        720      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        721      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        722      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        723      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        724      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        725      _readonly- class-simp le-name="R eadonlyIns titution" 
        726      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        727      _supports- logical-de lete="fals e" 
        728      _datatype- is-attr-gr oup="false "
        729     >
        730          
        731            
        732      <derivatio n-method 
        733       apply-on-c reate="fal se"
        734      >   
        735           Criter ia criteri a = new Cr iteria.Equ al(
        736                    "facilit yType", Fa cilityType .factory.o btainByCod e("VISN")) ;
        737           return  Instituti on.factory .obtain(cr iteria); 
        738            
        739      </derivati on-method>
        740           
        741     </attr>
        742        
        743     <attr 
        744      name="allD ivisions" 
        745      user-name= "Divisions  for all V ISNs" 
        746      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        747      display-on -view="fal se" 
        748      short-desc ription="T he set of  all instit utions tha t are Divi sions." 
        749      private="f alse" 
        750      owning="fa lse" 
        751      shared-key ="false" 
        752      required=" false" 
        753      unique="fa lse" 
        754      frozen="fa lse" 
        755      password=" false" 
        756      display-on -search="f alse" 
        757      display-on -list="fal se" 
        758      allow-patt ern-search ="false" 
        759      allow-soun dex-search ="false" 
        760      _capitaliz ed-name="A llDivision s" 
        761      _accessor- name="getA llDivision s" 
        762      _mutator-n ame="setAl lDivisions
        763      _hibernate -name="all Divisions"  
        764      _derived=" true" 
        765      _system-as signed="tr ue" 
        766      _is-user-d efined="tr ue" 
        767      _column-na me="allDiv isions" 
        768      _capitaliz ed-column- name="AllD ivisions" 
        769      _column-ab brev="AllD ivisions" 
        770      _is-multi= "true" 
        771      _singular- name="allD ivision" 
        772      _capitaliz ed-singula r-name="Al lDivision"  
        773      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        774      _simple-da tatype="In stitution[ ]" 
        775      _simple-at omic-datat ype="Insti tution" 
        776      _datatype- package="g ov.va.med. term.acces s" 
        777      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        778      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        779      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        780      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        781      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        782      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        783      _readonly- class-simp le-name="R eadonlyIns titution" 
        784      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        785      _supports- logical-de lete="fals e" 
        786      _datatype- is-attr-gr oup="false "
        787     >
        788          
        789            
        790      <derivatio n-method 
        791       apply-on-c reate="fal se"
        792      >   
        793           final  Institutio n[] result s = Instit ution.fact ory.obtain ();
        794           
        795           // Fin d entries  that are D ivisions 
        796           final  java.util. Vector v =  new java. util.Vecto r();
        797           for (  int i = 0;  i &lt; re sults.leng th; i++ ) 
        798           { 
        799               if  ( results [i].isADiv ision() )
        800               {
        801                    v.addEle ment(resul ts[i]);
        802               }    
        803           }
        804           final  Institutio n[] divisi ons = new  Institutio n[v.size() ];
        805           v.copy Into(divis ions);
        806           return  divisions ;     
        807            
        808      </derivati on-method>
        809           
        810     </attr>
        811        
        812     <attr 
        813      name="visn Divisions"  
        814      user-name= "Divisions  for VISN"  
        815      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        816      short-desc ription="T he set of  institutio ns that ar e Division s for the  VISN." 
        817      private="f alse" 
        818      owning="fa lse" 
        819      shared-key ="false" 
        820      required=" false" 
        821      unique="fa lse" 
        822      frozen="fa lse" 
        823      password=" false" 
        824      display-on -search="f alse" 
        825      display-on -list="fal se" 
        826      display-on -view="tru e" 
        827      allow-patt ern-search ="false" 
        828      allow-soun dex-search ="false" 
        829      _capitaliz ed-name="V isnDivisio ns" 
        830      _accessor- name="getV isnDivisio ns" 
        831      _mutator-n ame="setVi snDivision s" 
        832      _hibernate -name="vis nDivisions
        833      _derived=" true" 
        834      _system-as signed="tr ue" 
        835      _is-user-d efined="tr ue" 
        836      _column-na me="visnDi visions" 
        837      _capitaliz ed-column- name="Visn Divisions"  
        838      _column-ab brev="Visn Divisions"  
        839      _is-multi= "true" 
        840      _singular- name="visn Division" 
        841      _capitaliz ed-singula r-name="Vi snDivision
        842      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        843      _simple-da tatype="In stitution[ ]" 
        844      _simple-at omic-datat ype="Insti tution" 
        845      _datatype- package="g ov.va.med. term.acces s" 
        846      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        847      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        848      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        849      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        850      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        851      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        852      _readonly- class-simp le-name="R eadonlyIns titution" 
        853      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        854      _supports- logical-de lete="fals e" 
        855      _datatype- is-attr-gr oup="false "
        856     >
        857          
        858            
        859      <derivatio n-method 
        860       apply-on-c reate="fal se"
        861      >
        862           Instit ution.Key  visnKey;
        863           if ( " VISN".equa ls(getFaci lityType() .getCode() ) )
        864           {
        865               vi snKey = ge tKey();
        866           }
        867           else i f ( getVis n() == nul l )
        868           {
        869               re turn new I nstitution [0];
        870           }
        871           else
        872           {
        873               vi snKey = ge tVisn().ge tKey();
        874           }  
        875          
        876           Criter ia visnCri teria = ne w Criteria .Equal(
        877                    "visn",  Institutio n.factory. obtain(vis nKey));
        878           Instit ution[] re sults = In stitution. factory.ob tain(visnC riteria);
        879               
        880           // Dou ble check  that entri es are Div isions
        881           final  java.util. Vector v =  new java. util.Vecto r();
        882           for (  int i = 0;  i &lt; re sults.leng th; i++ )
        883           { 
        884               if  ( results [i].isADiv ision() )
        885               {
        886                    v.addEle ment(resul ts[i]);
        887               }    
        888           }
        889           final  Institutio n[] divisi ons = new  Institutio n[v.size() ];
        890           v.copy Into(divis ions);
        891           return  divisions ;  
        892            
        893      </derivati on-method>
        894           
        895     </attr>
        896        
        897     <attr 
        898      name="divi sions" 
        899      user-name= "Divisions
        900      display-on -view="fal se" 
        901      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        902      short-desc ription="T he set of  institutio ns that ar e division s for the  M instance  (vistaPro vider) of  this insti tution." 
        903      private="f alse" 
        904      owning="fa lse" 
        905      shared-key ="false" 
        906      required=" false" 
        907      unique="fa lse" 
        908      frozen="fa lse" 
        909      password=" false" 
        910      display-on -search="f alse" 
        911      display-on -list="fal se" 
        912      allow-patt ern-search ="false" 
        913      allow-soun dex-search ="false" 
        914      _capitaliz ed-name="D ivisions" 
        915      _accessor- name="getD ivisions" 
        916      _mutator-n ame="setDi visions" 
        917      _hibernate -name="div isions" 
        918      _derived=" true" 
        919      _system-as signed="tr ue" 
        920      _is-user-d efined="tr ue" 
        921      _column-na me="divisi ons" 
        922      _capitaliz ed-column- name="Divi sions" 
        923      _column-ab brev="Divi sions" 
        924      _is-multi= "true" 
        925      _singular- name="divi sion" 
        926      _capitaliz ed-singula r-name="Di vision" 
        927      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        928      _simple-da tatype="In stitution[ ]" 
        929      _simple-at omic-datat ype="Insti tution" 
        930      _datatype- package="g ov.va.med. term.acces s" 
        931      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        932      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        933      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        934      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        935      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        936      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        937      _readonly- class-simp le-name="R eadonlyIns titution" 
        938      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        939      _supports- logical-de lete="fals e" 
        940      _datatype- is-attr-gr oup="false "
        941     >
        942          
        943            
        944      <derivatio n-method 
        945       apply-on-c reate="fal se"
        946      >
        947           Instit ution vist aProvider  = getVista Provider() ;
        948           Instit ution[] di visions =  new Instit ution[0];
        949           String  Hcs = new  String("H CS");
        950           Instit ution pare nt;
        951           
        952           // If  the given  Institutio n is a HCS  then use  it since i t doesn't
        953           // hav e a statio n number,  and so has  no M inst ance
        954           if ( H cs.equals( getFacilit yType().ge tCode()) )
        955           {
        956               pa rent = thi s;
        957           }
        958           else
        959           {
        960               if  ( vistaPr ovider ==  null )
        961               {
        962                    return d ivisions;
        963               }
        964      
        965               pa rent = vis taProvider .getParent ();
        966               //  Parent sh ould never  be NULL -  but just  in case .. .
        967               if  ( parent  == null )
        968               {
        969                    return d ivisions;
        970               }
        971           }
        972      
        973           if ( H cs.equals( parent.get FacilityTy pe().getCo de()) )
        974           {
        975                I nstitution [] childre n = parent .getChildr en();
        976                f inal java. util.Vecto r v = new  java.util. Vector();
        977                f inal int l im = child ren.length
        978      
        979                f or ( int i  = 0; i &l t; lim; i+ + )
        980                {
        981                     if ( ch ildren[i]. isADivisio n() )
        982                     {
        983                         v.a ddElement( children[i ]);
        984                     }
        985                }
        986      
        987                d ivisions =  new Insti tution[v.s ize()];
        988                v .copyInto( divisions) ;
        989            }
        990            else
        991            // If  the paren t is NOT a n HCS (it  should be)  then the  divisions  should be  the vistaP rovider
        992            //     plus its  children
        993            {
        994                I nstitution [] childre n = vistaP rovider.ge tChildren( );
        995                f inal java. util.Vecto r v = new  java.util. Vector();
        996                f inal int l im = child ren.length ;
        997      
        998                / / Place vi staProvide r at the f ront of th e list and  then add  suitable c hildren
        999                v .addElemen t(vistaPro vider);
        1000                f or ( int i  = 0; i &l t; lim; i+ + )
        1001                {
        1002                     if ( ch ildren[i]. isADivisio n() )
        1003                     {
        1004                         v.a ddElement( children[i ]);
        1005                     }
        1006                }
        1007      
        1008                d ivisions =  new Insti tution[v.s ize()];
        1009                v .copyInto( divisions) ;            
        1010            }
        1011      
        1012            retur n division s;
        1013            
        1014      </derivati on-method>
        1015           
        1016     </attr>
        1017        
        1018     <attr 
        1019      name="sibl ings" 
        1020      display-on -list="fal se" 
        1021      user-name= "Siblings"  
        1022      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        1023      display-on -view="fal se" 
        1024      short-desc ription="T he set of  institutio ns that ar e siblings  of this i nstitution ." 
        1025      private="f alse" 
        1026      owning="fa lse" 
        1027      shared-key ="false" 
        1028      required=" false" 
        1029      unique="fa lse" 
        1030      frozen="fa lse" 
        1031      password=" false" 
        1032      display-on -search="f alse" 
        1033      allow-patt ern-search ="false" 
        1034      allow-soun dex-search ="false" 
        1035      _capitaliz ed-name="S iblings" 
        1036      _accessor- name="getS iblings" 
        1037      _mutator-n ame="setSi blings" 
        1038      _hibernate -name="sib lings" 
        1039      _derived=" true" 
        1040      _system-as signed="tr ue" 
        1041      _is-user-d efined="tr ue" 
        1042      _column-na me="siblin gs" 
        1043      _capitaliz ed-column- name="Sibl ings" 
        1044      _column-ab brev="Sibl ings" 
        1045      _is-multi= "true" 
        1046      _singular- name="sibl ing" 
        1047      _capitaliz ed-singula r-name="Si bling" 
        1048      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        1049      _simple-da tatype="In stitution[ ]" 
        1050      _simple-at omic-datat ype="Insti tution" 
        1051      _datatype- package="g ov.va.med. term.acces s" 
        1052      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        1053      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        1054      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        1055      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        1056      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        1057      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        1058      _readonly- class-simp le-name="R eadonlyIns titution" 
        1059      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        1060      _supports- logical-de lete="fals e" 
        1061      _datatype- is-attr-gr oup="false "
        1062     >
        1063          
        1064            
        1065      <derivatio n-method 
        1066       apply-on-c reate="fal se"
        1067      >
        1068           Instit ution pare nt = getPa rent();
        1069           Instit ution[] pa rentsChild ren = new  Institutio n[0];
        1070           if ( p arent == n ull )
        1071           {
        1072               re turn paren tsChildren ;
        1073           }
        1074           
        1075           parent sChildren  = parent.g etChildren ();
        1076           int ch ildCount =  parentsCh ildren.len gth;
        1077           if ( c hildCount  &lt; 1)
        1078           {
        1079               //  Return em pty array
        1080               re turn paren tsChildren ;
        1081           }
        1082           Instit ution[] si blings = n ew Institu tion[child Count-1];
        1083           if ( c hildCount  == 1)
        1084           {
        1085               //  Return em pty array
        1086               re turn sibli ngs;
        1087           }
        1088           
        1089           Instit ution.Key  myKey = th is.getKey( );
        1090           // Ite rate over  the childr en and dro p this Ins titution
        1091           for (i nt i=0, j= 0; i &lt;  childCount ; i++)
        1092           {
        1093               if  ( (parent sChildren[ i].getKey( )).equals( myKey) )
        1094               {
        1095                    // Skip  this entry
        1096                    continue ;
        1097               }
        1098               //  Copy the  entry and  increment  the target  index
        1099               si blings[j++ ] = parent sChildren[ i];
        1100           }
        1101           return  siblings;
        1102           
        1103      </derivati on-method>
        1104          
        1105     </attr>
        1106        
        1107     <attr 
        1108      name="real ignedFrom"  
        1109      display-on -list="fal se" 
        1110      user-name= "Realigned  From Inst itution" 
        1111      datatype=" gov.va.med .term.acce ss.Institu tion" 
        1112      short-desc ription="T he predece ssor of th e institut ion." 
        1113      private="f alse" 
        1114      owning="fa lse" 
        1115      shared-key ="false" 
        1116      required=" false" 
        1117      unique="fa lse" 
        1118      frozen="fa lse" 
        1119      password=" false" 
        1120      display-on -search="t rue" 
        1121      display-on -view="tru e" 
        1122      allow-patt ern-search ="false" 
        1123      allow-soun dex-search ="false" 
        1124      _capitaliz ed-name="R ealignedFr om" 
        1125      _accessor- name="getR ealignedFr om" 
        1126      _mutator-n ame="setRe alignedFro m" 
        1127      _hibernate -name="rea lignedFrom
        1128      _derived=" false" 
        1129      _system-as signed="fa lse" 
        1130      _is-user-d efined="tr ue" 
        1131      _column-na me="realig nedFrom" 
        1132      _capitaliz ed-column- name="Real ignedFrom"  
        1133      _column-ab brev="Real ignedFrom"  
        1134      _is-multi= "false" 
        1135      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        1136      _simple-da tatype="In stitution"  
        1137      _simple-at omic-datat ype="Insti tution" 
        1138      _datatype- package="g ov.va.med. term.acces s" 
        1139      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        1140      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        1141      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        1142      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        1143      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n" 
        1144      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        1145      _readonly- class-simp le-name="R eadonlyIns titution" 
        1146      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        1147      _supports- logical-de lete="fals e" 
        1148      _datatype- is-attr-gr oup="false
        1149      _role="par ent" 
        1150      _relations hip="many- to-optiona l" 
        1151      _stores-fo reign-key= "true" 
        1152      _bidirecti onal="fals e"
        1153     />
        1154        
        1155     <attr 
        1156      name="real ignedTo" 
        1157      display-on -list="fal se" 
        1158      user-name= "Realigned  To Instit ution" 
        1159      datatype=" gov.va.med .term.acce ss.Institu tion" 
        1160      short-desc ription="T he success or to the  institutio n." 
        1161      private="f alse" 
        1162      owning="fa lse" 
        1163      shared-key ="false" 
        1164      required=" false" 
        1165      unique="fa lse" 
        1166      frozen="fa lse" 
        1167      password=" false" 
        1168      display-on -search="t rue" 
        1169      display-on -view="tru e" 
        1170      allow-patt ern-search ="false" 
        1171      allow-soun dex-search ="false" 
        1172      _capitaliz ed-name="R ealignedTo
        1173      _accessor- name="getR ealignedTo
        1174      _mutator-n ame="setRe alignedTo"  
        1175      _hibernate -name="rea lignedTo" 
        1176      _derived=" false" 
        1177      _system-as signed="fa lse" 
        1178      _is-user-d efined="tr ue" 
        1179      _column-na me="realig nedTo" 
        1180      _capitaliz ed-column- name="Real ignedTo" 
        1181      _column-ab brev="Real ignedTo" 
        1182      _is-multi= "false" 
        1183      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        1184      _simple-da tatype="In stitution"  
        1185      _simple-at omic-datat ype="Insti tution" 
        1186      _datatype- package="g ov.va.med. term.acces s" 
        1187      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        1188      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        1189      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        1190      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        1191      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n" 
        1192      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        1193      _readonly- class-simp le-name="R eadonlyIns titution" 
        1194      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        1195      _supports- logical-de lete="fals e" 
        1196      _datatype- is-attr-gr oup="false
        1197      _role="par ent" 
        1198      _relations hip="many- to-optiona l" 
        1199      _stores-fo reign-key= "true" 
        1200      _bidirecti onal="fals e"
        1201     />
        1202        
        1203     <attr 
        1204      name="stat ionNumberH istory" 
        1205      singular-n ame="stati onNumberHi story" 
        1206      display-on -list="fal se" 
        1207      user-name= "Station N umber Hist ory" 
        1208      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        1209      short-desc ription="T he set of  institutio ns that re present pa st, presen t and curr ent versio ns of the  institutio n." 
        1210      private="f alse" 
        1211      owning="fa lse" 
        1212      shared-key ="false" 
        1213      required=" false" 
        1214      unique="fa lse" 
        1215      frozen="fa lse" 
        1216      password=" false" 
        1217      display-on -search="f alse" 
        1218      display-on -view="tru e" 
        1219      allow-patt ern-search ="false" 
        1220      allow-soun dex-search ="false" 
        1221      _capitaliz ed-name="S tationNumb erHistory"  
        1222      _accessor- name="getS tationNumb erHistory"  
        1223      _mutator-n ame="setSt ationNumbe rHistory" 
        1224      _hibernate -name="sta tionNumber History" 
        1225      _derived=" true" 
        1226      _system-as signed="tr ue" 
        1227      _is-user-d efined="tr ue" 
        1228      _column-na me="statio nNumberHis tory" 
        1229      _capitaliz ed-column- name="Stat ionNumberH istory" 
        1230      _column-ab brev="Stat ionNumberH istory" 
        1231      _is-multi= "true" 
        1232      _singular- name="stat ionNumberH istory" 
        1233      _capitaliz ed-singula r-name="St ationNumbe rHistory" 
        1234      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        1235      _simple-da tatype="In stitution[ ]" 
        1236      _simple-at omic-datat ype="Insti tution" 
        1237      _datatype- package="g ov.va.med. term.acces s" 
        1238      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        1239      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        1240      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        1241      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        1242      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        1243      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        1244      _readonly- class-simp le-name="R eadonlyIns titution" 
        1245      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        1246      _supports- logical-de lete="fals e" 
        1247      _datatype- is-attr-gr oup="false "
        1248     >
        1249          
        1250            
        1251      <derivatio n-method 
        1252       apply-on-c reate="fal se"
        1253     
        1254                    int pred ecessors =  0;
        1255                    int succ essors = 0 ;
        1256                    Institut ion[] hist ory = new  Institutio n[0];
        1257                    Institut ion alias  = this;
        1258                    while (  ( alias =  alias.getR ealignedFr om()) != n ull)
        1259                    {
        1260                        pred ecessors++ ;
        1261                    }
        1262      
        1263                    alias =  this;
        1264                    while (  ( alias =  alias.getR ealignedTo ()) != nul l)
        1265                    {
        1266                        succ essors++;
        1267                    }
        1268      
        1269                    
        1270                    if ( (pr edecessors  + success ors) == 0  )
        1271                        retu rn history ;
        1272                    
        1273                    history  = new Inst itution[pr edecessors  + success ors + 1];
        1274                    history[ predecesso rs]= this;
        1275      
        1276                    successo rs = prede cessors;
        1277                    alias =  this;
        1278                    while (  ( alias =  alias.getR ealignedFr om()) != n ull)
        1279                    {
        1280                        hist ory[--pred ecessors]=  alias;
        1281                    }
        1282                    alias =  this;
        1283                    while (  ( alias =  alias.getR ealignedTo ()) != nul l)
        1284                    {
        1285                        hist ory[++succ essors]= a lias;
        1286                    }
        1287                    
        1288                    return h istory; 
        1289           
        1290      </derivati on-method>
        1291          
        1292     </attr>
        1293        
        1294     <attr 
        1295      name="visn
        1296      display-on -list="fal se" 
        1297      user-name= "VISN of I nstitution
        1298      datatype=" gov.va.med .term.acce ss.Institu tion" 
        1299      short-desc ription="T he VISN fo r the inst itution." 
        1300      private="f alse" 
        1301      owning="fa lse" 
        1302      shared-key ="false" 
        1303      required=" false" 
        1304      unique="fa lse" 
        1305      frozen="fa lse" 
        1306      password=" false" 
        1307      display-on -search="t rue" 
        1308      display-on -view="tru e" 
        1309      allow-patt ern-search ="false" 
        1310      allow-soun dex-search ="false" 
        1311      _capitaliz ed-name="V isn" 
        1312      _accessor- name="getV isn" 
        1313      _mutator-n ame="setVi sn" 
        1314      _hibernate -name="vis n" 
        1315      _derived=" false" 
        1316      _system-as signed="fa lse" 
        1317      _is-user-d efined="tr ue" 
        1318      _column-na me="visn" 
        1319      _capitaliz ed-column- name="Visn
        1320      _column-ab brev="Visn
        1321      _is-multi= "false" 
        1322      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        1323      _simple-da tatype="In stitution"  
        1324      _simple-at omic-datat ype="Insti tution" 
        1325      _datatype- package="g ov.va.med. term.acces s" 
        1326      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        1327      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        1328      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        1329      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        1330      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n" 
        1331      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        1332      _readonly- class-simp le-name="R eadonlyIns titution" 
        1333      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        1334      _supports- logical-de lete="fals e" 
        1335      _datatype- is-attr-gr oup="false
        1336      _role="par ent" 
        1337      _relations hip="many- to-optiona l" 
        1338      _stores-fo reign-key= "true" 
        1339      _bidirecti onal="fals e"
        1340     />
        1341        
        1342     <attr 
        1343      name="hasM ultipleDiv isions" 
        1344      datatype=" boolean" 
        1345      display-on -list="fal se" 
        1346      short-desc ription="T RUE if the  instituti on has two  or more c hildren th at are VAM C faciliti es." 
        1347      private="f alse" 
        1348      owning="fa lse" 
        1349      shared-key ="false" 
        1350      required=" false" 
        1351      unique="fa lse" 
        1352      frozen="fa lse" 
        1353      password=" false" 
        1354      display-on -search="t rue" 
        1355      display-on -view="tru e" 
        1356      allow-patt ern-search ="false" 
        1357      allow-soun dex-search ="false" 
        1358      _capitaliz ed-name="H asMultiple Divisions"  
        1359      user-name= "Has Multi ple Divisi ons" 
        1360      _accessor- name="hasM ultipleDiv isions" 
        1361      _mutator-n ame="setHa sMultipleD ivisions" 
        1362      _hibernate -name="has MultipleDi visions" 
        1363      _derived=" true" 
        1364      _system-as signed="tr ue" 
        1365      _is-user-d efined="fa lse" 
        1366      _column-na me="hasMul tipleDivis ions" 
        1367      _capitaliz ed-column- name="HasM ultipleDiv isions" 
        1368      _column-ab brev="HasM ultipleDiv isions" 
        1369      _is-multi= "false" 
        1370      _atomic-da tatype="bo olean" 
        1371      _simple-da tatype="bo olean" 
        1372      _simple-at omic-datat ype="boole an"
        1373     >
        1374          
        1375            
        1376      <derivatio n-method 
        1377       apply-on-c reate="fal se"
        1378      >
        1379           Instit ution[] di visions;
        1380           
        1381           if ( ( getFacilit yType() !=  null) &am p;&amp; "V ISN".equal s(getFacil ityType(). getCode())  )
        1382           {
        1383               di visions =  getVisnDiv isions();
        1384           }
        1385           else
        1386           {
        1387               di visions =  getDivisio ns();
        1388           }
        1389           
        1390           if ( d ivisions.l ength &gt;  1 )
        1391           {
        1392               re turn true;
        1393           }
        1394           
        1395           return  false;     
        1396           
        1397      </derivati on-method>     
        1398       
        1399         
        1400     </attr>
        1401        
        1402     <attr 
        1403      name="isAc tive" 
        1404      datatype=" boolean" 
        1405      display-on -list="fal se" 
        1406      short-desc ription="T RUE if the  instituti on is an a ctive faci lity." 
        1407      private="f alse" 
        1408      owning="fa lse" 
        1409      shared-key ="false" 
        1410      required=" false" 
        1411      unique="fa lse" 
        1412      frozen="fa lse" 
        1413      password=" false" 
        1414      display-on -search="t rue" 
        1415      display-on -view="tru e" 
        1416      allow-patt ern-search ="false" 
        1417      allow-soun dex-search ="false" 
        1418      _capitaliz ed-name="I sActive" 
        1419      user-name= "Is Active
        1420      _accessor- name="isAc tive" 
        1421      _mutator-n ame="setAc tive" 
        1422      _hibernate -name="act ive" 
        1423      _derived=" true" 
        1424      _system-as signed="tr ue" 
        1425      _is-user-d efined="fa lse" 
        1426      _column-na me="isActi ve" 
        1427      _capitaliz ed-column- name="IsAc tive" 
        1428      _column-ab brev="IsAc tive" 
        1429      _is-multi= "false" 
        1430      _atomic-da tatype="bo olean" 
        1431      _simple-da tatype="bo olean" 
        1432      _simple-at omic-datat ype="boole an"
        1433     >
        1434          
        1435            
        1436      <descripti on> 
        1437              Thi s is deriv ed using t he activat ionDate an d deactiva tionDate f or the ins titution."
        1438           
        1439      </descript ion>
        1440          
        1441            
        1442      <derivatio n-method 
        1443       apply-on-c reate="fal se"
        1444      >
        1445           Day to day = Day. today();
        1446           if ( g etActivati onDate() ! = null &am p;&amp;
        1447                g etActivati onDate().a fter(today ))
        1448           {
        1449               re turn false ;
        1450           }
        1451           if ( g etDeactiva tionDate()  != null & amp;&amp;
        1452                g etDeactiva tionDate() .before(to day))
        1453           {
        1454               re turn false ;
        1455           }
        1456           return  true;
        1457           
        1458      </derivati on-method>     
        1459       
        1460         
        1461     </attr>
        1462        
        1463     <attr 
        1464      name="isMe dicalTreat ing" 
        1465      datatype=" boolean" 
        1466      display-on -list="fal se" 
        1467      short-desc ription="T RUE if the  instituti on is a me dical faci lity." 
        1468      private="f alse" 
        1469      owning="fa lse" 
        1470      shared-key ="false" 
        1471      required=" false" 
        1472      unique="fa lse" 
        1473      frozen="fa lse" 
        1474      password=" false" 
        1475      display-on -search="t rue" 
        1476      display-on -view="tru e" 
        1477      allow-patt ern-search ="false" 
        1478      allow-soun dex-search ="false" 
        1479      _capitaliz ed-name="I sMedicalTr eating" 
        1480      user-name= "Is Medica l Treating
        1481      _accessor- name="isMe dicalTreat ing" 
        1482      _mutator-n ame="setMe dicalTreat ing" 
        1483      _hibernate -name="med icalTreati ng" 
        1484      _derived=" true" 
        1485      _system-as signed="tr ue" 
        1486      _is-user-d efined="fa lse" 
        1487      _column-na me="isMedi calTreatin g" 
        1488      _capitaliz ed-column- name="IsMe dicalTreat ing" 
        1489      _column-ab brev="IsMe dicalTreat ing" 
        1490      _is-multi= "false" 
        1491      _atomic-da tatype="bo olean" 
        1492      _simple-da tatype="bo olean" 
        1493      _simple-at omic-datat ype="boole an"
        1494     >
        1495          
        1496            
        1497      <derivatio n-method 
        1498       apply-on-c reate="fal se"
        1499      >
        1500           return  getFacili tyType() = = null 
        1501               ?  false
        1502               :   (Boolean. TRUE).equa ls(getFaci lityType() .isMedical Treating()  );
        1503           
        1504      </derivati on-method>
        1505       
        1506         
        1507     </attr>
        1508        
        1509     <attr 
        1510      name="isAD ivision" 
        1511      datatype=" boolean" 
        1512      display-on -list="fal se" 
        1513      short-desc ription="T RUE if the  instituti on is a Di vision." 
        1514      private="f alse" 
        1515      owning="fa lse" 
        1516      shared-key ="false" 
        1517      required=" false" 
        1518      unique="fa lse" 
        1519      frozen="fa lse" 
        1520      password=" false" 
        1521      display-on -search="t rue" 
        1522      display-on -view="tru e" 
        1523      allow-patt ern-search ="false" 
        1524      allow-soun dex-search ="false" 
        1525      _capitaliz ed-name="I sADivision
        1526      user-name= "Is A Divi sion" 
        1527      _accessor- name="isAD ivision" 
        1528      _mutator-n ame="setAD ivision" 
        1529      _hibernate -name="aDi vision" 
        1530      _derived=" true" 
        1531      _system-as signed="tr ue" 
        1532      _is-user-d efined="fa lse" 
        1533      _column-na me="isADiv ision" 
        1534      _capitaliz ed-column- name="IsAD ivision" 
        1535      _column-ab brev="IsAD ivision" 
        1536      _is-multi= "false" 
        1537      _atomic-da tatype="bo olean" 
        1538      _simple-da tatype="bo olean" 
        1539      _simple-at omic-datat ype="boole an"
        1540     >
        1541          
        1542            
        1543      <derivatio n-method 
        1544       apply-on-c reate="fal se"
        1545      >
        1546           String  stationNu mber = get StationNum ber();
        1547           if ( s tationNumb er == null  )
        1548           {
        1549               re turn false ;
        1550           }
        1551           int st ationNumbe rLength =  stationNum ber.length ();
        1552           if ( s tationNumb erLength = = 3 ) 
        1553           {
        1554               //  Not all 3  digit sta tion numbe rs represe nt Divisio ns
        1555               St ring facil ityTypeCod e = getFac ilityType( ).getCode( ); 
        1556               if  ( "VAMC". equals(fac ilityTypeC ode)  ||
        1557                     "RO-OC" .equals(fa cilityType Code) ||
        1558                     "M&amp; ROC".equal s(facility TypeCode)   ) 
        1559               {
        1560                    return t rue;
        1561               }
        1562           }
        1563        
        1564           if ( s tationNumb erLength      ==  5   &amp;&amp;
        1565                s tationNumb er.charAt( 3) == 'A'  &amp;&amp;
        1566                C haracter.i sDigit(sta tionNumber .charAt(4) ) )   
        1567           {
        1568               re turn true;
        1569           }
        1570            
        1571           return  false;  
        1572           
        1573      </derivati on-method>
        1574       
        1575         
        1576     </attr>
        1577        
        1578     <attr 
        1579      name="user NameForVis taProvider
        1580      datatype=" String" 
        1581      display-on -list="fal se" 
        1582      short-desc ription="T he institu tion assoc iated with  the VISTA  instance  supporting  this inst itution." 
        1583      private="f alse" 
        1584      owning="fa lse" 
        1585      shared-key ="false" 
        1586      required=" false" 
        1587      unique="fa lse" 
        1588      frozen="fa lse" 
        1589      password=" false" 
        1590      display-on -search="t rue" 
        1591      display-on -view="tru e" 
        1592      allow-patt ern-search ="false" 
        1593      allow-soun dex-search ="false" 
        1594      _capitaliz ed-name="U serNameFor VistaProvi der" 
        1595      user-name= "User Name  For Vista  Provider"  
        1596      _accessor- name="getU serNameFor VistaProvi der" 
        1597      _mutator-n ame="setUs erNameForV istaProvid er" 
        1598      _hibernate -name="use rNameForVi staProvide r" 
        1599      _derived=" true" 
        1600      _system-as signed="tr ue" 
        1601      _is-user-d efined="fa lse" 
        1602      _column-na me="userNa meForVista Provider" 
        1603      _capitaliz ed-column- name="User NameForVis taProvider
        1604      _column-ab brev="User NameForVis taProvider
        1605      _is-multi= "false" 
        1606      _atomic-da tatype="St ring" 
        1607      _simple-da tatype="St ring" 
        1608      _simple-at omic-datat ype="Strin g"
        1609     >
        1610          
        1611            
        1612      <derivatio n-method 
        1613       apply-on-c reate="fal se"
        1614      >
        1615           if ( g etVistaPro vider() ==  null   ||
        1616                g etStationN umber() ==  null    )
        1617           {
        1618               re turn "";
        1619           }
        1620           
        1621           if ( g etStationN umber().eq uals("528" ) )
        1622           {
        1623               re turn "UPST ATE NEW YO RK";
        1624           }
        1625           else i f ( getSta tionNumber ().equals( "480") )
        1626           {
        1627               re turn "HONO LULU, HI";
        1628           }
        1629           else i f ( getSta tionNumber ().equals( "459") )
        1630           {
        1631               re turn "VA P ACIFIC ISL AND HCS";
        1632           }
        1633           
        1634           Addres s address  = getVista Provider() .getStreet Address();
        1635           if (   address ==  null             ||
        1636                  address.ge tCity() ==  null  ||
        1637                  address.ge tState() = = null ) 
        1638           {
        1639               re turn "";
        1640           }
        1641              
        1642           return  ( address .getCity() .toUpperCa se() + ", 
        1643                   + address .getState( ).getPosta lName().to UpperCase( ));
        1644           
        1645      </derivati on-method>
        1646       
        1647         
        1648     </attr>
        1649        
        1650     <attr 
        1651      name="vist aProvider"  
        1652      datatype=" gov.va.med .term.acce ss.Institu tion" 
        1653      display-on -list="fal se" 
        1654      short-desc ription="T he institu tion assoc iated with  the VISTA  instance  supporting  this inst itution." 
        1655      private="f alse" 
        1656      owning="fa lse" 
        1657      shared-key ="false" 
        1658      required=" false" 
        1659      unique="fa lse" 
        1660      frozen="fa lse" 
        1661      password=" false" 
        1662      display-on -search="t rue" 
        1663      display-on -view="tru e" 
        1664      allow-patt ern-search ="false" 
        1665      allow-soun dex-search ="false" 
        1666      _capitaliz ed-name="V istaProvid er" 
        1667      user-name= "Vista Pro vider" 
        1668      _accessor- name="getV istaProvid er" 
        1669      _mutator-n ame="setVi staProvide r" 
        1670      _hibernate -name="vis taProvider
        1671      _derived=" true" 
        1672      _system-as signed="tr ue" 
        1673      _is-user-d efined="tr ue" 
        1674      _column-na me="vistaP rovider" 
        1675      _capitaliz ed-column- name="Vist aProvider"  
        1676      _column-ab brev="Vist aProvider"  
        1677      _is-multi= "false" 
        1678      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        1679      _simple-da tatype="In stitution"  
        1680      _simple-at omic-datat ype="Insti tution" 
        1681      _datatype- package="g ov.va.med. term.acces s" 
        1682      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        1683      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        1684      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        1685      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        1686      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n" 
        1687      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        1688      _readonly- class-simp le-name="R eadonlyIns titution" 
        1689      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        1690      _supports- logical-de lete="fals e" 
        1691      _datatype- is-attr-gr oup="false "
        1692     >
        1693          
        1694            
        1695      <derivatio n-method 
        1696       apply-on-c reate="fal se"
        1697      >
        1698           if ( g etStationN umber() ==  null )
        1699           {
        1700               re turn null;
        1701           }
        1702           
        1703           // CQ_ RJ00002111  begin
        1704           // Eve ry 200xx i s its own  vista prov ider
        1705           if ( " 200".equal s(getStati onNumber() .substring (0,3)) )
        1706           {
        1707               re turn this;
        1708           }
        1709           // CQ_ RJ00002111  end
        1710           
        1711           Instit ution vist aProvider  = Institut ion.factor y.obtainBy StationNum ber(
        1712                               getStati onNumber() .substring (0,3));
        1713                               
        1714           if ( v istaProvid er == null  ||
        1715                v istaProvid er.getPare nt() == nu ll || 
        1716                v istaProvid er.getDeac tivationDa te() != nu ll )
        1717           {
        1718               re turn null;
        1719           }
        1720           
        1721           return  vistaProv ider; 
        1722           
        1723      </derivati on-method>
        1724       
        1725         
        1726     </attr>
        1727        
        1728     <attr 
        1729      name="allV istaProvid ers" 
        1730      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        1731      display-on -list="fal se" 
        1732      display-on -view="fal se" 
        1733      short-desc ription="T he set of  active Ins titutions  representi ng the VIS TA provide rs." 
        1734      private="f alse" 
        1735      owning="fa lse" 
        1736      shared-key ="false" 
        1737      required=" false" 
        1738      unique="fa lse" 
        1739      frozen="fa lse" 
        1740      password=" false" 
        1741      display-on -search="f alse" 
        1742      allow-patt ern-search ="false" 
        1743      allow-soun dex-search ="false" 
        1744      _capitaliz ed-name="A llVistaPro viders" 
        1745      user-name= "All Vista  Providers
        1746      _accessor- name="getA llVistaPro viders" 
        1747      _mutator-n ame="setAl lVistaProv iders" 
        1748      _hibernate -name="all VistaProvi ders" 
        1749      _derived=" true" 
        1750      _system-as signed="tr ue" 
        1751      _is-user-d efined="tr ue" 
        1752      _column-na me="allVis taProvider s" 
        1753      _capitaliz ed-column- name="AllV istaProvid ers" 
        1754      _column-ab brev="AllV istaProvid ers" 
        1755      _is-multi= "true" 
        1756      _singular- name="allV istaProvid er" 
        1757      _capitaliz ed-singula r-name="Al lVistaProv ider" 
        1758      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        1759      _simple-da tatype="In stitution[ ]" 
        1760      _simple-at omic-datat ype="Insti tution" 
        1761      _datatype- package="g ov.va.med. term.acces s" 
        1762      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        1763      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        1764      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        1765      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        1766      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        1767      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        1768      _readonly- class-simp le-name="R eadonlyIns titution" 
        1769      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        1770      _supports- logical-de lete="fals e" 
        1771      _datatype- is-attr-gr oup="false "
        1772     >
        1773          
        1774            
        1775      <derivatio n-method 
        1776       apply-on-c reate="fal se"
        1777      >
        1778               //  Ask the I nstitution  Factory t o fetch al l Institut ion object s
        1779               In stitution[ ] institut ions = Ins titution.f actory.obt ain();
        1780               
        1781               ja va.util.Ve ctor vista ProviderVe ctor = new  java.util .Vector();
        1782               fo r (int i =  0, j = 0;  i &lt; in stitutions .length; i ++ )
        1783               {
        1784                    if ( ins titutions[ i].getPare nt() == nu ll )
        1785                        cont inue;
        1786      
        1787                    if ( ins titutions[ i].getDeac tivationDa te() != nu ll )
        1788                        cont inue;
        1789      
        1790                    if ( ins titutions[ i].getStat ionNumber( ) == null  )
        1791                        cont inue;
        1792      
        1793                    if ( ins titutions[ i].getStat ionNumber( ).length()  != 3 )
        1794                        cont inue;
        1795      
        1796                    vistaPro viderVecto r.add(j++,  instituti ons[i]);
        1797               } 
        1798               
        1799               re turn (Inst itution[])  vistaProv iderVector .toArray(n ew Institu tion[]{});         
        1800           
        1801      </derivati on-method>
        1802       
        1803         
        1804     </attr>
        1805        
        1806     <attr 
        1807      name="allV istaProvid ersByUserN ame" 
        1808      singular-n ame="allVi staProvide rsByUserNa me" 
        1809      datatype=" gov.va.med .term.acce ss.Institu tion[]" 
        1810      display-on -list="fal se" 
        1811      display-on -view="fal se" 
        1812      short-desc ription="T he set of  active Ins titutions  representi ng the VIS TA provide rs sorted  by user na me." 
        1813      private="f alse" 
        1814      owning="fa lse" 
        1815      shared-key ="false" 
        1816      required=" false" 
        1817      unique="fa lse" 
        1818      frozen="fa lse" 
        1819      password=" false" 
        1820      display-on -search="f alse" 
        1821      allow-patt ern-search ="false" 
        1822      allow-soun dex-search ="false" 
        1823      _capitaliz ed-name="A llVistaPro vidersByUs erName" 
        1824      user-name= "All Vista  Providers  By User N ame" 
        1825      _accessor- name="getA llVistaPro vidersByUs erName" 
        1826      _mutator-n ame="setAl lVistaProv idersByUse rName" 
        1827      _hibernate -name="all VistaProvi dersByUser Name" 
        1828      _derived=" true" 
        1829      _system-as signed="tr ue" 
        1830      _is-user-d efined="tr ue" 
        1831      _column-na me="allVis taProvider sByUserNam e" 
        1832      _capitaliz ed-column- name="AllV istaProvid ersByUserN ame" 
        1833      _column-ab brev="AllV istaProvid ersByUserN ame" 
        1834      _is-multi= "true" 
        1835      _singular- name="allV istaProvid ersByUserN ame" 
        1836      _capitaliz ed-singula r-name="Al lVistaProv idersByUse rName" 
        1837      _atomic-da tatype="go v.va.med.t erm.access .Instituti on" 
        1838      _simple-da tatype="In stitution[ ]" 
        1839      _simple-at omic-datat ype="Insti tution" 
        1840      _datatype- package="g ov.va.med. term.acces s" 
        1841      _implement ation-clas s-package= "gov.va.me d.term.acc ess.mutabl e" 
        1842      _implement ation-clas s-simple-n ame="Mutab leInstitut ion" 
        1843      _implement ation-clas s-name="go v.va.med.t erm.access .mutable.M utableInst itution" 
        1844      _atomic-mu table-data type="gov. va.med.ter m.access.m utable.Ins titution" 
        1845      _mutable-d atatype="g ov.va.med. term.acces s.mutable. Institutio n[]" 
        1846      _readonly- class-pack age="gov.v a.med.term .access.re adonly" 
        1847      _readonly- class-simp le-name="R eadonlyIns titution" 
        1848      _readonly- class-name ="gov.va.m ed.term.ac cess.reado nly.Readon lyInstitut ion" 
        1849      _supports- logical-de lete="fals e" 
        1850      _datatype- is-attr-gr oup="false "
        1851     >
        1852          
        1853            
        1854      <derivatio n-method 
        1855       apply-on-c reate="fal se"
        1856      >
        1857               //  Ask the I nstitution  Factory t o fetch al l Institut ion object s
        1858               In stitution[ ] institut ions = get AllVistaPr oviders();
        1859               
        1860               cl ass NameCo mparator i mplements  java.util. Comparator
        1861               {
        1862                    public i nt compare (Object in stA, Objec t instB)
        1863                    {
        1864                        Stri ng nameA,  nameB;
        1865                        name A = ((Inst itution) i nstA).getU serNameFor VistaProvi der();
        1866                        name B = ((Inst itution) i nstB).getU serNameFor VistaProvi der();
        1867      
        1868                        retu rn nameA.c ompareTo(n ameB);
        1869                    }
        1870               } 
        1871               
        1872               ja va.util.Ar rays.sort( institutio ns, new Na meComparat or()); 
        1873               re turn insti tutions;       
        1874           
        1875      </derivati on-method>
        1876       
        1877         
        1878     </attr>
        1879        
        1880     <script 
        1881      language=" beanshell"  
        1882      id="check- visn"
        1883     >
        1884            bool ean result  = false;
        1885            faci lityTypeCo de = objec t.facility Type.code;
        1886            if (  facilityT ypeCode.eq uals("VISN ") )
        1887            {
        1888                 if ( objec t.parent ! = null )
        1889                 {
        1890                     errors .put(objec t.parent,  "parent",  "Parent fo r a VISN m ust be nul l.");
        1891                 }
        1892                 else
        1893                 {
        1894                     result  = true;
        1895                 }
        1896                 return res ult;
        1897            }
        1898            
        1899            if (  (object.a gency == n ull )                   @or
        1900                  ("V".equa ls(object. agency.cod e) == fals e)  ) 
        1901            {
        1902                 return tru e;
        1903            } 
        1904              
        1905            if (  object.is Active() = = true)
        1906            {
        1907                 if ( (obje ct.isMedic alTreating () == true  ) @and
        1908                      (obje ct.visn ==  null )                      )
        1909                 {
        1910                      error s.put(obje ct.visn, " visn", "VI SN for an  active VA  medical tr eating Ins titution m ust not be  null.");           
        1911                      retur n result;
        1912                 }
        1913                
        1914                 if ( (obje ct.visn !=  null )            @a nd
        1915                      (obje ct.parent  != null )          @a nd
        1916                      (obje ct.parent. visn != nu ll )    @a nd
        1917                      (obje ct.visn !=  object.pa rent.visn)  )
        1918                 {
        1919                      error s.put(obje ct.visn, " visn", "VI SN for a c hild shoul d match it s parent's  VISN.");           
        1920                      retur n result;
        1921                 }
        1922            }
        1923            retu rn true;
        1924        
        1925     </script>
        1926        
        1927     <script 
        1928      language=" beanshell"  
        1929      id="check- agency"
        1930     >
        1931     
        1932            faci lityTypeCo de = objec t.facility Type.code;
        1933            if (  facilityT ypeCode.eq uals("USAH ") )
        1934            {
        1935                 if ( objec t.agency = = null @or  (object.a gency.code .equals("A RMY") == f alse ) )
        1936                 {
        1937                     errors .put(objec t.agency,  "agency",  "Agency fo r an Army  Hospital m ust be ARM Y."); 
        1938                     return  false;      
        1939                 }
        1940            }
        1941            else  if ( faci lityTypeCo de.equals( "USAF")     ||
        1942                       faci lityTypeCo de.equals( "USAF-MC")   )
        1943            {
        1944                 if ( objec t.agency = = null @or  (object.a gency.code .equals("A F") == fal se) )
        1945                 {
        1946                     errors .put(objec t.agency,  "agency",  "Agency fo r this fac ility type  must be A IR FORCE." );
        1947                     return  false;      
        1948                 }
        1949            }
        1950            else  if ( faci lityTypeCo de.equals( "USNH") ||
        1951                       faci lityTypeCo de.equals( "USMC") ||
        1952                       faci lityTypeCo de.equals( "USCG")  )
        1953            {
        1954                 if ( objec t.agency = = null @or  (object.a gency.code .equals("N ") == fals e) )
        1955                 {
        1956                     errors .put(objec t.agency,  "agency",  "Agency fo r this fac ility type  must be N AVY.");
        1957                     return  false;     
        1958                 }
        1959            }
        1960     
        1961            retu rn true;
        1962        
        1963     </script>
        1964        
        1965     <script 
        1966      language=" beanshell"  
        1967      id="check- facility-t ype"
        1968     >
        1969            faci lityTypeCo de = objec t.facility Type.code;
        1970            
        1971            if (  (object.s tationNumb er == null ) @or 
        1972                  (object.p arent         == null )    )
        1973            {
        1974                 return tru e;
        1975            }
        1976     
        1977            if (  (object.s tationNumb er.length( ) == 3)    )                      
        1978            {
        1979                 if ( objec t.facility Type.isMed icalTreati ng() == Bo olean.TRUE  )
        1980                 {
        1981                    if ( (! facilityTy peCode.equ als("VAMC" ))       @ and 
        1982                         (! facilityTy peCode.equ als("RO-OC "))      @ and 
        1983                         (! facilityTy peCode.equ als("M&amp ;ROC"))      )
        1984                     {
        1985                         er rors.put(o bject.stat ionNumber,  "stationN umber", "I nvalid Div ision stat ion number  for facil ity type." );
        1986                         re turn false ;
        1987                     }
        1988                 }
        1989            }
        1990            
        1991            retu rn true;
        1992        
        1993     </script>
        1994        
        1995     <script 
        1996      language=" beanshell"  
        1997      id="check- station-nu mber"
        1998     >
        1999            faci lityTypeCo de = objec t.facility Type.code;
        2000            
        2001            if (  "VISN".eq uals(facil ityTypeCod e) @or
        2002                  "HCS".equ als(facili tyTypeCode )    )
        2003            {
        2004                 if ( objec t.stationN umber != n ull )
        2005                 {
        2006                     errors .put(objec t.stationN umber, "st ationNumbe r", "Stati on number  must be nu ll for thi s type of  facility." );
        2007                     return  false;   
        2008                 }
        2009                 return tru e;
        2010            }
        2011     
        2012            if (  object.st ationNumbe r == null  )
        2013            {
        2014                 errors.put (object.st ationNumbe r, "statio nNumber",  "The insti tution mus t have a s tation num ber.");
        2015                 return fal se;
        2016            }
        2017                    
        2018            if (  (object.p arent                 == null) @ or
        2019                  (object.p arent.stat ionNumber  == null)     )
        2020            {
        2021                 return tru e;
        2022            }
        2023                     
        2024            if (  object.st ationNumbe r.regionMa tches(0, o bject.pare nt.station Number, 0,  3) == fal se)
        2025            {
        2026                 errors.put (object.st ationNumbe r, "statio nNumber",  "The first  three cha racters of  the stati on number  must match  those of  its parent 's station  number.") ;   
        2027                 return fal se;
        2028            }
        2029                   
        2030            pLen gth = obje ct.parent. stationNum ber.length ();
        2031            leng th = objec t.stationN umber.leng th(); 
        2032            if (  pLength & gt; length  )
        2033            {
        2034                 errors.put (object.st ationNumbe r, "statio nNumber",  "A child's  station n umber must  be longer  than its  parent's s tation num ber.");
        2035                 return fal se;
        2036            }
        2037     
        2038            if (  (object.p arent.isAc tive()         == tru e)  @and
        2039                   (object. parent.dea ctivationD ate != nul l )    )
        2040            {
        2041                 if ( (obje ct.isActiv e() == tru e)   @and
        2042                      (obje ct.deactiv ationDate  != null )     )
        2043                 {
        2044                     if ( o bject.pare nt.deactiv ationDate. before(obj ect.deacti vationDate ) )
        2045                     {
        2046                         er rors.put(o bject.deac tivationDa te, "deact ivationDat e", "A ins titution c annot be d e-activate d after it s parent." );   
        2047                         re turn false ;
        2048                     }
        2049                 }
        2050            }
        2051            else  if ( obje ct.parent. deactivati onDate !=  null )
        2052            {
        2053                 if ( (obje ct.isActiv e() == tru e)            @and
        2054                      (obje ct.deactiv ationDate  != null)      @and
        2055                      (obje ct.parent. deactivati onDate.bef ore(object .deactivat ionDate))  )
        2056                 {
        2057                     errors .put(objec t.deactiva tionDate,  "deactivat ionDate",  "A institu tion canno t be de-ac tivated af ter its pa rent.");    
        2058                     return  false;
        2059                 }
        2060            }
        2061            
        2062            retu rn true;    
        2063        
        2064     </script>
        2065        
        2066     <extension >
        2067          
        2068            
        2069      <hl7-messa ging-metad ata>
        2070             
        2071                
        2072       <master-fi le-identif ier>
        2073                
        2074                     
        2075        <coded-ele ment>
        2076                   
        2077                         
        2078         <identifie r>
        2079                       
        2080                             
        2081          <constant 
        2082           value="gov .va.med.te rm.access. Institutio n"
        2083          />
        2084                    
        2085                          
        2086         </identifi er>
        2087                   
        2088                         
        2089         <text>
        2090                       
        2091                             
        2092          <constant 
        2093           value="Ins titution"
        2094          />
        2095                    
        2096                          
        2097         </text>
        2098                   
        2099                         
        2100         <coding-sy stem>
        2101                       
        2102                             
        2103          <constant 
        2104           value="SDS "
        2105          />
        2106                    
        2107                          
        2108         </coding-s ystem>
        2109                 
        2110                      
        2111        </coded-el ement>
        2112              
        2113                 
        2114       </master-f ile-identi fier>
        2115             
        2116                
        2117       <primary-k ey-value>
        2118                
        2119                     
        2120        <coded-ele ment>
        2121                   
        2122                         
        2123         <identifie r>
        2124                       
        2125                             
        2126          <attr-ref 
        2127           name="id"
        2128          />
        2129                    
        2130                          
        2131         </identifi er>
        2132                   
        2133                         
        2134         <text>
        2135                       
        2136                             
        2137          <attr-ref 
        2138           name="name "
        2139          />
        2140                    
        2141                          
        2142         </text>
        2143                   
        2144                         
        2145         <coding-sy stem>
        2146                       
        2147                             
        2148          <constant 
        2149           value="SDS "
        2150          />
        2151                    
        2152                          
        2153         </coding-s ystem>
        2154                   
        2155                         
        2156         <alternate -identifie r>
        2157                       
        2158                             
        2159          <attr-ref 
        2160           name="stat ionNumber"
        2161          />
        2162                    
        2163                          
        2164         </alternat e-identifi er>
        2165                   
        2166                         
        2167         <alternate -text>
        2168                       
        2169                             
        2170          <attr-ref 
        2171           name="name "
        2172          />
        2173                    
        2174                          
        2175         </alternat e-text>
        2176                   
        2177                         
        2178         <alternate -coding-sy stem>
        2179                       
        2180                             
        2181          <constant 
        2182           value="VA"
        2183          />
        2184                    
        2185                          
        2186         </alternat e-coding-s ystem>
        2187                 
        2188                      
        2189        </coded-el ement>
        2190              
        2191                 
        2192       </primary- key-value>
        2193           
        2194             
        2195      </hl7-mess aging-meta data>
        2196        
        2197         
        2198     </extensio n>
        2199   </type>