22544. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/2/2019 9:49:04 PM Eastern 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.

22544.1 Files compared

# Location File Last Modified
1 JLV_JLV 2_7_2_0_0.zip\JLV_Src\VistaDataService\src\main\java\gov\va\med\vds\dataservicehandler AdapterHandler.java Wed Mar 20 21:45:58 2019 UTC
2 JLV_JLV 2_7_2_0_0.zip\JLV_Src\VistaDataService\src\main\java\gov\va\med\vds\dataservicehandler AdapterHandler.java Tue Apr 2 13:35:49 2019 UTC

22544.2 Comparison summary

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

22544.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

22544.4 Active regular expressions

No regular expressions were active.

22544.5 Comparison detail

  1   /*
  2    * Janus 4 .0 (c)
  3    * Copyrig ht (c) 201 4 Hawaii R esource Gr oup LLC. A ll Rights  Reserved.
  4    * Develop ed for the  Pacific T elehealth  & Technolo gy Hui and  the Pacif ic Joint I nformation  Technolog y Center
  5    * Contrib utors:
  6    *      Ho norable Se nator Dani el K. Inou ye
  7    *      VA  Pacific I slands Hea lth Care S ystem
  8    *      Tr ipler Army  Medical C enter
  9    */
  10  
  11   package go v.va.med.v ds.dataser vicehandle r;
  12  
  13   import gov .hhs.fha.n hinc.commo n.nhinccom mon.Assert ionType;
  14   import gov .hhs.fha.n hinc.commo n.nhinccom mon.CeType ;
  15   import gov .hhs.fha.n hinc.commo n.nhinccom mon.HomeCo mmunityTyp e;
  16   import gov .hhs.fha.n hinc.commo n.nhinccom mon.Person NameType;
  17   import gov .hhs.fha.n hinc.commo n.nhinccom mon.UserTy pe;
  18   import gov .va.med.vd s.common.N HINHandler Exception;
  19   import gov .va.med.vd s.vistabea ns.QueryBe an;
  20  
  21   /**
  22    * Created  with Inte lliJ IDEA.
  23    * User:  DNS
  24    * Date: 5 /30/14
  25    * Time: 9 :41 AM
  26    * To chan ge this te mplate use  File | Se ttings | F ile Templa tes.
  27    */
  28   public abs tract clas s AdapterH andler ext ends DataS erviceHand ler {
  29  
  30       public  static fi nal String  LOCAL_HCI D = "2.16. 840.1.1138 83.3.426";
  31       public  static fi nal String  TARGET_HC ID = "2.16 .840.1.113 883.4.349" ;
  32       public  static fi nal String  VA_HCID =  "2.16.840 .1.113883. 4.349.1";
  33   //    publ ic static  final Stri ng LOCAL_H CID = "2.1 6.840.1.11 3883.4.349 ";
  34   //    publ ic static  final Stri ng TARGET_ HCID = "2. 16.840.1.1 13883.4.34 9.1";
  35       //2.16 .840.1.113 883.3.42
  36  
  37       public  static fi nal String  FIND_DOCU MENTS = "u rn:uuid:14 d4debf-8f9 7-4251-9a7 4-a90016b0 af0d";
  38       public  static fi nal String  VA_HOME_I D = "urn:o id:2.16.84 0.1.113883 .4.349";
  39       public  static fi nal String  SOURCE_PA TIENT_ID =  "sourcePa tientId";
  40       public  static fi nal String  REPOSITOR Y_UNIQUE_I D = "repos itoryUniqu eId";
  41       public  static fi nal String  CREATION_ TIME = "cr eationTime ";
  42       public  static fi nal String  SERVICE_S TART_TIME  = "service StartTime" ;
  43       public  static fi nal String  DOCUMENT_ UNIQUE_ID  = "XDSDocu mentEntry. uniqueId";
  44       public  static fi nal String  AUTHOR_IN FORMATION  = "urn:uui d:93606bcf -9494-43ec -9b4e-a774 8d1a838d";
  45       public  static fi nal String  AUTHOR_PE RSON = "au thorPerson ";
  46       public  static fi nal String  AUTHOR_IN STITUTION  = "authorI nstitution ";
  47       public  static fi nal String  CLASS_COD E = "urn:u uid:41a588 7f-8865-4c 09-adf7-e3 62475b143a ";
  48       public  static fi nal String  TYPE_CODE  = "urn:uu id:f0306f5 1-975f-434 e-a61c-c59 651d33983" ;
  49  
  50       public  static fi nal String  SSN_OID =  "2.16.840 .1.113883. 4.1";
  51       public  static fi nal String  SLOT_CLAS S_CODE = " $XDSDocume ntEntryCla ssCode";
  52       public  static fi nal String  SLOT_STAT US = "$XDS DocumentEn tryStatus" ;
  53       public  static fi nal String  SLOT_PATI ENT_ID = " $XDSDocume ntEntryPat ientId";
  54       public  static fi nal String  SLOT_FORM AT_CODE =  "$XDSDocum entEntryFo rmatCode";
  55       public  static fi nal String  SLOT_STAR T_TIME = " $XDSDocume ntEntrySer viceStartT imeFrom";
  56       public  static fi nal String  SLOT_END_ TIME = "$X DSDocument EntryServi ceStopTime To";
  57       public  static fi nal String  PATIENT_I CN_STRING  = "^^^&2.1 6.840.1.11 3883.4.349 .1&ISO";
  58       public  static fi nal String  C32_HEALT H_SUMMARY  = "('34133 -9^^2.16.8 40.1.11388 3.6.1')";
  59       public  static fi nal String  RETURN_TY PE = "Leaf Class";
  60       public  static fi nal String  SLOT_STAT US_STRING  = "('urn:i he:iti:201 0:StatusTy pe:Deferre dCreation' ,'urn:oasi s:names:tc :ebxml-reg rep:Status Type:Appro ved')";
  61  
  62       public  static fi nal String  C62_DISCH ARGE_SUMMA RIES = "(' 18842-5^^2 .16.840.1. 113883.6.1 ')";
  63       public  static fi nal String  C62_TRANS FERS = "(' 18761-7^^2 .16.840.1. 113883.6.1 ')";
  64       public  static fi nal String  C62_SUMMA RY_OF_DEAT H = "('470 46-8^^2.16 .840.1.113 883.6.1')" ;
  65       public  static fi nal String  C62_CONSU LT_NOTES =  "('11488- 4^^2.16.84 0.1.113883 .6.1')";
  66       public  static fi nal String  C62_TRANS FER_OF_CAR E = "('341 40-4^^2.16 .840.1.113 883.6.1')" ;
  67       public  static fi nal String  C62_HISTO RIES_AND_P HYSICALS =  "('34117- 2^^2.16.84 0.1.113883 .6.1')";
  68       public  static fi nal String  C62_ADMIS SION_HISTO RIES = "(' 47039-3^^2 .16.840.1. 113883.6.1 ')";
  69       public  static fi nal String  C62_PROGR ESS_NOTES  = "('11506 -3^^2.16.8 40.1.11388 3.6.1')";
  70       public  static fi nal String  C62_CARDI OLOGY_STUD IES = "('2 6441-6^^2. 16.840.1.1 13883.6.1' )";
  71       public  static fi nal String  C62_OBSTE TRICAL_STU DIES = "(' 26442-4^^2 .16.840.1. 113883.6.1 ')";
  72       public  static fi nal String  C62_ENDOS COPY_STUDI ES = "('27 895-2^^2.1 6.840.1.11 3883.6.1') ";
  73       public  static fi nal String  C62_PULMO NARY_STUDI ES = "('27 896-0^^2.1 6.840.1.11 3883.6.1') ";
  74       public  static fi nal String  C62_OPTHA LMOLOGY_OP TOMETRY_ST UDIES = "( '28619-5^^ 2.16.840.1 .113883.6. 1')";
  75       public  static fi nal String  C62_NEURO MUSCULAR_E LECTROPHYS IOLOGY_STU DIES = "(' 27897-8^^2 .16.840.1. 113883.6.1 ')";
  76       public  static fi nal String  C62_MISC_ STUDIES =  "('28634-4 ^^2.16.840 .1.113883. 6.1')";
  77       public  static fi nal String  C62_STUDY _REPORTS =  "('47045- 0^^2.16.84 0.1.113883 .6.1')";
  78       public  static fi nal String  C62_PROCE DURE_NOTES  = "('2857 0-0^^2.16. 840.1.1138 83.6.1')";
  79       public  static fi nal String  C62_INTER VENTIONAL_ PROCEDURE_ NOTES = "( '34121-4^^ 2.16.840.1 .113883.6. 1')";
  80       public  static fi nal String  C62_RADIO LOGY_STUDI ES = "('18 726-0^^2.1 6.840.1.11 3883.6.1') ";
  81       public  static fi nal String  C62_PATHO LOGY_STUDI ES = "('27 898-6^^2.1 6.840.1.11 3883.6.1') ";
  82       public  static fi nal String  C62_PATHO LOGY_PROCE DURE_NOTES  = "('3412 2-2^^2.16. 840.1.1138 83.6.1')";
  83       public  static fi nal String  C62_PERIO PERATIVE_R ECORDS = " ('29752-3^ ^2.16.840. 1.113883.6 .1')";
  84  
  85  
  86  
  87  
  88       //publ ic static  final Stri ng SLOT_ST ATUS_STRIN G = "('urn :oasis:nam es:tc:ebxm l-regrep:S tatusType: Approved') ";
  89       public  Assertion Type gener ateAsserti on(QueryBe an qbean)  {
  90           go v.hhs.fha. nhinc.comm on.nhincco mmon.Objec tFactory a tOf = new  gov.hhs.fh a.nhinc.co mmon.nhinc common.Obj ectFactory ();
  91           As sertionTyp e atype =  atOf.creat eAssertion Type();
  92  
  93           tr y {
  94  
  95                //HomeCo mmunityTyp e - requir ed
  96                HomeComm unityType  hct = new  HomeCommun ityType();
  97                hct.setN ame("JLV") ;
  98                hct.setH omeCommuni tyId(VA_HO ME_ID);
  99                hct.setD escription ("JLV");
  100                atype.se tHomeCommu nity(hct);
  101  
  102                //user i nfo - requ ired
  103                UserType  utype = n ew UserTyp e();
  104                PersonNa meType pnt  = new Per sonNameTyp e();
  105                String l astName =  "";
  106                String f irstName =  "";
  107                String f ullName =   qbean.get User().get Name();
  108                if (full Name.conta ins(","))  {
  109                    Stri ng[] parts  = fullNam e.split(", ");
  110                    if ( parts[0] ! = null) {
  111                         lastName =  parts[0]. trim();
  112                    }
  113                    if ( parts[1] ! = null) {
  114                         firstName  = parts[1] .trim();
  115                    }
  116                } else {
  117                    last Name = ful lName;
  118                }
  119                pnt.setF ullName(fu llName);
  120                pnt.setG ivenName(f irstName);
  121                pnt.setF amilyName( lastName);
  122                utype.se tPersonNam e(pnt);
  123  
  124                String u serName =  "";
  125  
  126                //if VA  user, set  the siteco de to the  user's log in site
  127                //if DoD  user, set  the sitec ode to 200
  128                //if VBA  user, set  the sitec ode to use r's login  site
  129                if ("VA" .equalsIgn oreCase(qb ean.getUse r().getHos tSite().ge tAgency())
  130                    && ! "VBA".equa lsIgnoreCa se(qbean.g etUser().g etHostSite ().getMoni ker())) {
  131                    if(q bean.getUs er().getHo stSite().g etSiteCode ().length( ) < 128)
  132                         userName =  userName  + (qbean.g etUser().g etHostSite ().getSite Code());
  133  
  134                } else i f ("DOD".e qualsIgnor eCase(qbea n.getUser( ).getHostS ite().getA gency()))  {
  135                    user Name = use rName + (" 200");
  136                } else i f ("VA".eq ualsIgnore Case(qbean .getUser() .getHostSi te().getAg ency())
  137                    && " VBA".equal sIgnoreCas e(qbean.ge tUser().ge tHostSite( ).getMonik er())) {
  138                    if(q bean.getUs er().getHo stSite().g etSiteCode ().length( ) < 128)
  139                         userName =  userName  + (qbean.g etUser().g etHostSite ().getSite Code());
  140                }
  141                userName  = userNam e + (":");
  142                if(lastN ame.length () < 128)
  143                    user Name = use rName + (l astName.re placeAll("  ", "").re placeAll(" ,", "").re placeAll(" -", ""));
  144  
  145                utype.se tUserName( userName);
  146                utype.se tOrg(hct);
  147  
  148                //setup  role
  149                CeType r oleCoded =  new CeTyp e();
  150                roleCode d.setCode( "112247003 ");
  151                roleCode d.setCodeS ystem("2.1 6.840.1.11 3883.6.96" );
  152                roleCode d.setCodeS ystemName( "SNOMED_CT ");
  153                roleCode d.setDispl ayName("Me dical doct or");
  154                utype.se tRoleCoded (roleCoded );
  155  
  156                atype.se tUserInfo( utype);
  157  
  158                //setup  purpose
  159                CeType p urpose = n ew CeType( );
  160                purpose. setCode("T REATMENT") ;
  161                purpose. setCodeSys tem("2.16. 840.1.1138 83.3.18.7. 1");
  162                purpose. setDisplay Name("TREA TMENT");
  163                purpose. setCodeSys temName("n hin-purpos e");
  164   //           purpose. setCodeSys temVersion ("");
  165   //           purpose. setOrigina lText("");
  166                atype.se tPurposeOf Disclosure Coded(purp ose);
  167  
  168                //setup  patient id
  169                atype.ge tUniquePat ientId().a dd(qbean.g etPatient( ).getICN()  + PATIENT _ICN_STRIN G);
  170  
  171                atype.se tAuthorize d(false);
  172  
  173  
  174           }  catch (Exc eption e)  {
  175                throw ne w NHINHand lerExcepti on(e);
  176           }
  177  
  178           re turn atype ;
  179       }
  180   }