802. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 10/18/2018 2:02:22 PM 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.

802.1 Files compared

# Location File Last Modified
1 VIX_SIV_v3_0_patch_201_build_8.zip\v3.0_patch_201_build_8\VISA\Java\VistaImagingDataSourceProvider\main\test\java\gov\va\med\imaging\protocol\vista TestVistaImagingTranslator.java Thu Oct 11 13:30:14 2018 UTC
2 VIX_SIV_v3_0_patch_201_build_8.zip\v3.0_patch_201_build_8\VISA\Java\VistaImagingDataSourceProvider\main\test\java\gov\va\med\imaging\protocol\vista TestVistaImagingTranslator.java Wed Oct 17 19:15:09 2018 UTC

802.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 46 2598
Changed 45 164
Inserted 0 0
Removed 0 0

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

802.4 Active regular expressions

No regular expressions were active.

802.5 Comparison detail

  1   /**
  2    * 
  3    */
  4   package go v.va.med.i maging.pro tocol.vist a;
  5  
  6   import gov .va.med.Pa tientIdent ifier;
  7   import gov .va.med.im aging.exce ptions.URN FormatExce ption;
  8   import gov .va.med.im aging.exch ange.busin ess.Image;
  9   import gov .va.med.im aging.exch ange.busin ess.Patien tSensitive Value;
  10   import gov .va.med.im aging.exch ange.busin ess.Series ;
  11   import gov .va.med.im aging.exch ange.busin ess.Site;
  12   import gov .va.med.im aging.exch ange.busin ess.Study;
  13   import gov .va.med.im aging.exch ange.busin ess.StudyF ilter;
  14   import gov .va.med.im aging.exch ange.enums .ObjectOri gin;
  15   import gov .va.med.im aging.exch ange.enums .PatientSe nsitivityL evel;
  16   import gov .va.med.im aging.exch ange.enums .StudyDele tedImageSt ate;
  17   import gov .va.med.im aging.exch ange.enums .StudyLoad Level;
  18   import gov .va.med.im aging.exch ange.trans lation.exc eptions.Tr anslationE xception;
  19   import gov .va.med.im aging.prot ocol.vista .exception s.VistaPar singExcept ion;
  20   import gov .va.med.im aging.url. vista.exce ptions.Vis taMethodEx ception;
  21   import gov .va.med.im aging.vist aobjects.C prsIdentif ierImages;
  22   import gov .va.med.im aging.vist aobjects.V istaImage;
  23  
  24   import jav a.util.Has hMap;
  25   import jav a.util.Ite rator;
  26   import jav a.util.Lis t;
  27   import jav a.util.Set ;
  28   import jav a.util.Sor tedSet;
  29  
  30   import jun it.framewo rk.TestCas e;
  31  
  32   /**
  33    * @author   PII
  34    *
  35    */
  36   public cla ss TestVis taImagingT ranslator
  37           ex tends Test Case
  38   {
  39  
  40           /* *
  41            *  Test meth od for {@l ink gov.va .med.imagi ng.protoco l.vista.Vi staImaging Translator #convertSt ringToPati entSensiti veValue(ja va.lang.St ring, java .lang.Stri ng)}.
  42            * /
  43           pu blic void  testConver tStringToP atientSens itiveValue ()
  44           {
  45                    try
  46                    {
  47                             VistaI magingTran slator.con vertString ToPatientS ensitiveVa lue(null,  "655321");
  48                             fail(" Simulated  null respo nse was no t detected .");
  49                    }
  50                    catc h (VistaMe thodExcept ion x){}
  51                    
  52                    try
  53                    {
  54                             VistaI magingTran slator.con vertString ToPatientS ensitiveVa lue("-1",  "655321");
  55                             fail(" Simulated  error resp onse was n ot detecte d.");
  56                    }
  57                    catc h (VistaMe thodExcept ion x){}
  58                    
  59                    Stri ng vistaRe sponse;
  60                    
  61                    try
  62                    {
  63                             vistaR esponse =  "0";
  64                             Patien tSensitive Value pati entSensiti vity = 
  65                                      VistaIma gingTransl ator.conve rtStringTo PatientSen sitiveValu e(vistaRes ponse, "65 5321");
  66                             assert NotNull(pa tientSensi tivity);
  67                             assert Equals(Pat ientSensit ivityLevel .NO_ACTION _REQUIRED,  patientSe nsitivity. getSensiti veLevel()) ;
  68                    }
  69                    catc h (VistaMe thodExcept ion x){fai l(x.getMes sage());}
  70                    
  71                    try
  72                    {
  73                             vistaR esponse =  "1";
  74                             Patien tSensitive Value pati entSensiti vity = 
  75                                      VistaIma gingTransl ator.conve rtStringTo PatientSen sitiveValu e(vistaRes ponse, "65 5321");
  76                             assert NotNull(pa tientSensi tivity);
  77                             assert Equals(Pat ientSensit ivityLevel .DISPLAY_W ARNING, pa tientSensi tivity.get SensitiveL evel());
  78                    }
  79                    catc h (VistaMe thodExcept ion x){fai l(x.getMes sage());}
  80                    
  81                    try
  82                    {
  83                             vistaR esponse =  "2";
  84                             Patien tSensitive Value pati entSensiti vity = 
  85                                      VistaIma gingTransl ator.conve rtStringTo PatientSen sitiveValu e(vistaRes ponse, "65 5321");
  86                             assert NotNull(pa tientSensi tivity);
  87                             assert Equals(Pat ientSensit ivityLevel .DISPLAY_W ARNING_REQ UIRE_OK, p atientSens itivity.ge tSensitive Level());
  88                    }
  89                    catc h (VistaMe thodExcept ion x){fai l(x.getMes sage());}
  90                    
  91                    try
  92                    {
  93                             vistaR esponse =  "3";
  94                             Patien tSensitive Value pati entSensiti vity = 
  95                                      VistaIma gingTransl ator.conve rtStringTo PatientSen sitiveValu e(vistaRes ponse, "65 5321");
  96                             assert NotNull(pa tientSensi tivity);
  97                             assert Equals(Pat ientSensit ivityLevel .DISPLAY_W ARNING_CAN NOT_CONTIN UE, patien tSensitivi ty.getSens itiveLevel ());
  98                    }
  99                    catc h (VistaMe thodExcept ion x){fai l(x.getMes sage());}
  100                    
  101                    try
  102                    {
  103                             vistaR esponse =  "4";
  104                             Patien tSensitive Value pati entSensiti vity = 
  105                                      VistaIma gingTransl ator.conve rtStringTo PatientSen sitiveValu e(vistaRes ponse, "65 5321");
  106                             assert NotNull(pa tientSensi tivity);
  107                             assert Equals(Pat ientSensit ivityLevel .ACCESS_DE NIED, pati entSensiti vity.getSe nsitiveLev el());
  108                    }
  109                    catc h (VistaMe thodExcept ion x){fai l(x.getMes sage());}
  110  
  111           }
  112  
  113           /* *
  114            *  Test meth od for {@l ink gov.va .med.imagi ng.protoco l.vista.Vi staImaging Translator #createIma geGroupFro mImageLine s(java.lan g.String,  gov.va.med .imaging.e xchange.bu siness.Stu dy)}.
  115            *  @throws V istaParsin gException  
  116            *  @throws U RNFormatEx ception 
  117            * /
  118           pu blic void  testParse_ RPC_MAG_GE T_STUDY_IM AGES() 
  119           th rows Vista ParsingExc eption, UR NFormatExc eption
  120           {
  121                    Stud y study =  Study.crea te(ObjectO rigin.VA,  "660", "12 345", Pati entIdentif ier.icnPat ientIdenti fier("6553 21"), 
  122                                      StudyLoa dLevel.FUL L, StudyDe letedImage State.cann otIncludeD eletedImag es);
  123                    
  124                    // D VB>S MAGIE N=4763
  125                    // D VB>D GROUP ^MAGGTIG(. MAGRY,MAGI EN,1)
  126                    // D VB>ZW
  127  
  128                    Stri ng vistaRe sponse = 
  129                  "B2^4764^\ \\\ PII \\image1$\ \DM\\00\\4 7\\DM00476 4.DCM^\\\\ PII \\image1$\ \DM\\00\\4 7\\DM00476 4.ABS^SPIN E ENTIRE A P&LAT (#1) ^3030508.0 856^100^US ^05/08/200 3 08:56^^M ^A^1^27^1^ 1^SLC^^^72 0^PATIENT, SEVENTWOZE RO^CLIN^05 /09/2003 0 9:49:15^^^ ";
  130                    
  131                    Sort edSet<Vist aImage> vi staImages  = VistaIma gingTransl ator.creat eImageGrou pFromImage Lines(vist aResponse,  study);
  132                    asse rtNotNull( vistaImage s);
  133                    
  134                    //St ring vista Response =  
  135                    //        "1^Cl ass: CLIN  -\f" + 
  136                    //        "Item ~S2^Site^N ote Title~ ~W0^Proc D T~S1^Proce dure^# Img ~S2^Short  Desc^Pkg^C lass^Type^ Specialty^ Event^Orig in^Cap Dt~ S1~W0^Cap  by~~W0^Ima ge ID~S2~W 0\f" +
  137                    //        "1^WA S^NURSING  NOTE^09/28 /2001 00:0 1^NOTE^2^C ONSULT NUR SE MEDICAL  WOUND SPE C INPT^NOT E^CLIN^CON SULT^NURSI NG^WOUND A SSESSMENT^ VA^09/28/2 001 01:35^ IMAGPROVID ERONETWOSI X,ONETWOSI X^1752|175 2^\\\\ISW- IMGGOLDBAC K\\image1$ \\DM\\00\\ 17\\DM0017 53.JPG^\\\ \ISW-IMGGO LDBACK\\im age1$\\DM\ 00\\17\\DM 001753.ABS ^CONSULT N URSE MEDIC AL WOUND S PEC INPT^3 010928^11^ NOTE^09/28 /2001^36^M ^A^^^2^1^W AS^^^711^I MAGPATIENT 1055,1055^ CLIN^^^\f"  +
  138                    //        "2^WA S^OPHTHALM OLOGY^08/2 0/2001 00: 01^OPH^10^ Ophthalmol ogy^NOTE^C LIN^IMAGE^ EYE CARE^^ VA^08/20/2 001 22:32^ IMAGPROVID ERONETWOSI X,ONETWOSI X^1783|178 3^\\\\ISW- IMGGOLDBAC K\\image1$ \\DM\\00\\ 17\\DM0017 84.DCM^\\\ \ISW-IMGGO LDBACK\\im age1$\\DM\ \00\\17\\D M001784.AB S^Ophthalm ology^3010 820^11^OPH ^08/20/200 1^41^M^A^^ ^10^1^WAS^ ^^711^IMAG PATIENT105 5,1055^CLI N^^^^";
  139           }
  140  
  141           /* *
  142            *  Test the  parsing of  a respons e from  RP C MAG4 PAT  GET IMAGE S call
  143            *  @throws V istaParsin gException  
  144            * /
  145           pu blic void  testParse_ MAG4_PAT_G ET_IMAGES(
  146           th rows Vista ParsingExc eption
  147           {
  148                    // R PC MAG4 PA T GET IMAG ES
  149                    // S  DFN=720
  150                    // D VB>S DFN=7 20
  151                    // D VB>D PGI^M AGSIXG1(.M AGOUT,DFN)
  152                    // D VB>ZW
  153                    Stri ng vistaRe sponse = 
  154                             "1^All  existing  images\n"  +
  155                             "Item~ S2^Site^No te Title~~ W0^Proc DT ~S1^Proced ure^# Img~ S2^Short D esc^Pkg^Cl ass^Type^S pecialty^E vent^Origi n^Cap Dt~S 1~W0^Cap b y~~W0^Imag e ID~S2~W0 \n" + 
  156                              "1^SLC^     ^05/09/200 3 14:20^RA D NM^120^U NLISTED RA DIOLOGIC P ROCEDURE^R AD^CLIN^IM AGE^NUCLEA R MEDICINE ^NUCLEAR M EDICINE SC AN^VA^05/0 9/2003 14: 41:09^^552 9^|5529^\\ \\ PII \\image1$\ \DM\00\\55 \\DM005530 .TGA^\\\\ PII \\image1$\ \DM\00\\55 \\DM005530 .ABS^UNLIS TED RADIOL OGIC PROCE DURE^30305 09.142^11^ RAD NM^05/ 09/2003 14 :20^^M^A^^ ^120^1^SLC ^^^720^PAT IENT,SEVEN TWOZERO^CL IN^05/09/2 003 14:41: 09^^^\n" +  
  157                              "2^SLC^     ^05/08/200 3 08:56^RA D US^1^SPI NE ENTIRE  AP&LAT^RAD ^CLIN^IMAG E^RADIOLOG Y^ULTRASOU ND^VA^05/0 9/2003 09: 49:15^^476 4^|4764^\\ \\ PII \\image1$\ \DM\\00\\4 7\\DM00476 4.DCM^\\\\ PII \\image1$\ \DM\\00\\4 7\\DM00476 4.ABS^SPIN E ENTIRE A P&LAT^3030 508.0856^1 00^RAD US^ 05/08/2003  08:56^^M^ A^^^1^1^SL C^^^720^PA TIENT,SEVE NTWOZERO^C LIN^05/09/ 2003 09:49 :15^^^\n" 
  158                              "3^SLC^     ^05/08/200 3 08:54^RA D CR^4^CHE ST SINGLE  VIEW^RAD^C LIN^IMAGE^ RADIOLOGY^ COMPUTED R ADIOGRAPHY ^VA^05/08/ 2003 15:37 :17^^4730^ |4730^\\\\ PII \\image1$\ \DM\\00\\4 7\\DM00473 1.DCM^\\\\ PII \\image1$\ \DM\00\\47 \\DM004731 .ABS^CHEST  SINGLE VI EW^3030508 .0854^11^R AD CR^05/0 8/2003 08: 54^^M^A^^^ 4^1^SLC^^^ 720^PATIEN T,SEVENTWO ZERO^CLIN^ 05/08/2003  15:37:17^ ^^\n" +
  159                              "4^SLC^     ^05/08/200 3 08:54^RA D CR^4^CHE ST 2 VIEWS  PA&LAT^RA D^CLIN^IMA GE^RADIOLO GY^COMPUTE D RADIOGRA PHY^VA^05/ 08/2003 14 :22:43^^37 30^|3730^\ \\\ PII \\image1$\ \DM\\00\\3 7\\DM00373 1.TGA^\\\\ PII \\image1$\ \DM\\00\\3 7\\DM00373 1.ABS^CHES T 2 VIEWS  PA&LAT^303 0508.0854^ 11^RAD CR^ 05/08/2003  08:54^^M^ A^^^4^1^SL C^^\\ PII \\image1$\ \DM\\00\\3 7\\DM00373 1.BIG^720^ PATIENT,SE VENTWOZERO ^CLIN^05/0 8/2003 14: 22:43^^^\n " +
  160                              "5^SLC^     ^05/08/200 3 08:39^RA D NM^2^ECH OGRAM PELV IC B-SCAN  &/OR REAL  TIME W/IMA GING^RAD^C LIN^IMAGE^ NUCLEAR ME DICINE^NUC LEAR MEDIC INE SCAN^V A^05/09/20 03 14:00:2 2^^5526^|5 526^\\\\ PII \\image1$\ \DM\\00\\5 5\\DM00552 7.DCM^\\\\ PII \\image1$\ \DM\\00\\5 5\\DM00552 7.ABS^ECHO GRAM PELVI C B-SCAN & /OR REAL T IME W/IMAG ING^303050 8.0839^11^ RAD NM^05/ 08/2003 08 :39^^M^A^^ ^2^1^SLC^^ ^720^PATIE NT,SEVENTW OZERO^CLIN ^05/09/200 3 14:00:22 ^^^\n" +
  161                              "6^SLC^     ^05/08/200 3 08:38^RA D MR^156^M AGNETIC IM AGE,BRAIN  STEM^RAD^C LIN^IMAGE^ RADIOLOGY^ MAGNETIC R ESONANCE S CAN^VA^05/ 09/2003 11 :48:58^^49 26^|4926^\ \\\ PII \\image1$\ \DM\\00\\4 9\\DM00492 7.TGA^\\\\ PII \\image1$\ \DM\\00\\4 9\\DM00492 7.ABS^MAGN ETIC IMAGE ,BRAIN STE M^3030508. 0838^11^RA D MR^05/08 /2003 08:3 8^^M^A^^^1 56^1^SLC^^ ^720^PATIE NT,SEVENTW OZERO^CLIN ^05/09/200 3 11:48:58 ^^^\n" + 
  162                              "7^SLC^     ^05/08/200 3 08:38^RA D MR^156^M AGNETIC IM AGE,ABDOME N^RAD^CLIN ^IMAGE^RAD IOLOGY^MAG NETIC RESO NANCE SCAN ^VA^05/09/ 2003 10:28 :24^^4769^ |4769^\\\\ PII \\image1$\ \DM\\00\\4 7\\DM00477 0.TGA^\\\\ PII \\image1$\ \DM\\00\\4 7\\DM00477 0.ABS^MAGN ETIC IMAGE ,ABDOMEN^3 030508.083 8^11^RAD M R^05/08/20 03 08:38^^ M^A^^^156^ 1^SLC^^^72 0^PATIENT, SEVENTWOZE RO^CLIN^05 /09/2003 1 0:28:24^^^ \n" + 
  163                              "8^SLC^     ^05/08/200 3 08:26^RA D CT^208^C T THORAX W /O CONT^RA D^CLIN^IMA GE^RADIOLO GY^COMPUTE D TOMOGRAP HY^VA^05/0 9/2003 13: 32:52^^531 7^|5317^\\ \\ PII \\image1$\ \DM\\00\\5 3\\DM00531 8.DCM^\\\\ PII \\image1$\ \DM\\00\\5 3\\DM00531 8.ABS^CT T HORAX W/O  CONT^30305 08.0826^11 ^RAD CT^05 /08/2003 0 8:26^^M^A^ ^^208^1^SL C^^^720^PA TIENT,SEVE NTWOZERO^C LIN^05/09/ 2003 13:32 :52^^^\n" 
  164                              "9^SLC^     ^05/08/200 3 08:26^RA D CT^206^C T HEAD W/O  CONT^RAD^ CLIN^IMAGE ^RADIOLOGY ^COMPUTED  TOMOGRAPHY ^VA^05/09/ 2003 12:42 :29^^5105^ |5105^\\\\ PII \\image1$\ \DM\\00\\5 1\\DM00510 6.TGA^\\\\ PII \\image1$\ \DM\\00\\5 1\\DM00510 6.ABS^CT H EAD W/O CO NT^303058. 0826^11^RA D CT^05/08 /2003 08:2 6^^M^A^^^2 06^1^SLC^^ ^720^PATIE NT,SEVENTW OZERO^CLIN ^05/09/200 3 12:42:29 ^^^";
  165  
  166                    List <Image> im ages = 
  167                             VistaI magingTran slator.cre ateImagesF orFirstIma gesFromVis taGroupLis t(vistaRes ponse, 
  168                                               PatientIde ntifier.ic nPatientId entifier(" 655321"),  "660");
  169                    asse rtEquals(9 , images.s ize());
  170                    
  171           }
  172           
  173           /* *
  174            *  
  175            *  @throws V istaParsin gException
  176            *  @throws U RNFormatEx ception 
  177            * /
  178           pu blic void  testParse_ MAGG_GROUP _IMAGES() 
  179           th rows Vista ParsingExc eption, UR NFormatExc eption
  180           {
  181                    // D VB>S MAGIE N=4763
  182                    // D VB>D GROUP ^MAGGTIG(. MAGRY,MAGI EN,1)
  183                    // D VB>ZW
  184                     
  185                    Stri ng vistaRe sponse = 
  186                             "1^1\n " +
  187                              "B2^4764^\ \\\ PII \\image1$\ \DM\\00\\4 7\\DM00476 4.DCM^\\\\ PII \\image1$\ \DM\\00\\4 7\\DM00476 4.ABS^SPIN E ENTIRE A P&LAT (#1) ^3030508.0 856^100^US ^05/08/200 3 08:56^^M ^A^1^27^1^ 1^SLC^^^72 0^PATIENT, SEVENTWOZE RO^CLIN^05 /09/2003 0 9:49:15^^^ ";
  188                    Stri ng siteId  = "660";
  189                    Stri ng decoded StudyIen =  "42";
  190                    Stri ng patient Icn = "655 321";
  191                    
  192                    List <Image> im ages = Vis taImagingT ranslator. VistaImage StringList ToImageLis t(vistaRes ponse, sit eId, 
  193                                      decodedS tudyIen, P atientIden tifier.icn PatientIde ntifier(pa tientIcn)) ;
  194           }
  195           
  196           pu blic void  testParse_ MAG3_CPRS_ TIU_NOTE()  
  197           th rows Vista ParsingExc eption
  198           {
  199                    // D VB>K ^TMP
  200                    // D VB>D DT^DI CRW
  201                    // D VB>S TIUDA =481
  202                    // D VB>D IMAGE S^MAGGNTI( .MAGRY,TIU DA)
  203                    // D VB>ZW
  204  
  205                    Stri ng vistaRe sponse = 
  206                             "12^12  Images fo r the sele cted TIU N OTE^481^PA TIENT,ONEZ EROTWOTHRE E  OPHTHAL MOLOGIST C ONSULT NOT E  17 Mar  04@15:42:1 6^8811\n"  +
  207                              "B2^8800^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008800.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008800.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:41^^^ \n" +
  208                              "B2^8801^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008801.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008801.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:42^^^ \n" +
  209                              "B2^8802^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008802.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008802.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:42^^^ \n" +
  210                              "B2^8803^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008803.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008803.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:43^^^ \n" + 
  211                              "B2^8804^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008804.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008804.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:43^^^ \n" +
  212                              "B2^8805^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008805.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008805.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:43^^^ \n" +
  213                              "B2^8806^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008806.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008806.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:43^^^ \n" +
  214                              "B2^8807^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008807.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008807.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:44^^^ \n" +
  215                              "B2^8808^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008808.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008808.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:44^^^ \n" +
  216                              "B2^8809^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008809.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008809.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:44^^^ \n" +
  217                              "B2^8810^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008810.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008810.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:45^^^ \n" +
  218                              "B2^8811^\ \\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008811.DC M^\\\\ PII \\image1$\ \DM00\\00\ \00\\00\\8 8\\DM00000 0008811.AB S^OPHTHALM OLOGIST CO NSULT NOTE ^3040317^1 00^OT^03/1 7/2004^^M^ A^^^1^1^SL C^^^1023^P ATIENT,ONE ZEROTWOTHR EE^CLIN^03 /17/2004 1 5:46:45^^^ ";
  219                    
  220                    List <VistaImag e> vistaIm ages = 
  221                             VistaI magingTran slator.ext ractVistaI mageListFr omVistaRes ult(vistaR esponse);
  222           }
  223           
  224           pu blic void  testParse_ MAGG_CPRS_ RAD_EXAM()  
  225           th rows Vista ParsingExc eption
  226           {
  227                    // D VB>S DATA= "RPT^CPRS^ 711^RA^i70 29271.8955 -1^30^^^^^ ^^1"
  228                    // D VB>D IMAGE C^MAGGTRAI (.MAGZRY,D ATA)
  229                    // D VB>ZW
  230                                              
  231                    Stri ng vistaRe sponse = 
  232                             "1^Ima ges for th e selected  Radiology  Exam^44^0 72897-30   CHEST SING LE VIEW  2 970728.104 4^52\n" +
  233                              "B2^52^\\\ \ PII \\image1$\ \IE000052. TGA^\\\\ PII \\image1$\ \IE000052. ABS^X-RAY     CHEST SING LE VIEW    7/28/97^29 70728^3^[S ]GEN. MED. ^07/28/199 7^1^M^A^^^ 1^1^SLC^^^ 711^PATIEN T,SEVENONE ONE^CLIN^0 3/26/1998  11:00^^^";
  234                    
  235                    List <VistaImag e> vistaIm ages = 
  236                             VistaI magingTran slator.ext ractVistaI mageListFr omVistaRes ult(vistaR esponse);
  237           }
  238           
  239           /* *
  240           pu blic void  testParse_ RPC_MAGN_C PRS_IMAGE_ LIST_1() 
  241           th rows Vista ParsingExc eption, UR NFormatExc eption
  242           {
  243                    
  244                    Pati entIdentif ier patien t = Patien tIdentifie r.icnPatie ntIdentifi er("655321 777V105660 ");
  245  
  246                    Site  site = ne w SLCSite( );
  247                    Stud yFilter fi lter = new  StudyFilt er();
  248  
  249                    Stri ngBuffer b uffer = ne w StringBu ffer();
  250                    buff er.append( "1\r\n");
  251                    buff er.append( "NEXT_CONT EXTID|RPT^ CPRS^10089 9^TIU^1255 0^^^^^^^^1 |1|12\r\n" );
  252                    buff er.append( "NEXT_STUD Y|1.2.840. 113754.1.4 .500.1.936 |\r\n");
  253                    buff er.append( "STUDY_UID |1.2.840.1 13754.1.4. 500.1.936\ r\n");
  254                    buff er.append( "STUDY_IEN |10469|2|1 0470||500\ r\n");
  255                    buff er.append( "STUDY_INF O|^^VEHU I MAGING CON SULT RESUL T^09/12/20 17 19:39:0 2^CON/PROC ^^CP ELECT ROCARDIOGR AM^CONS^CL IN^IMAGE^C ARDIOLOGY^ ECHOCARDIO GRAM^VA^09 /12/2017 1 6:29:30^^1 0469^^^^|T IU-12550\r \n");
  256                    buff er.append( "STUDY_PAT |100899|50 00002703V6 36083|PATI ENT,DANIEL LE I\r\n") ;
  257                    buff er.append( "NEXT_SERI ES\r\n");
  258                    buff er.append( "SERIES_IE N|10469\r\ n");
  259                    buff er.append( "SERIES_NU MBER|1\r\n ");
  260                    buff er.append( "NEXT_IMAG E\r\n");
  261                    buff er.append( "IMAGE_IEN |10470\r\n ");
  262                    buff er.append( "GROUP_IEN |10469\r\n ");
  263                    buff er.append( "IMAGE_INF O|^10470^\ \\\54.235. 72.148\\IM AGE1$\\PAN 0\\00\\00\ \01\\04\\P AN00000010 470.DCM^\\ \\54.235.7 2.148\\IMA GE1$\\PAN0 \\00\\00\\ 01\\04\\PA N000000104 70.ABS^CP  ELECTROCAR DIOGRAM (# 1)^3170912 .193902^10 0^CR^09/12 /2017 19:3 9:02^20^M^ A^^^1^1^PA N^^^100899 ^PATIENT,D ANIELLE I^ CLIN^09/12 /2017 16:2 9:30^07/31 /2001 19:3 9:22^10469 ^^^^0^1^1^ 0^1^1^Imag e is Viewa ble.^CONS^ \r\n");
  264                    
  265                    Cprs Identifier Images cpr sIdentifie rs = null;
  266                    try  {
  267                             cprsId entifiers  = VistaIma gingTransl ator.extra ctCprsImag eListFromV istaResult (site, pat ient, buff er.toStrin g(), filte r);
  268                    } ca tch (Trans lationExce ption tX)  {
  269                             fail() ;
  270                    }
  271                    asse rtNotNull( cprsIdenti fiers);
  272                    Hash Map<String ,List<Stud y> > studi es = cprsI dentifiers .getVistaS tudies();
  273                    List <Study> st udyList =  studies.ge t("RPT^CPR S^100899^T IU^12550^^ ^^^^^^1");
  274                    Stud y study =  (Study)stu dyList.get (0);
  275                    asse rtEquals(" 1.2.840.11 3754.1.4.5 00.1.936",  study.get StudyUid() );
  276                    asse rtEquals(" 10469", st udy.getStu dyIen());
  277           }
  278           
  279           pu blic void  testParse_ RPC_MAGN_C PRS_IMAGE_ LIST_2() 
  280           th rows Vista ParsingExc eption, UR NFormatExc eption
  281           {
  282                    
  283                    Pati entIdentif ier patien t = Patien tIdentifie r.icnPatie ntIdentifi er("655321 777V105660 ");
  284  
  285                    Site  site = ne w SLCSite( );
  286                    Stud yFilter fi lter = new  StudyFilt er();
  287  
  288  
  289                    Stri ngBuffer b uffer = ne w StringBu ffer();
  290                    buff er.append( "1\r\n");
  291                    buff er.append( "NEXT_CONT EXTID|RPT^ CPRS^10089 9^TIU^1255 0^^^^^^^^1 |1|12\r\n" );
  292                    buff er.append( "NEXT_STUD Y|1.2.840. 113754.1.4 .500.1.936 |\r\n");
  293                    buff er.append( "STUDY_UID |1.2.840.1 13754.1.4. 500.1.936\ r\n");
  294                    buff er.append( "STUDY_IEN |10469|2|1 0470||500\ r\n");
  295                    buff er.append( "STUDY_INF O|^^VEHU I MAGING CON SULT RESUL T^09/12/20 17 19:39:0 2^CON/PROC ^^CP ELECT ROCARDIOGR AM^CONS^CL IN^IMAGE^C ARDIOLOGY^ ECHOCARDIO GRAM^VA^09 /12/2017 1 6:29:30^^1 0469^^^^66 0-GMR-1234 5|TIU-1255 0\r\n");
  296                    buff er.append( "STUDY_PAT |100899|50 00002703V6 36083|PATI ENT,DANIEL LE I\r\n") ;
  297                    buff er.append( "NEXT_SERI ES\r\n");
  298                    buff er.append( "SERIES_IE N|10469\r\ n");
  299                    buff er.append( "SERIES_NU MBER|1\r\n ");
  300                    buff er.append( "NEXT_IMAG E\r\n");
  301                    buff er.append( "IMAGE_IEN |10470\r\n ");
  302                    buff er.append( "GROUP_IEN |10469\r\n ");
  303                    buff er.append( "IMAGE_INF O|^10470^\ \\\54.235. 72.148\\IM AGE1$\\PAN 0\\00\\00\ \01\\04\\P AN00000010 470.DCM^\\ \\54.235.7 2.148\\IMA GE1$\\PAN0 \\00\\00\\ 01\\04\\PA N000000104 70.ABS^CP  ELECTROCAR DIOGRAM (# 1)^3170912 .193902^10 0^CR^09/12 /2017 19:3 9:02^20^M^ A^^^1^1^PA N^^^100899 ^PATIENT,D ANIELLE I^ CLIN^09/12 /2017 16:2 9:30^07/31 /2001 19:3 9:22^10469 ^^^^0^1^1^ 0^1^1^Imag e is Viewa ble.^CONS^ \r\n");
  304                    
  305                    Cprs Identifier Images cpr sIdentifie rs = null;
  306                    try  {
  307                             cprsId entifiers  = VistaIma gingTransl ator.extra ctCprsImag eListFromV istaResult (site, pat ient, buff er.toStrin g(), filte r);
  308                    } ca tch (Trans lationExce ption tX)  {
  309                             fail() ;
  310                    }
  311                    asse rtNotNull( cprsIdenti fiers);
  312                    Hash Map<String ,List<Stud y> > studi es = cprsI dentifiers .getVistaS tudies();
  313                    List <Study> st udyList =  studies.ge t("RPT^CPR S^100899^T IU^12550^^ ^^^^^^1");
  314                    Stud y study =  (Study)stu dyList.get (0);
  315                    asse rtEquals(" 1.2.840.11 3754.1.4.5 00.1.936",  study.get StudyUid() );
  316                    asse rtEquals(" 10469", st udy.getStu dyIen());
  317                    asse rtEquals(" 660-GMR-12 345", stud y.getAcces sionNumber ());
  318                    asse rtEquals(" TIU-12550" , study.ge tAlternate ExamNumber ());
  319                    asse rtFalse(st udy.isStud yInNewData Structure( ));
  320           }
  321           
  322           
  323           pu blic void  testParse_ RPC_MAGN_C PRS_IMAGE_ LIST_3() 
  324           th rows Vista ParsingExc eption, UR NFormatExc eption
  325           {
  326                    
  327                    Site  site = ne w SLCSite( );
  328                    Stud yFilter fi lter = new  StudyFilt er();
  329  
  330  
  331                    Pati entIdentif ier patien t = Patien tIdentifie r.icnPatie ntIdentifi er("655321 1234V77766 0");
  332  
  333                    Stri ngBuffer b uffer = ne w StringBu ffer();
  334                    buff er.append( "1\r\n");
  335                    buff er.append( "NEXT_CONT EXTID|RPT^ CPRS^10089 9^TIU^1255 0^^^^^^^^1 |1|67\r\n" );
  336                    buff er.append( "NEXT_STUD Y|1.2.840. 113754.1.4 .500.1.936 |NEW\r\n") ;
  337                    buff er.append( "STUDY_UID |1.2.840.1 13754.1.4. 500.1.936\ r\n");
  338                    buff er.append( "STUDY_IEN |6|2\r\n") ;
  339                    buff er.append( "STUDY_INF O|^^^09/12 /2017 10:3 9:04^^^^CO NS^^^^^VA^ 09/12/2017  10:39:04^ ^^^^^660-G MR-12345|T IU-12550\r \n");
  340                    buff er.append( "STUDY_PAT |100899|50 00002703V6 36083|PATI ENT,DANIEL LE I\r\n") ;
  341                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  342                    buff er.append( "NEXT_SERI ES\r\n");
  343                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.2008.7 274.150524 6785870.6. 3.1.1\r\n" );
  344                    buff er.append( "SERIES_IE N|40\r\n") ;
  345                    buff er.append( "SERIES_MO DALITY|ECG \r\n");
  346                    buff er.append( "SERIES_NU MBER|\r\n" );
  347                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  348                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  349                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  350                    buff er.append( "NEXT_IMAG E\r\n");
  351                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.2008199 502.727436 826.150524 6785870.8. 0\r\n");
  352                    buff er.append( "IMAGE_IEN |29\r\n");
  353                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  354                    buff er.append( "IMAGE_INF O|29^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 05/14/2013  10:39:04^ ^^^^^0^^^^ ^^^\r\n");
  355                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  356                    buff er.append( "ARTIFACTI NSTANCE_PK |29\r\n");
  357                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|31\ r\n");
  358                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  359                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  360                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  361                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201709 12.163003\ r\n");
  362                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 70912.1630 27\r\n");
  363                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0031.dcm\r \n");
  364                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  365                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  366                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  367                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  368                    buff er.append( "ARTIFACTI NSTANCE_PK |35\r\n");
  369                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|31\ r\n");
  370                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  371                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  372                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  373                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201709 21.144944\ r\n");
  374                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  375                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0031.dcm\r \n");
  376                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  377                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\WORMO TG$\\\r\n" );
  378                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  379                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  380                    buff er.append( "ARTIFACTI NSTANCE_PK |31\r\n");
  381                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|33\ r\n");
  382                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  383                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  384                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  385                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201709 12.163027\ r\n");
  386                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  387                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0033.jpg\r \n");
  388                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  389                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  390                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  391                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  392                    buff er.append( "ARTIFACTI NSTANCE_PK |33\r\n");
  393                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|33\ r\n");
  394                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  395                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  396                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  397                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201709 21.144942\ r\n");
  398                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  399                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0033.jpg\r \n");
  400                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  401                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\WORMO TG$\\\r\n" );
  402                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  403           
  404                    Cprs Identifier Images cpr sIdentifie rs;
  405                    try  {
  406                             cprsId entifiers  = VistaIma gingTransl ator.extra ctCprsImag eListFromV istaResult (site, pat ient, buff er.toStrin g(), filte r);
  407                    } ca tch (Trans lationExce ption tX)  {
  408                             throw  new VistaP arsingExce ption(tX);
  409                    }
  410                    asse rtNotNull( cprsIdenti fiers);
  411                    Hash Map<String ,List<Stud y> > studi es = cprsI dentifiers .getVistaS tudies();
  412                    List <Study> st udyList =  studies.ge t("RPT^CPR S^100899^T IU^12550^^ ^^^^^^1");
  413                    Stud y study =  (Study)stu dyList.get (0);
  414                    asse rtEquals(" 1.2.840.11 3754.1.4.5 00.1.936",  study.get StudyUid() );
  415                    asse rtEquals(" 6", study. getStudyIe n());
  416                    asse rtEquals(" 660-GMR-12 345", stud y.getAcces sionNumber ());
  417                    asse rtEquals(" TIU-12550" , study.ge tAlternate ExamNumber ());
  418                    asse rtTrue(stu dy.isStudy InNewDataS tructure() );
  419                    
  420                    Set< Series> se ries = stu dy.getSeri es();
  421                    Iter ator<Serie s> iter =  series.ite rator();
  422                    whil e(iter.has Next()){
  423                             Series  serie = ( Series)ite r.next();
  424                             assert Equals("40 ", serie.g etSeriesIe n());
  425                             assert Equals("EC G", serie. getModalit y());
  426                             assert True(serie .isSeriesI nNewDataSt ructure()) ;
  427                             
  428                             
  429                             Iterat or<Image>  iter2 = se rie.iterat or();
  430                             while( iter2.hasN ext()){
  431                                      Image im age = (Ima ge)iter2.n ext();
  432                                      assertEq uals("1.3. 6.1.4.1.59 62.99.1.20 08199502.7 27436826.1 5052467858 70.8.0", i mage.getIm ageUid());
  433                                      assertEq uals("29",  image.get Ien());
  434                                      assertEq uals("\\\\ 54.235.72. 148\\IMAGE 1$\\500\\0 0\\00\\00\ \00\\00\\0 0\\500_000 0000000003 1.dcm", im age.getFul lFilename( ));
  435                                      assertEq uals("\\\\ 54.235.72. 148\\WORMO TG$\\500\\ 00\\00\\00 \\00\\00\\ 00\\500_00 0000000000 31.jpg", i mage.getAb sFilename( ));
  436                                      assertTr ue(image.i sImageInNe wDataStruc ture());
  437                             }
  438                    }
  439           }
  440           
  441           /* *
  442           pu blic void  testParse_ RPC_MAGN_C PRS_IMAGE_ LIST_4() 
  443           th rows Vista ParsingExc eption, UR NFormatExc eption
  444           {
  445                    
  446                    Site  site = ne w SLCSite( );
  447                    Stud yFilter fi lter = new  StudyFilt er();
  448  
  449  
  450                    Pati entIdentif ier patien t = Patien tIdentifie r.icnPatie ntIdentifi er("655321 1234V77766 0");
  451  
  452                    Stri ngBuffer b uffer = ne w StringBu ffer();
  453                    buff er.append( "1\r\n");
  454                    buff er.append( "NEXT_CONT EXTID|RPT^ CPRS^10089 9^TIU^1255 0^^^^^^^^1 |1|79\r\n" );
  455                    buff er.append( "NEXT_STUD Y|1.2.840. 113754.1.4 .500.1.936 |\r\n");
  456                    buff er.append( "STUDY_UID |1.2.840.1 13754.1.4. 500.1.936\ r\n");
  457                    buff er.append( "STUDY_IEN |10469|2|1 0470||500\ r\n");
  458                    buff er.append( "STUDY_INF O|^^VEHU I MAGING CON SULT RESUL T^09/12/20 17 19:39:0 2^CON/PROC ^^CP ELECT ROCARDIOGR AM^CONS^CL IN^IMAGE^C ARDIOLOGY^ ECHOCARDIO GRAM^VA^09 /12/2017 1 6:29:30^^1 0469^^^^66 0-GMR-1234 5|TIU-1255 0\r\n");
  459                    buff er.append( "STUDY_PAT |100899|50 00002703V6 36083|PATI ENT,DANIEL LE I\r\n") ;
  460                    buff er.append( "NEXT_SERI ES\r\n");
  461                    buff er.append( "SERIES_IE N|10469\r\ n");
  462                    buff er.append( "SERIES_NU MBER|1\r\n ");
  463                    buff er.append( "NEXT_IMAG E\r\n");
  464                    buff er.append( "IMAGE_IEN |10470\r\n ");
  465                    buff er.append( "GROUP_IEN |10469\r\n ");
  466                    buff er.append( "IMAGE_INF O|^10470^\ \\\54.235. 72.148\\IM AGE1$\\PAN 0\\00\\00\ \01\\04\\P AN00000010 470.DCM^\\ \\54.235.7 2.148\\IMA GE1$\\PAN0 \\00\\00\\ 01\\04\\PA N000000104 70.ABS^CP  ELECTROCAR DIOGRAM (# 1)^3170912 .193902^10 0^CR^09/12 /2017 19:3 9:02^20^M^ A^^^1^1^PA N^^^100899 ^PATIENT,D ANIELLE I^ CLIN^09/12 /2017 16:2 9:30^07/31 /2001 19:3 9:22^10469 ^^^^0^1^1^ 0^1^1^Imag e is Viewa ble.^CONS^ \r\n");
  467                    buff er.append( "NEXT_STUD Y|1.2.840. 113754.1.4 .500.1.936 |NEW\r\n") ;
  468                    buff er.append( "STUDY_UID |1.2.840.1 13754.1.4. 500.1.936\ r\n");
  469                    buff er.append( "STUDY_IEN |6|2\r\n") ;
  470                    buff er.append( "STUDY_INF O|^^^09/12 /2017 10:3 9:04^^^^CO NS^^^^^VA^ 09/12/2017  10:39:04^ ^^^^^660-G MR-12345|T IU-12550\r \n");
  471                    buff er.append( "STUDY_PAT |100899|50 00002703V6 36083|PATI ENT,DANIEL LE I\r\n") ;
  472                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  473                    buff er.append( "NEXT_SERI ES\r\n");
  474                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.2008.7 274.150524 6785870.6. 3.1.1\r\n" );
  475                    buff er.append( "SERIES_IE N|40\r\n") ;
  476                    buff er.append( "SERIES_MO DALITY|ECG \r\n");
  477                    buff er.append( "SERIES_NU MBER|\r\n" );
  478                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  479                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  480                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  481                    buff er.append( "NEXT_IMAG E\r\n");
  482                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.2008199 502.727436 826.150524 6785870.8. 0\r\n");
  483                    buff er.append( "IMAGE_IEN |29\r\n");
  484                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  485                    buff er.append( "IMAGE_INF O|29^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 05/14/2013  10:39:04^ ^^^^^0^^^^ ^^^\r\n");
  486                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  487                    buff er.append( "ARTIFACTI NSTANCE_PK |29\r\n");
  488                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|31\ r\n");
  489                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  490                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  491                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  492                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201709 12.163003\ r\n");
  493                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 70912.1630 27\r\n");
  494                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0031.dcm\r \n");
  495                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  496                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  497                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  498                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  499                    buff er.append( "ARTIFACTI NSTANCE_PK |35\r\n");
  500                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|31\ r\n");
  501                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  502                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  503                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  504                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201709 21.144944\ r\n");
  505                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  506                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0031.dcm\r \n");
  507                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  508                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\WORMO TG$\\\r\n" );
  509                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  510                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  511                    buff er.append( "ARTIFACTI NSTANCE_PK |31\r\n");
  512                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|33\ r\n");
  513                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  514                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  515                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  516                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201709 12.163027\ r\n");
  517                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  518                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0033.jpg\r \n");
  519                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  520                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  521                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  522                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  523                    buff er.append( "ARTIFACTI NSTANCE_PK |33\r\n");
  524                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|33\ r\n");
  525                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  526                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  527                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  528                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201709 21.144942\ r\n");
  529                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  530                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0033.jpg\r \n");
  531                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  532                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\WORMO TG$\\\r\n" );
  533                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  534           
  535                    Cprs Identifier Images cpr sIdentifie rs;
  536                    try  {
  537                             cprsId entifiers  = VistaIma gingTransl ator.extra ctCprsImag eListFromV istaResult (site, pat ient, buff er.toStrin g(), filte r);
  538                    } ca tch (Trans lationExce ption tX)  {
  539                             throw  new VistaP arsingExce ption(tX);
  540                    }
  541                    asse rtNotNull( cprsIdenti fiers);
  542                    Hash Map<String ,List<Stud y> > studi es = cprsI dentifiers .getVistaS tudies();
  543                    List <Study> st udyList =  studies.ge t("RPT^CPR S^100899^T IU^12550^^ ^^^^^^1");
  544                    Stud y study0 =  (Study)st udyList.ge t(0);
  545                    asse rtEquals(" 1.2.840.11 3754.1.4.5 00.1.936",  study0.ge tStudyUid( ));
  546                    asse rtEquals(" 10469", st udy0.getSt udyIen());
  547                    asse rtEquals(" 660-GMR-12 345", stud y0.getAcce ssionNumbe r());
  548                    asse rtEquals(" TIU-12550" , study0.g etAlternat eExamNumbe r());
  549                    asse rtFalse(st udy0.isStu dyInNewDat aStructure ());
  550  
  551                    
  552                    Stud y study1 =  (Study)st udyList.ge t(1);
  553                    asse rtEquals(" 1.2.840.11 3754.1.4.5 00.1.936",  study1.ge tStudyUid( ));
  554                    asse rtEquals(" 6", study1 .getStudyI en());
  555                    asse rtEquals(" 660-GMR-12 345", stud y1.getAcce ssionNumbe r());
  556                    asse rtEquals(" TIU-12550" , study1.g etAlternat eExamNumbe r());
  557                    asse rtTrue(stu dy1.isStud yInNewData Structure( ));
  558                    
  559                    Set< Series> se ries = stu dy1.getSer ies();
  560                    Iter ator<Serie s> iter =  series.ite rator();
  561                    whil e(iter.has Next()){
  562                             Series  serie = ( Series)ite r.next();
  563                             assert Equals("40 ", serie.g etSeriesIe n());
  564                             assert Equals("EC G", serie. getModalit y());
  565                             assert True(serie .isSeriesI nNewDataSt ructure()) ;
  566                             
  567                             
  568                             Iterat or<Image>  iter2 = se rie.iterat or();
  569                             while( iter2.hasN ext()){
  570                                      Image im age = (Ima ge)iter2.n ext();
  571                                      assertEq uals("1.3. 6.1.4.1.59 62.99.1.20 08199502.7 27436826.1 5052467858 70.8.0", i mage.getIm ageUid());
  572                                      assertEq uals("29",  image.get Ien());
  573                                      assertEq uals("\\\\ 54.235.72. 148\\IMAGE 1$\\500\\0 0\\00\\00\ \00\\00\\0 0\\500_000 0000000003 1.dcm", im age.getFul lFilename( ));
  574                                      assertEq uals("\\\\ 54.235.72. 148\\WORMO TG$\\500\\ 00\\00\\00 \\00\\00\\ 00\\500_00 0000000000 31.jpg", i mage.getAb sFilename( ));
  575                                      assertTr ue(image.i sImageInNe wDataStruc ture());
  576                             }
  577                    }
  578           }
  579           
  580           pu blic void  testParse_ RPC_MAGN_C PRS_IMAGE_ LIST_5() 
  581           th rows Vista ParsingExc eption, UR NFormatExc eption
  582           {
  583                    
  584                    Site  site = ne w SLCSite( );
  585                    Stud yFilter fi lter = new  StudyFilt er();
  586  
  587  
  588                    Pati entIdentif ier patien t = Patien tIdentifie r.icnPatie ntIdentifi er("655321 1234V77766 0");
  589  
  590                    Stri ngBuffer b uffer = ne w StringBu ffer();
  591                    buff er.append( "1\r\n");
  592                    buff er.append( "NEXT_CONT EXTID|RPT^ CPRS^10103 8^RA^68291 73.8396-1^ ^^^^^^^1|1 |118\r\n") ;
  593                    buff er.append( "NEXT_STUD Y|1.2.840. 113754.1.4 .500.68291 73.8396.1. 82617.86|N EW\r\n");
  594                    buff er.append( "STUDY_UID |1.2.840.1 13754.1.4. 500.682917 3.8396.1.8 2617.86\r\ n");
  595                    buff er.append( "STUDY_IEN |1|30\r\n" );
  596                    buff er.append( "STUDY_INF O|^^^08/26 /2017 12:2 8^^^^RAD^^ ^^^VA^08/2 6/2017 12: 28^^^^^^08 2617-86|RA D-750\r\n" );
  597                    buff er.append( "STUDY_PAT |101038|50 00002744V9 88457|PATI ENT,DAN XV II\r\n");
  598                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  599                    buff er.append( "NEXT_SERI ES\r\n");
  600                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.686.39 69.1503925 127881.95. 3.1.1\r\n" );
  601                    buff er.append( "SERIES_IE N|29\r\n") ;
  602                    buff er.append( "SERIES_MO DALITY|CT\ r\n");
  603                    buff er.append( "SERIES_NU MBER|1\r\n ");
  604                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  605                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  606                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  607                    buff er.append( "NEXT_IMAG E\r\n");
  608                    buff er.append( "IMAGE_IEN |29\r\n");
  609                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.6865415 13.3969848 26.1503925 127881.96. 0\r\n");
  610                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  611                    buff er.append( "IMAGE_INF O|29^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  10:16:06^ ^^^^^0^^^^ ^^^\r\n");
  612                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  613                    buff er.append( "ARTIFACTI NSTANCE_PK |1\r\n");
  614                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|3\r \n");
  615                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  616                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  617                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  618                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 28.154419\ r\n");
  619                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 70828.1545 23\r\n");
  620                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0003.dcm\r \n");
  621                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  622                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  623                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  624                    buff er.append( "ARTIFACTI NSTANCE_UR L|this is  a first li nsecond li ne\r\n");
  625                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  626                    buff er.append( "ARTIFACTI NSTANCE_PK |2\r\n");
  627                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|5\r \n");
  628                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  629                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  630                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  631                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 28.154524\ r\n");
  632                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  633                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0005.jpg\r \n");
  634                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  635                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  636                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  637                    buff er.append( "NEXT_SERI ES\r\n");
  638                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.686.39 69.1503925 127881.95. 3.30.2\r\n ");
  639                    buff er.append( "SERIES_IE N|30\r\n") ;
  640                    buff er.append( "SERIES_MO DALITY|CT\ r\n");
  641                    buff er.append( "SERIES_NU MBER|2\r\n ");
  642                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  643                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  644                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  645                    buff er.append( "NEXT_IMAG E\r\n");
  646                    buff er.append( "IMAGE_IEN |30\r\n");
  647                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.6865415 13.3969848 26.1503925 127881.97. 0\r\n");
  648                    buff er.append( "IMAGE_NUM BER|2\r\n" );
  649                    buff er.append( "IMAGE_INF O|30^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  13:33:01^ ^^^^^0^^^^ ^^^\r\n");
  650                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  651                    buff er.append( "ARTIFACTI NSTANCE_PK |3\r\n");
  652                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|4\r \n");
  653                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  654                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  655                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  656                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 28.154639\ r\n");
  657                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 70828.1547 34\r\n");
  658                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0004.dcm\r \n");
  659                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  660                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  661                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  662                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  663                    buff er.append( "ARTIFACTI NSTANCE_PK |4\r\n");
  664                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|6\r \n");
  665                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  666                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  667                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  668                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 28.154735\ r\n");
  669                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  670                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0006.jpg\r \n");
  671                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  672                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  673                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  674                    buff er.append( "NEXT_SERI ES\r\n");
  675                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.68.396 9.15039251 27881.109. 3.2.501\r\ n");
  676                    buff er.append( "SERIES_IE N|34\r\n") ;
  677                    buff er.append( "SERIES_MO DALITY|SR\ r\n");
  678                    buff er.append( "SERIES_NU MBER|501\r \n");
  679                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  680                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  681                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  682                    buff er.append( "NEXT_IMAG E\r\n");
  683                    buff er.append( "IMAGE_IEN |34\r\n");
  684                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.6865415 13.3969848 26.1503925 127881.110 .0\r\n");
  685                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  686                    buff er.append( "IMAGE_INF O|34^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 03/26/2009  09:35:48^ ^^^^^0^^^^ ^^^\r\n");
  687                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  688                    buff er.append( "ARTIFACTI NSTANCE_PK |11\r\n");
  689                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|13\ r\n");
  690                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  691                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  692                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  693                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 28.1624\r\ n");
  694                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 70828.1624 42\r\n");
  695                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0013.dcm\r \n");
  696                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  697                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  698                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  699                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  700                    buff er.append( "ARTIFACTI NSTANCE_PK |12\r\n");
  701                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|14\ r\n");
  702                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  703                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  704                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  705                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 28.162442\ r\n");
  706                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  707                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|500_ 0000000000 0014.jpg\r \n");
  708                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|2 \r\n");
  709                    buff er.append( "ARTIFACTI NSTANCE_PH YSICALREFE RENCE|\\\\ 54.235.72. 148\\IMAGE 1$\\\r\n") ;
  710                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|500 \\00\\00\\ 00\\00\\00 \\00\\\r\n ");
  711  
  712                    Cprs Identifier Images cpr sIdentifie rs;
  713                    try  {
  714                             cprsId entifiers  = VistaIma gingTransl ator.extra ctCprsImag eListFromV istaResult (site, pat ient, buff er.toStrin g(), filte r);
  715                    } ca tch (Trans lationExce ption tX)  {
  716                             throw  new VistaP arsingExce ption(tX);
  717                    }
  718                    asse rtNotNull( cprsIdenti fiers);
  719                    Hash Map<String ,List<Stud y> > studi es = cprsI dentifiers .getVistaS tudies();
  720                    List <Study> st udyList =  studies.ge t("RPT^CPR S^101038^R A^6829173. 8396-1^^^^ ^^^^1");
  721                    Stud y study =  (Study)stu dyList.get (0);
  722                     assertEqua ls(" RTN             .1.4.500.6 829173.839 6.1.82617. 86", study .getStudyU id());
  723                    asse rtEquals(" 1", study. getStudyIe n());
  724                    asse rtEquals(3 0, study.g etImageCou nt());
  725                    asse rtEquals(" 082617-86" , study.ge tAccession Number());
  726                    asse rtEquals(" RAD-750",  study.getA lternateEx amNumber() );
  727                    asse rtTrue(stu dy.isStudy InNewDataS tructure() );
  728  
  729                    /*
  730                    Set< Series> se ries = stu dy.getSeri es();
  731                    Iter ator<Serie s> iter =  series.ite rator();
  732                    whil e(iter.has Next()){
  733                             Series  serie = ( Series)ite r.next();
  734                             assert Equals("40 ", serie.g etSeriesIe n());
  735                             assert Equals("EC G", serie. getModalit y());
  736                             assert True(serie .isSeriesI nNewDataSt ructure()) ;
  737                             
  738                             
  739                             Iterat or<Image>  iter2 = se rie.iterat or();
  740                             while( iter2.hasN ext()){
  741                                      Image im age = (Ima ge)iter2.n ext();
  742                                      assertEq uals("1.3. 6.1.4.1.59 62.99.1.20 08199502.7 27436826.1 5052467858 70.8.0", i mage.getIm ageUid());
  743                                      assertEq uals("29",  image.get Ien());
  744                                      assertEq uals("\\\\ 54.235.72. 148\\IMAGE 1$\\500\\0 0\\00\\00\ \00\\00\\0 0\\500_000 0000000003 1.dcm", im age.getFul lFilename( ));
  745                                      assertEq uals("\\\\ 54.235.72. 148\\WORMO TG$\\500\\ 00\\00\\00 \\00\\00\\ 00\\500_00 0000000000 31.jpg", i mage.getAb sFilename( ));
  746                                      assertTr ue(image.i sImageInNe wDataStruc ture());
  747                             }
  748                    }
  749                    
  750           }
  751           ** /
  752           
  753           pu blic void  testParse_ RPC_MAGN_P ATIENT_IMA GE_LIST_1(
  754           th rows Vista ParsingExc eption, UR NFormatExc eption
  755           {        
  756                    Pati entIdentif ier patien t = Patien tIdentifie r.icnPatie ntIdentifi er("800012 234V737373 737");
  757                    Site  site = ne w SLCSite( );
  758                    Stud yFilter fi lter = new  StudyFilt er();
  759  
  760                    Stri ngBuffer b uffer = ne w StringBu ffer();
  761                    buff er.append( "1\r\n");
  762                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.4 42.6949397 .8664.1.60 205.171|\r \n");
  763                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.4 42.6949397 .8664.1.60 205.171\r\ n");
  764                    buff er.append( "STUDY_IEN |264187|2| 264188|710 20|994\r\n ");
  765                    buff er.append( "STUDY_INF O|^^   ^06 /02/2005 1 3:35^RAD C R^^CHEST 2  VIEWS PA& LAT^RAD^CL IN^IMAGE^R ADIOLOGY^C OMPUTED RA DIOGRAPHY^ VA^06/02/2 005 13:51: 45^^264187 ^^^^060205 -171|RAD-1 78791|RPT^ CPRS^71697 91^RA^i694 9397.8664- 1^171\r\n" );
  766                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  767                    buff er.append( "NEXT_SERI ES\r\n");
  768                    buff er.append( "SERIES_IE N|264187\r \n");
  769                    buff er.append( "SERIES_NU MBER|1\r\n ");
  770                    buff er.append( "NEXT_IMAG E\r\n");
  771                    buff er.append( "IMAGE_IEN |264188\r\ n");
  772                    buff er.append( "GROUP_IEN |264187\r\ n");
  773                     buffer.app end("IMAGE _INFO|^264 188^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.TG A^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.AB S^CHEST 2  VIEWS PA&L AT (#1)^30 50602.1335 ^3^CR^06/0 2/2005 13: 35^^M^A^^^ 1^1^CHY^^\ \\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.BI G^7169791^ IPOAASEN,L UCIA A^CLI N^06/02/20 05 13:51:4 5^^264187^ ^^^0^1^1^0 ^^1^Image  is Viewabl e.^RAD^\r\ n");
  774                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.4 42.7009097 .8443.1.90 299.147|\r \n");
  775                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.4 42.7009097 .8443.1.90 299.147\r\ n");
  776                    buff er.append( "STUDY_IEN |264249|2| 264250|710 20|994\r\n ");
  777                    buff er.append( "STUDY_INF O|^^   ^09 /02/1999 1 5:56^RAD C R^^CHEST 2  VIEWS PA& LAT^RAD^CL IN^IMAGE^R ADIOLOGY^C OMPUTED RA DIOGRAPHY^ VA^06/02/2 005 14:31: 49^^264249 ^^^^090299 -147|RAD-1 09746|RPT^ CPRS^71697 91^RA^i700 9097.8443- 1^147\r\n" );
  778                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  779                    buff er.append( "NEXT_SERI ES\r\n");
  780                    buff er.append( "SERIES_IE N|264249\r \n");
  781                    buff er.append( "SERIES_NU MBER|1\r\n ");
  782                    buff er.append( "NEXT_IMAG E\r\n");
  783                    buff er.append( "IMAGE_IEN |264250\r\ n");
  784                    buff er.append( "GROUP_IEN |264249\r\ n");
  785                     buffer.app end("IMAGE _INFO|^264 250^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.TG A^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.AB S^CHEST 2  VIEWS PA&L AT (#1)^29 90902.1556 ^3^CR^09/0 2/1999 15: 56^^M^A^^^ 1^1^CHY^^\ \\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.BI G^7169791^ IPOAASEN,L UCIA A^CLI N^06/02/20 05 14:31:4 9^^264249^ ^^^0^1^1^0 ^^1^Image  is Viewabl e.^RAD^\r\ n");
  786                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.9 94.6829376 .8767.1.62 317.36|NEW \r\n");
  787                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.9 94.6829376 .8767.1.62 317.36\r\n ");
  788                    buff er.append( "STUDY_IEN |3|1\r\n") ;
  789                    buff er.append( "STUDY_INF O|^^^06/23 /2017 12:1 0^^Special s~NeuroPCT  (Adult)^^ RAD^^^^^VA ^06/23/201 7 12:10^^^ ^^^062317- 36|RAD-287 429|RPT^CP RS^7169791 ^RA^i68293 76.8767-1^ 36\r\n");
  790                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  791                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  792                    buff er.append( "NEXT_SERI ES\r\n");
  793                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.387.18 57.1502813 667272.20. 3.2.501\r\ n");
  794                    buff er.append( "SERIES_IE N|4\r\n");
  795                    buff er.append( "SERIES_MO DALITY|SR\ r\n");
  796                    buff er.append( "SERIES_NU MBER|501\r \n");
  797                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  798                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  799                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  800                    buff er.append( "NEXT_IMAG E\r\n");
  801                    buff er.append( "IMAGE_IEN |4\r\n");
  802                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3870048 200.185715 8264.15028 13667272.2 1.0\r\n");
  803                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  804                    buff er.append( "IMAGE_INF O|4^^^^^IM AGE^^^^^^^ ^^^^^^^^^0 3/26/2009  09:35:48^^ ^^^^0^^^^^ ^^\r\n");
  805                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  806                    buff er.append( "ARTIFACTI NSTANCE_PK |7\r\n");
  807                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|7\r \n");
  808                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  809                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  810                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  811                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 15.133338\ r\n");
  812                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 70815.1334 07\r\n");
  813                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0007.dcm\r \n");
  814                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  815                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  816                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  817                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  818                    buff er.append( "ARTIFACTI NSTANCE_PK |8\r\n");
  819                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|8\r \n");
  820                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  821                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  822                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  823                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 15.133407\ r\n");
  824                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  825                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0008.jpg\r \n");
  826                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  827                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  828                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  829                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.9 94.6819696 .8557.1.30 318.55|NEW \r\n");
  830                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.9 94.6819696 .8557.1.30 318.55\r\n ");
  831                    buff er.append( "STUDY_IEN |10|3\r\n" );
  832                    buff er.append( "STUDY_INF O|^^^03/03 /2018 12:4 2^^Axial M S brain wi th flair,t 2 and pre/ post contr ast^^RAD^^ ^^^VA^03/0 3/2018 12: 42^^^^^^03 0318-55|RA D-287446|R PT^CPRS^71 69791^RA^i 6819696.85 57-1^55\r\ n");
  833                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  834                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  835                    buff er.append( "NEXT_SERI ES\r\n");
  836                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.399.19 80.1520117 330169.18. 3.5007.1\r \n");
  837                    buff er.append( "SERIES_IE N|17\r\n") ;
  838                    buff er.append( "SERIES_MO DALITY|MR\ r\n");
  839                    buff er.append( "SERIES_NU MBER|1\r\n ");
  840                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  841                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  842                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  843                    buff er.append( "NEXT_IMAG E\r\n");
  844                    buff er.append( "IMAGE_IEN |21\r\n");
  845                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3993841 913.198014 1043.15201 17330169.2 1.0\r\n");
  846                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  847                    buff er.append( "IMAGE_INF O|21^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  00:00:14^ ^^^^^0^^^^ ^^^\r\n");
  848                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  849                    buff er.append( "ARTIFACTI NSTANCE_PK |57\r\n");
  850                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|41\ r\n");
  851                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  852                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  853                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  854                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.12562\r \n");
  855                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 80304.1257 06\r\n");
  856                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0041.dcm\r \n");
  857                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  858                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  859                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  860                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  861                    buff er.append( "ARTIFACTI NSTANCE_PK |62\r\n");
  862                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|41\ r\n");
  863                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  864                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  865                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  866                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125711\ r\n");
  867                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  868                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0041.dcm\r \n");
  869                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  870                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  871                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  872                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  873                    buff er.append( "ARTIFACTI NSTANCE_PK |60\r\n");
  874                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|44\ r\n");
  875                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  876                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  877                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  878                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125707\ r\n");
  879                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  880                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0044.jpg\r \n");
  881                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  882                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  883                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  884                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  885                    buff er.append( "ARTIFACTI NSTANCE_PK |66\r\n");
  886                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|44\ r\n");
  887                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  888                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  889                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  890                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125718\ r\n");
  891                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  892                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0044.jpg\r \n");
  893                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  894                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  895                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  896                    buff er.append( "NEXT_SERI ES\r\n");
  897                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.399.19 80.1520117 330169.18. 3.5010.2\r \n");
  898                    buff er.append( "SERIES_IE N|18\r\n") ;
  899                    buff er.append( "SERIES_MO DALITY|MR\ r\n");
  900                    buff er.append( "SERIES_NU MBER|2\r\n ");
  901                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  902                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  903                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  904                    buff er.append( "NEXT_IMAG E\r\n");
  905                    buff er.append( "IMAGE_IEN |22\r\n");
  906                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3993841 913.198014 1043.15201 17330169.2 0.0\r\n");
  907                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  908                    buff er.append( "IMAGE_INF O|22^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  00:00:14^ ^^^^^0^^^^ ^^^\r\n");
  909                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  910                    buff er.append( "ARTIFACTI NSTANCE_PK |58\r\n");
  911                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|42\ r\n");
  912                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  913                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  914                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  915                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125627\ r\n");
  916                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 80304.1257 09\r\n");
  917                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0042.dcm\r \n");
  918                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  919                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  920                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  921                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  922                    buff er.append( "ARTIFACTI NSTANCE_PK |64\r\n");
  923                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|42\ r\n");
  924                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  925                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  926                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  927                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125715\ r\n");
  928                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  929                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0042.dcm\r \n");
  930                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  931                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  932                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  933                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  934                    buff er.append( "ARTIFACTI NSTANCE_PK |61\r\n");
  935                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|45\ r\n");
  936                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  937                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  938                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  939                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.12571\r \n");
  940                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  941                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0045.jpg\r \n");
  942                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  943                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  944                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  945                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  946                    buff er.append( "ARTIFACTI NSTANCE_PK |67\r\n");
  947                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|45\ r\n");
  948                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  949                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  950                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  951                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125719\ r\n");
  952                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  953                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0045.jpg\r \n");
  954                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  955                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  956                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  957                    buff er.append( "NEXT_SERI ES\r\n");
  958                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.399.19 80.1520117 330169.18. 3.5010.1\r \n");
  959                    buff er.append( "SERIES_IE N|19\r\n") ;
  960                    buff er.append( "SERIES_MO DALITY|MR\ r\n");
  961                    buff er.append( "SERIES_NU MBER|1\r\n ");
  962                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  963                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  964                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  965                    buff er.append( "NEXT_IMAG E\r\n");
  966                    buff er.append( "IMAGE_IEN |23\r\n");
  967                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3993841 913.198014 1043.15201 17330169.1 9.0\r\n");
  968                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  969                    buff er.append( "IMAGE_INF O|23^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  00:00:14^ ^^^^^0^^^^ ^^^\r\n");
  970                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  971                    buff er.append( "ARTIFACTI NSTANCE_PK |59\r\n");
  972                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|43\ r\n");
  973                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  974                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  975                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  976                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125634\ r\n");
  977                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 80304.1257 11\r\n");
  978                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0043.dcm\r \n");
  979                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  980                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  981                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  982                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  983                    buff er.append( "ARTIFACTI NSTANCE_PK |65\r\n");
  984                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|43\ r\n");
  985                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  986                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  987                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  988                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125717\ r\n");
  989                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  990                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0043.dcm\r \n");
  991                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  992                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  993                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  994                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  995                    buff er.append( "ARTIFACTI NSTANCE_PK |63\r\n");
  996                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|46\ r\n");
  997                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  998                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  999                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1000                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125712\ r\n");
  1001                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1002                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0046.jpg\r \n");
  1003                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1004                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1005                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1006                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1007                    buff er.append( "ARTIFACTI NSTANCE_PK |68\r\n");
  1008                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|46\ r\n");
  1009                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  1010                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  1011                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  1012                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125719\ r\n");
  1013                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1014                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0046.jpg\r \n");
  1015                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  1016                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  1017                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1018                    
  1019                    
  1020                    Sort edSet<Stud y> studies  = VistaIm agingTrans lator.crea teFiltered StudiesFro mGraph(sit e, 
  1021                                      buffer.t oString(),  StudyLoad Level.STUD Y_ONLY, fi lter, Stud yDeletedIm ageState.d oesNotIncl udeDeleted Images);
  1022  
  1023                    asse rtNotNull( studies);
  1024                    asse rtEquals(4 , studies. size());
  1025                    Stud y study =  (Study)stu dies.first ();
  1026                    asse rtEquals(" 800012234V 737373737" , study.ge tPatientId entifier() .getValue( ));
  1027           }
  1028           
  1029           pu blic void  testParse_ RPC_MAGN_P ATIENT_IMA GE_LIST_2(
  1030           th rows Vista ParsingExc eption, UR NFormatExc eption
  1031           {
  1032                    Pati entIdentif ier patien t = Patien tIdentifie r.icnPatie ntIdentifi er("800012 234V737373 737");
  1033                    Site  site = ne w SLCSite( );
  1034                    Stud yFilter fi lter = new  StudyFilt er();
  1035  
  1036                    Stri ngBuffer b uffer = ne w StringBu ffer();
  1037                    buff er.append( "1\r\n");
  1038                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.4 42.6949397 .8664.1.60 205.171|\r \n");
  1039                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.4 42.6949397 .8664.1.60 205.171\r\ n");
  1040                    buff er.append( "STUDY_IEN |264187|2| 264188|710 20|994\r\n ");
  1041                    buff er.append( "STUDY_INF O|^^   ^06 /02/2005 1 3:35^RAD C R^^CHEST 2  VIEWS PA& LAT^RAD^CL IN^IMAGE^R ADIOLOGY^C OMPUTED RA DIOGRAPHY^ VA^06/02/2 005 13:51: 45^^264187 ^^^^060205 -171|RAD-1 78791|RPT^ CPRS^71697 91^RA^i694 9397.8664- 1^171\r\n" );
  1042                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  1043                    buff er.append( "NEXT_SERI ES\r\n");
  1044                    buff er.append( "SERIES_IE N|264187\r \n");
  1045                    buff er.append( "SERIES_NU MBER|1\r\n ");
  1046                    buff er.append( "NEXT_IMAG E\r\n");
  1047                    buff er.append( "IMAGE_IEN |264188\r\ n");
  1048                    buff er.append( "GROUP_IEN |264187\r\ n");
  1049                     buffer.app end("IMAGE _INFO|^264 188^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.TG A^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.AB S^CHEST 2  VIEWS PA&L AT (#1)^30 50602.1335 ^3^CR^06/0 2/2005 13: 35^^M^A^^^ 1^1^CHY^^\ \\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.BI G^7169791^ IPOAASEN,L UCIA A^CLI N^06/02/20 05 13:51:4 5^^264187^ ^^^0^1^1^0 ^^1^Image  is Viewabl e.^RAD^\r\ n");
  1050                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.4 42.7009097 .8443.1.90 299.147|\r \n");
  1051                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.4 42.7009097 .8443.1.90 299.147\r\ n");
  1052                    buff er.append( "STUDY_IEN |264249|2| 264250|710 20|994\r\n ");
  1053                    buff er.append( "STUDY_INF O|^^   ^09 /02/1999 1 5:56^RAD C R^^CHEST 2  VIEWS PA& LAT^RAD^CL IN^IMAGE^R ADIOLOGY^C OMPUTED RA DIOGRAPHY^ VA^06/02/2 005 14:31: 49^^264249 ^^^^090299 -147|RAD-1 09746|RPT^ CPRS^71697 91^RA^i700 9097.8443- 1^147\r\n" );
  1054                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  1055                    buff er.append( "NEXT_SERI ES\r\n");
  1056                    buff er.append( "SERIES_IE N|264249\r \n");
  1057                    buff er.append( "SERIES_NU MBER|1\r\n ");
  1058                    buff er.append( "NEXT_IMAG E\r\n");
  1059                    buff er.append( "IMAGE_IEN |264250\r\ n");
  1060                    buff er.append( "GROUP_IEN |264249\r\ n");
  1061                     buffer.app end("IMAGE _INFO|^264 250^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.TG A^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.AB S^CHEST 2  VIEWS PA&L AT (#1)^29 90902.1556 ^3^CR^09/0 2/1999 15: 56^^M^A^^^ 1^1^CHY^^\ \\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.BI G^7169791^ IPOAASEN,L UCIA A^CLI N^06/02/20 05 14:31:4 9^^264249^ ^^^0^1^1^0 ^^1^Image  is Viewabl e.^RAD^\r\ n");
  1062                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.9 94.6829376 .8767.1.62 317.36|NEW \r\n");
  1063                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.9 94.6829376 .8767.1.62 317.36\r\n ");
  1064                    buff er.append( "STUDY_IEN |3|1\r\n") ;
  1065                    buff er.append( "STUDY_INF O|^^^06/23 /2017 12:1 0^^Special s~NeuroPCT  (Adult)^^ RAD^^^^^VA ^06/23/201 7 12:10^^^ ^^^062317- 36|RAD-287 429|RPT^CP RS^7169791 ^RA^i68293 76.8767-1^ 36\r\n");
  1066                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  1067                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  1068                    buff er.append( "NEXT_SERI ES\r\n");
  1069                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.387.18 57.1502813 667272.20. 3.2.501\r\ n");
  1070                    buff er.append( "SERIES_IE N|4\r\n");
  1071                    buff er.append( "SERIES_MO DALITY|SR\ r\n");
  1072                    buff er.append( "SERIES_NU MBER|501\r \n");
  1073                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  1074                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  1075                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  1076                    buff er.append( "NEXT_IMAG E\r\n");
  1077                    buff er.append( "IMAGE_IEN |4\r\n");
  1078                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3870048 200.185715 8264.15028 13667272.2 1.0\r\n");
  1079                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  1080                    buff er.append( "IMAGE_INF O|4^^^^^IM AGE^^^^^^^ ^^^^^^^^^0 3/26/2009  09:35:48^^ ^^^^0^^^^^ ^^\r\n");
  1081                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1082                    buff er.append( "ARTIFACTI NSTANCE_PK |7\r\n");
  1083                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|7\r \n");
  1084                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  1085                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  1086                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1087                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 15.133338\ r\n");
  1088                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 70815.1334 07\r\n");
  1089                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0007.dcm\r \n");
  1090                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1091                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1092                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1093                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1094                    buff er.append( "ARTIFACTI NSTANCE_PK |8\r\n");
  1095                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|8\r \n");
  1096                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  1097                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  1098                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1099                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 15.133407\ r\n");
  1100                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1101                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0008.jpg\r \n");
  1102                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1103                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1104                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1105                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.9 94.6819696 .8557.1.30 318.55|NEW \r\n");
  1106                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.9 94.6819696 .8557.1.30 318.55\r\n ");
  1107                    buff er.append( "STUDY_IEN |10|3\r\n" );
  1108                    buff er.append( "STUDY_INF O|^^^03/03 /2018 12:4 2^^Axial M S brain wi th flair,t 2 and pre/ post contr ast^^RAD^^ ^^^VA^03/0 3/2018 12: 42^^^^^^03 0318-55|RA D-287446|R PT^CPRS^71 69791^RA^i 6819696.85 57-1^55\r\ n");
  1109                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|I POAASEN,LU CIA A\r\n" );
  1110                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  1111                    buff er.append( "NEXT_SERI ES\r\n");
  1112                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.399.19 80.1520117 330169.18. 3.5007.1\r \n");
  1113                    buff er.append( "SERIES_IE N|17\r\n") ;
  1114                    buff er.append( "SERIES_MO DALITY|MR\ r\n");
  1115                    buff er.append( "SERIES_NU MBER|1\r\n ");
  1116                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  1117                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  1118                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  1119                    buff er.append( "NEXT_IMAG E\r\n");
  1120                    buff er.append( "IMAGE_IEN |21\r\n");
  1121                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3993841 913.198014 1043.15201 17330169.2 1.0\r\n");
  1122                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  1123                    buff er.append( "IMAGE_INF O|21^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  00:00:14^ ^^^^^0^^^^ ^^^\r\n");
  1124                    buff er.append( "NEXT_SERI ES\r\n");
  1125                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.399.19 80.1520117 330169.18. 3.5010.2\r \n");
  1126                    buff er.append( "SERIES_IE N|18\r\n") ;
  1127                    buff er.append( "SERIES_MO DALITY|MR\ r\n");
  1128                    buff er.append( "SERIES_NU MBER|2\r\n ");
  1129                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  1130                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  1131                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  1132                    buff er.append( "NEXT_IMAG E\r\n");
  1133                    buff er.append( "IMAGE_IEN |22\r\n");
  1134                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3993841 913.198014 1043.15201 17330169.2 0.0\r\n");
  1135                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  1136                    buff er.append( "IMAGE_INF O|22^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  00:00:14^ ^^^^^0^^^^ ^^^\r\n");
  1137                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1138                    buff er.append( "ARTIFACTI NSTANCE_PK |58\r\n");
  1139                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|42\ r\n");
  1140                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  1141                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  1142                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1143                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125627\ r\n");
  1144                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 80304.1257 09\r\n");
  1145                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0042.dcm\r \n");
  1146                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1147                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1148                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1149                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1150                    buff er.append( "ARTIFACTI NSTANCE_PK |64\r\n");
  1151                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|42\ r\n");
  1152                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  1153                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  1154                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  1155                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125715\ r\n");
  1156                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1157                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0042.dcm\r \n");
  1158                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  1159                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  1160                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1161                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1162                    buff er.append( "ARTIFACTI NSTANCE_PK |61\r\n");
  1163                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|45\ r\n");
  1164                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  1165                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  1166                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1167                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.12571\r \n");
  1168                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1169                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0045.jpg\r \n");
  1170                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1171                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1172                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1173                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1174                    buff er.append( "ARTIFACTI NSTANCE_PK |67\r\n");
  1175                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|45\ r\n");
  1176                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  1177                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  1178                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  1179                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125719\ r\n");
  1180                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1181                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0045.jpg\r \n");
  1182                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  1183                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  1184                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1185                    buff er.append( "NEXT_SERI ES\r\n");
  1186                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.399.19 80.1520117 330169.18. 3.5010.1\r \n");
  1187                    buff er.append( "SERIES_IE N|19\r\n") ;
  1188                    buff er.append( "SERIES_MO DALITY|MR\ r\n");
  1189                    buff er.append( "SERIES_NU MBER|1\r\n ");
  1190                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  1191                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  1192                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  1193                    buff er.append( "NEXT_IMAG E\r\n");
  1194                    buff er.append( "IMAGE_IEN |23\r\n");
  1195                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3993841 913.198014 1043.15201 17330169.1 9.0\r\n");
  1196                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  1197                    buff er.append( "IMAGE_INF O|23^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  00:00:14^ ^^^^^0^^^^ ^^^\r\n");
  1198                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1199                    buff er.append( "ARTIFACTI NSTANCE_PK |59\r\n");
  1200                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|43\ r\n");
  1201                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  1202                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  1203                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1204                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125634\ r\n");
  1205                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 80304.1257 11\r\n");
  1206                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0043.dcm\r \n");
  1207                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1208                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1209                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1210                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1211                    buff er.append( "ARTIFACTI NSTANCE_PK |65\r\n");
  1212                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|43\ r\n");
  1213                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  1214                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  1215                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  1216                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125717\ r\n");
  1217                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1218                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0043.dcm\r \n");
  1219                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  1220                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  1221                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1222                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1223                    buff er.append( "ARTIFACTI NSTANCE_PK |63\r\n");
  1224                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|46\ r\n");
  1225                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  1226                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  1227                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1228                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125712\ r\n");
  1229                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1230                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0046.jpg\r \n");
  1231                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1232                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1233                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1234                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1235                    buff er.append( "ARTIFACTI NSTANCE_PK |68\r\n");
  1236                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|46\ r\n");
  1237                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  1238                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|2\r\n" );
  1239                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|JU KEBOX\r\n" );
  1240                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201803 04.125719\ r\n");
  1241                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1242                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0046.jpg\r \n");
  1243                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|8 \r\n");
  1244                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGEJB2 $\\\r\n");
  1245                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1246                    
  1247                    Sort edSet<Stud y> studies  = VistaIm agingTrans lator.crea teFiltered StudiesFro mGraph(sit e, 
  1248                                      buffer.t oString(),  StudyLoad Level.STUD Y_ONLY, fi lter, Stud yDeletedIm ageState.d oesNotIncl udeDeleted Images);
  1249  
  1250                    asse rtNotNull( studies);
  1251                    asse rtEquals(4 , studies. size());
  1252                    Stud y study =  (Study)stu dies.first ();
  1253                    asse rtEquals(" 800012234V 737373737" , study.ge tPatientId entifier() .getValue( ));
  1254           }
  1255  
  1256           
  1257           pu blic void  testParse_ RPC_MAGN_P ATIENT_IMA GE_LIST_3(
  1258           th rows Vista ParsingExc eption, UR NFormatExc eption
  1259           {
  1260                    Pati entIdentif ier patien t = Patien tIdentifie r.icnPatie ntIdentifi er("800012 234V737373 737");
  1261                    Site  site = ne w SLCSite( );
  1262                    Stud yFilter fi lter = new  StudyFilt er();
  1263  
  1264                    Stri ngBuffer b uffer = ne w StringBu ffer();
  1265                    buff er.append( "1\r\n");
  1266                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.4 42.6949397 .8664.1.60 205.171|\r \n");
  1267                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.4 42.6949397 .8664.1.60 205.171\r\ n");
  1268                    buff er.append( "STUDY_IEN |264187|2| 264188|710 20|994\r\n ");
  1269                    buff er.append( "STUDY_INF O|^^   ^06 /02/2005 1 3:35^RAD C R^^CHEST 2  VIEWS PA& LAT^RAD^CL IN^IMAGE^R ADIOLOGY^C OMPUTED RA DIOGRAPHY^ VA^06/02/2 005 13:51: 45^^264187 ^^^^060205 -171|RAD-1 78791|RPT^ CPRS^71697 91^RA^i694 9397.8664- 1^171\r\n" );
  1270                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  1271                    buff er.append( "NEXT_SERI ES\r\n");
  1272                    buff er.append( "SERIES_IE N|264187\r \n");
  1273                    buff er.append( "SERIES_NU MBER|1\r\n ");
  1274                    buff er.append( "NEXT_IMAG E\r\n");
  1275                    buff er.append( "IMAGE_IEN |264188\r\ n");
  1276                    buff er.append( "GROUP_IEN |264187\r\ n");
  1277                     buffer.app end("IMAGE _INFO|^264 188^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.TG A^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.AB S^CHEST 2  VIEWS PA&L AT (#1)^30 50602.1335 ^3^CR^06/0 2/2005 13: 35^^M^A^^^ 1^1^CHY^^\ \\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 1\\CHY0000 0264188.BI G^7169791^ IPOAASEN,L UCIA A^CLI N^06/02/20 05 13:51:4 5^^264187^ ^^^0^1^1^0 ^^1^Image  is Viewabl e.^RAD^\r\ n");
  1278                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.4 42.7009097 .8443.1.90 299.147|\r \n");
  1279                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.4 42.7009097 .8443.1.90 299.147\r\ n");
  1280                    buff er.append( "STUDY_IEN |264249|2| 264250|710 20|994\r\n ");
  1281                    buff er.append( "STUDY_INF O|^^   ^09 /02/1999 1 5:56^RAD C R^^CHEST 2  VIEWS PA& LAT^RAD^CL IN^IMAGE^R ADIOLOGY^C OMPUTED RA DIOGRAPHY^ VA^06/02/2 005 14:31: 49^^264249 ^^^^090299 -147|RAD-1 09746|RPT^ CPRS^71697 91^RA^i700 9097.8443- 1^147\r\n" );
  1282                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  1283                    buff er.append( "NEXT_SERI ES\r\n");
  1284                    buff er.append( "SERIES_IE N|264249\r \n");
  1285                    buff er.append( "SERIES_NU MBER|1\r\n ");
  1286                    buff er.append( "NEXT_IMAG E\r\n");
  1287                    buff er.append( "IMAGE_IEN |264250\r\ n");
  1288                    buff er.append( "GROUP_IEN |264249\r\ n");
  1289                     buffer.app end("IMAGE _INFO|^264 250^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.TG A^\\\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.AB S^CHEST 2  VIEWS PA&L AT (#1)^29 90902.1556 ^3^CR^09/0 2/1999 15: 56^^M^A^^^ 1^1^CHY^^\ \\\
U RL \\IMAGE1$\ \CHY0\\00\ \00\\26\\4 2\\CHY0000 0264250.BI G^7169791^ IPOAASEN,L UCIA A^CLI N^06/02/20 05 14:31:4 9^^264249^ ^^^0^1^1^0 ^^1^Image  is Viewabl e.^RAD^\r\ n");
  1290                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.9 94.6829376 .8767.1.62 317.36|NEW \r\n");
  1291                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.9 94.6829376 .8767.1.62 317.36\r\n ");
  1292                    buff er.append( "STUDY_IEN |3|1\r\n") ;
  1293                    buff er.append( "STUDY_INF O|^^^06/23 /2017 12:1 0^^Special s~NeuroPCT  (Adult)^^ RAD^^^^^VA ^06/23/201 7 12:10^^^ ^^^062317- 36|RAD-287 429|RPT^CP RS^7169791 ^RA^i68293 76.8767-1^ 36\r\n");
  1294                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|P ATIENT,LUC IA A\r\n") ;
  1295                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  1296                    buff er.append( "NEXT_SERI ES\r\n");
  1297                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.387.18 57.1502813 667272.20. 3.2.501\r\ n");
  1298                    buff er.append( "SERIES_IE N|4\r\n");
  1299                    buff er.append( "SERIES_MO DALITY|SR\ r\n");
  1300                    buff er.append( "SERIES_NU MBER|501\r \n");
  1301                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  1302                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  1303                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  1304                    buff er.append( "NEXT_IMAG E\r\n");
  1305                    buff er.append( "IMAGE_IEN |4\r\n");
  1306                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3870048 200.185715 8264.15028 13667272.2 1.0\r\n");
  1307                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  1308                    buff er.append( "IMAGE_INF O|4^^^^^IM AGE^^^^^^^ ^^^^^^^^^0 3/26/2009  09:35:48^^ ^^^^0^^^^^ ^^\r\n");
  1309                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1310                    buff er.append( "ARTIFACTI NSTANCE_PK |7\r\n");
  1311                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|7\r \n");
  1312                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|DICOM\r \n");
  1313                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  1314                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1315                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 15.133338\ r\n");
  1316                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|201 70815.1334 07\r\n");
  1317                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0007.dcm\r \n");
  1318                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1319                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1320                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1321                    buff er.append( "NEXT_ARTI FACTINSTAN CE\r\n");
  1322                    buff er.append( "ARTIFACTI NSTANCE_PK |8\r\n");
  1323                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACT|8\r \n");
  1324                    buff er.append( "ARTIFACTI NSTANCE_AR TIFACTFORM AT|JPEG\r\ n");
  1325                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DER|1\r\n" );
  1326                    buff er.append( "ARTIFACTI NSTANCE_ST ORAGEPROVI DERTYPE|RA ID\r\n");
  1327                    buff er.append( "ARTIFACTI NSTANCE_CR EATEDDATET IME|201708 15.133407\ r\n");
  1328                    buff er.append( "ARTIFACTI NSTANCE_LA STACCESSDA TETIME|\r\ n");
  1329                    buff er.append( "ARTIFACTI NSTANCE_FI LEREF|994_ 0000000000 0008.jpg\r \n");
  1330                    buff er.append( "ARTIFACTI NSTANCE_DI SKVOLUME|1 \r\n");
  1331                     buffer.app end("ARTIF ACTINSTANC E_PHYSICAL REFERENCE| \\\\
U RL \\IMAGE1$\ \\r\n");
  1332                    buff er.append( "ARTIFACTI NSTANCE_FI LEPATH|994 \00\00\00\ 00\00\00\\ r\n");
  1333                     buffer.app end("NEXT_ STUDY
1.2.840.11 3754.1.4.9 94.6819696 .8557.1.30 318.55|NEW \r\n");
  1334                     buffer.app end("STUDY _UID
1.2.840.11 3754.1.4.9 94.6819696 .8557.1.30 318.55\r\n ");
  1335                    buff er.append( "STUDY_IEN |10|3\r\n" );
  1336                    buff er.append( "STUDY_INF O|^^^03/03 /2018 12:4 2^^Axial M S brain wi th flair,t 2 and pre/ post contr ast^^RAD^^ ^^^VA^03/0 3/2018 12: 42^^^^^^03 0318-55|RA D-287446|R PT^CPRS^71 69791^RA^i 6819696.85 57-1^55\r\ n");
  1337                    buff er.append( "STUDY_PAT |7169791|8 00012234V7 37373737|I POAASEN,LU CIA A\r\n" );
  1338                    buff er.append( "STUDY_MOD ALITY|\r\n ");
  1339                    buff er.append( "NEXT_SERI ES\r\n");
  1340                    buff er.append( "SERIES_UI D|1.3.6.1. 4.1.5962.9 9.1.399.19 80.1520117 330169.18. 3.5007.1\r \n");
  1341                    buff er.append( "SERIES_IE N|17\r\n") ;
  1342                    buff er.append( "SERIES_MO DALITY|MR\ r\n");
  1343                    buff er.append( "SERIES_NU MBER|1\r\n ");
  1344                    buff er.append( "SERIES_CL ASS_INDEX| CLIN\r\n") ;
  1345                    buff er.append( "SERIES_PR OC/EVENT_I NDEX|\r\n" );
  1346                    buff er.append( "SERIES_SP EC/SUBSPEC _INDEX|\r\ n");
  1347                    buff er.append( "NEXT_IMAG E\r\n");
  1348                    buff er.append( "IMAGE_IEN |21\r\n");
  1349                    buff er.append( "IMAGE_UID |1.3.6.1.4 .1.5962.99 .1.3993841 913.198014 1043.15201 17330169.2 1.0\r\n");
  1350                    buff er.append( "IMAGE_NUM BER|1\r\n" );
  1351                    buff er.append( "IMAGE_INF O|21^^^^^I MAGE^^^^^^ ^^^^^^^^^^ 12/19/2006  00:00:14^ ^^^^^0^^^^ ^^^\r\n");
  1352                    
  1353                    
  1354                    Sort edSet<Stud y> studies  = VistaIm agingTrans lator.crea teFiltered StudiesFro mGraph(sit e, 
  1355                                      buffer.t oString(),  StudyLoad Level.STUD Y_ONLY, fi lter, Stud yDeletedIm ageState.d oesNotIncl udeDeleted Images);
  1356                    
  1357                    asse rtNotNull( studies);
  1358                    asse rtEquals(3 , studies. size());
  1359                    Stud y study =  (Study)stu dies.last( );
  1360                    asse rtEquals(" 800012234V 737373737" , study.ge tPatientId entifier() .getValue( ));
  1361                    Iter ator<Study > iter = s tudies.ite rator();
  1362                    whil e(iter.has Next()){
  1363                             Study  temp = (St udy)iter.n ext();
  1364                             if(tem p.getStudy Ien().equa ls("264187 ")){
  1365                                      assertEq uals(1, te mp.getSeri esCount()) ;
  1366                                      assertEq uals(2,tem p.getImage Count());
  1367                                      assertEq uals("2641 87", temp. getGroupIe n());
  1368                             }
  1369                             else i f (temp.ge tStudyIen( ).equals(" 264249")){
  1370                                      assertEq uals(1,tem p.getSerie sCount());
  1371                                      assertEq uals(2,tem p.getImage Count());
  1372                                      assertEq uals("2642 49",temp.g etGroupIen ());
  1373                             }
  1374                             else i f (temp.ge tStudyIen( ).equals(" 3")){
  1375                                      assertEq uals(1,tem p.getSerie sCount());
  1376                                      assertEq uals(1,tem p.getImage Count());
  1377                                      assertEq uals("1.2. 840.113754 .1.4.994.6 829376.876 7.1.62317. 36", temp. getStudyUi d());
  1378                             }
  1379                    }
  1380           }
  1381   }