60. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/9/2018 3:46:44 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

60.1 Files compared

# Location File Last Modified
1 TelehealthMgmtPlat_4.0.zip\Telehealth Management Platform 4.0\Integration-Prod.zip\Integration-Prod\SchemaTester Program.cs Fri Feb 23 23:09:02 2018 UTC
2 TelehealthMgmtPlat_4.0.zip\Telehealth Management Platform 4.0\Integration-Prod.zip\Integration-Prod\SchemaTester Program.cs Mon Apr 9 18:47:55 2018 UTC

60.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 5 390
Changed 4 12
Inserted 0 0
Removed 0 0

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

60.4 Active regular expressions

No regular expressions were active.

60.5 Comparison detail

  1   using Syst em;
  2   using Syst em.Collect ions.Gener ic;
  3   using Syst em.IO;
  4   using Syst em.Text;
  5   using Syst em.Xml.Lin q;
  6   using Syst em.Xml.Sch ema;
  7   using Syst em.Xml.Ser ialization ;
  8   using VA.T MP.Integra tion.Schem a.VideoVis itService;
  9   using VA.T MP.Integra tion.Schem a.VirtualM eetingRoom ;
  10  
  11   namespace  SchemaTest er
  12   {
  13       intern al class P rogram
  14       {
  15           pr ivate stat ic void Ma in()
  16           {
  17                try
  18                {
  19                    RunV yoptaSchem a();
  20                    Cons ole.WriteL ine(Enviro nment.NewL ine);
  21                    Cons ole.WriteL ine(Enviro nment.NewL ine);
  22                    RunV yoptaSchem aDelete();
  23                    Cons ole.WriteL ine(Enviro nment.NewL ine);
  24                    Cons ole.WriteL ine(Enviro nment.NewL ine);
  25                    RunV ideoVisitS chema();
  26                }
  27                catch (E xception e x)
  28                {
  29                    Cons ole.WriteL ine(ex);
  30                }
  31                finally
  32                {
  33                    Cons ole.ReadLi ne();
  34                }
  35           }
  36  
  37           pr ivate stat ic void Ru nVyoptaSch ema()
  38           {
  39                var virt ualMeeting Room = new  VirtualMe etingRoomT ype
  40                {
  41                    Vers ion = "1.0 ",
  42                    Appo intmentId  = Guid.New Guid().ToS tring(),
  43                    Pati entName =  Guid.NewGu id().ToStr ing(),
  44                    Prov iderName =  Guid.NewG uid().ToSt ring(),
  45                    Meet ingRoomNam e = "CVT01 234",
  46                    Pati entPin = " 9876543",
  47                    Prov iderPin =  "0123456",
  48                    Star tDate = Da teTime.Utc Now,
  49                    EndD ate = Date Time.UtcNo w.Add(new  TimeSpan(2 , 0, 0)),
  50                    Misc Data = str ing.Empty
  51                };
  52  
  53                var resu lt = Seria lizeIntanc e(virtualM eetingRoom , new List <string> {  "vmr" },
  54                    new  List<strin g> { "http ://va.gov/ vyopta/sch emas/excha nge/Virtua lMeetingRo om/1.0" }) ;
  55  
  56                Validate Schema(@"C :\src\CVT- TSS\VA.TMP .Integrati on\VA.TMP. Integratio n.Schema.V irtualMeet ingRoom",
  57                    new  List<strin g> { "http ://va.gov/ vyopta/sch emas/excha nge/Virtua lMeetingRo om/1.0" },
  58                    new  List<strin g> { "Virt ualMeeting Room.xsd"  },
  59                    resu lt);
  60  
  61                Console. WriteLine( result);
  62           }
  63  
  64           pr ivate stat ic void Ru nVyoptaSch emaDelete( )
  65           {
  66                var virt ualMeeting Room = new  VirtualMe etingRoomD eleteType
  67                {
  68                    Vers ion = "1.0 ",
  69                    Appo intmentId  = Guid.New Guid().ToS tring(),
  70                    Misc Data = str ing.Empty
  71                };
  72  
  73                var resu lt = Seria lizeIntanc e(virtualM eetingRoom , new List <string> {  "vmr" },
  74                    new  List<strin g> { "http ://va.gov/ vyopta/sch emas/excha nge/Virtua lMeetingRo om/1.0" }) ;
  75  
  76                Validate Schema(@"C :\src\CVT- TSS\VA.TMP .Integrati on\VA.TMP. Integratio n.Schema.V irtualMeet ingRoom",
  77                    new  List<strin g> { "http ://va.gov/ vyopta/sch emas/excha nge/Virtua lMeetingRo om/1.0" },
  78                    new  List<strin g> { "Virt ualMeeting Room.xsd"  },
  79                    resu lt);
  80  
  81                Console. WriteLine( result);
  82           }
  83  
  84           pr ivate stat ic void Ru nVideoVisi tSchema()
  85           {
  86                var appo intment =  new Appoin tment
  87                {
  88                    Vers ion = "1.0 ",
  89                    Id =  "uuid",
  90                    Pati ents = new  Patients
  91                    {
  92                         Patient =  new List<P atient>
  93                         {
  94                             new Pa tient
  95                             {
  96                                 Id  = new Per sonIdentif ier { Assi gningAutho rity = "IC N", Unique Id = "1016 433599V285 591" },
  97                                 Na me = new P ersonName  { FirstNam e = "Patie ntOneFirst Name", Las tName = "P atientOneL astName" } ,
  98                                 Co ntactInfor mation = n ew Contact Informatio n { Prefer redEmail =  "apatient one@micros oft.com",  TimeZone =  35 },
  99                                 Lo cation = n ew Locatio n { Type =  LocationT ype.NonVA  },
  100                                   VirtualMee tingRoom =  new Virtu alMeetingR oom { Conf erence = "
A I ", Pin = " AI ", Url = " http:// URL /vmr" }
  101                             },
  102                             new Pa tient
  103                             {
  104                                 Id  = new Per sonIdentif ier { Assi gningAutho rity = "IC N", Unique Id = "1016 433599V285 592" },
  105                                 Na me = new P ersonName  { FirstNam e = "Patie ntTwoFirst Name", Las tName = "P atientTwoL astName" } ,
  106                                 Co ntactInfor mation = n ew Contact Informatio n { Prefer redEmail =  "apatient two@micros oft.com",  TimeZone =  35 },
  107                                 Lo cation = n ew Locatio n { Type =  LocationT ype.NonVA  },
  108                                   VirtualMee tingRoom =  new Virtu alMeetingR oom { Conf erence = "
A I ", Pin = " AI ", Url = " http:// URL /vmr" }
  109                             }
  110                         }
  111                    },
  112                    Dura tion = 30,
  113                    Date Time = Dat eTime.Pars e("2001-12 -31T12:00: 00"),
  114                    Sche dulingRequ estType =  Scheduling RequestTyp e.OTHER_TH AN_NEXT_AV AILABLE_PA TIENT_REQU ESTED,
  115                    Type  = Appoint mentType.R EGULAR,
  116                    Book ingNotes =  "BookingN otes",
  117                    Desi redDate =  DateTime.P arse("2001 -12-31T12: 00:00"),
  118                    Prov iders = ne w Provider s
  119                    {
  120                         Provider =  new List< Provider>
  121                         {
  122                             new Pr ovider
  123                             {
  124                                 Na me = new P ersonName  { FirstNam e = "Docto rOneFirstN ame", Last Name = "Do ctorOneLas tName" },
  125                                 Id  = new Per sonIdentif ier { Assi gningAutho rity = "IE N", Unique Id = "1016 4" },
  126                                   ContactInf ormation =  new Conta ctInformat ion { Pref erredEmail  = " PII                  ", TimeZon e = 35 },
  127                                   VirtualMee tingRoom =  new Virtu alMeetingR oom { Conf erence = "
A I ", Pin = " AI ", Url = " http:// URL /vmr" },
  128                                 Lo cation = n ew Locatio n
  129                                 {
  130                                      Type = L ocationTyp e.VA,
  131                                      Facility  = new Fac ility {Sit eCode = "6 88", Name  = "Washing ton DC"},
  132                                      Clinic =  new Clini c {Ien = " IEN", Name  = "Doctor 's Office"  }
  133                                 }
  134                             },
  135                             new Pr ovider
  136                             {
  137                                 Na me = new P ersonName  { FirstNam e = "Docto rTwoFirstN ame", Last Name = "Do ctorTwoLas tName" },
  138                                 Id  = new Per sonIdentif ier { Assi gningAutho rity = "IE N", Unique Id = "1016 5" },
  139                                   ContactInf ormation =  new Conta ctInformat ion { Pref erredEmail  = " PII                  ", TimeZon e = 35 },
  140                                   VirtualMee tingRoom =  new Virtu alMeetingR oom { Conf erence = "
A I ", Pin = " AI ", Url = " http:// URL /vmr" },
  141                                 Lo cation = n ew Locatio n
  142                                 {
  143                                      Type = L ocationTyp e.VA,
  144                                      Facility  = new Fac ility {Sit eCode = "6 88", Name  = "Washing ton DC"},
  145                                      Clinic =  new Clini c {Ien = " IEN", Name  = "Doctor 's Office"  }
  146                                 }
  147                             }
  148                         }
  149                    }
  150                };
  151  
  152                var resu lt = Seria lizeIntanc e(appointm ent, new L ist<string > { "p" },
  153                    new  List<strin g> { "http s://staff. mobileheal th.va.gov/ vamf/video -visits/1. 0" });
  154  
  155                Validate Schema(@"C :\src\CVT- TSS\VA.TMP .Integrati on\VA.TMP. Integratio n.Schema.V ideoVisitS ervice",
  156                    new  List<strin g> { "http s://staff. mobileheal th.va.gov/ vamf/video -visits/1. 0" },
  157                    new  List<strin g> { "Appo intment.xs d" },
  158                    resu lt);
  159  
  160                Console. WriteLine( result);
  161           }
  162  
  163           pu blic stati c string S erializeIn tance<T>(T  examReque stContenti on, List<s tring> pre fixes, Lis t<string>  namespaces )
  164           {
  165                using (v ar stream  = new Memo ryStream() )
  166                {
  167                    var  serializer  = new Xml Serializer (typeof(T) );
  168  
  169                    var  ns = new X mlSerializ erNamespac es();
  170  
  171                    for  (var i = 0 ; i < pref ixes.Count ; i++)
  172                    {
  173                         ns.Add(pre fixes[i],  namespaces [i]);
  174                    }
  175  
  176                    seri alizer.Ser ialize(str eam, examR equestCont ention, ns );
  177                    retu rn Encodin g.ASCII.Ge tString(st ream.ToArr ay());
  178                }
  179           }
  180  
  181           pr ivate stat ic void Va lidateSche ma(string  schemaPath , List<str ing> names paces, Lis t<string>  schemaFile Names, str ing xml)
  182           {
  183                var sche mas = new  XmlSchemaS et();
  184  
  185  
  186                for (var  i = 0; i  < namespac es.Count;  i++)
  187                {
  188                    sche mas.Add(na mespaces[i ], Path.Co mbine(sche maPath, sc hemaFileNa mes[i]));
  189                }
  190  
  191                var exam StatusUpda teXml = XD ocument.Pa rse(xml);
  192                var sche maValidati onMessage  = string.E mpty;
  193                examStat usUpdateXm l.Validate (schemas,  (o, err) = > { schema Validation Message =  err.Messag e; });
  194  
  195                if (!str ing.IsNull OrEmpty(sc hemaValida tionMessag e))
  196                {
  197                    thro w new Exce ption(stri ng.Format( "Virtual M eeting Roo m Schema V alidation  Error: {0} ", schemaV alidationM essage));
  198                }
  199           }
  200       }
  201   }