1004. EPMO Open Source Coordination Office Redaction File Detail Report

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

1004.1 Files compared

# Location File Last Modified
1 ehmp.zip\ehmp\ehmp\product\tests\performance-tests\master_scripts\features\steps RESTAPI_load.rb Tue Dec 15 14:05:18 2015 UTC
2 ehmp.zip\ehmp\ehmp\product\tests\performance-tests\master_scripts\features\steps RESTAPI_load.rb Mon Oct 2 20:10:49 2017 UTC

1004.2 Comparison summary

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

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

1004.4 Active regular expressions

No regular expressions were active.

1004.5 Comparison detail

  1   require "a gilex-load gen"
  2  
  3  
  4   Given /^th at eVPR ha s ramped u p with tag  "([^"]*)"  to a load  of "([^"] *)" reques ts per sec ond after  "([^"]*)"  minutes an d continue s for "([^ "]*)" minu tes$/ do | tagStringB ase, typRe qRate, typ RampTime,  typDuratio n|
  5     
  6       #LoadG enerator.s etTestMode
  7       
  8       @Local ProjectRoo t = ENV["W ORKSPACE"]
  9       @Targe tEnvPath =  @LocalPro jectRoot +  "/infrast ructure/va grant/aws/ vista-exch ange"
  10  
  11       @Provi der = ENV[ 'PROVIDER' ]
  12       @SSHUs erid = ENV ['SSH_USER _ID']
  13       @Proje ctGemServe rURL = ENV ['GEM_SERV ER_URL']
  14       @Provi derBoxName  = ENV['PR OVIDER_BOX _NAME']
  15       @Provi derBoxURL  = ENV['PRO VIDER_BOX_ URL']
  16       @Vagra ntfileDir  = ENV['VAG RANTFILE_D IR']
  17       @Proje ctRepoURL  = ENV['PRO JECT_REPO_ URL']
  18       @Proje ctRepoFQDN  = ENV['PR OJECT_REPO _FQDN']
  19       @GitUs erid = ENV ['GIT_USER ID']
  20       @GitPa ssword = E NV['GIT_PA SSWORD']
  21       @EhmpI p = ENV['E HMP_IP']
  22       @VeApi Ip = ENV[' VE_API_IP' ]
  23       @JdsIp  = ENV['JD S_IP']
  24       
  25       @Targe tHostName  = 've-api'
  26       @typRe qRate = ty pReqRate
  27       @typRa mpTime = t ypRampTime
  28       @typDu ration = t ypDuration
  29       
  30       
  31       LoadGe nerator.se tResultsDi rectory (@ LocalProje ctRoot + " /product/t ests/perfo rmance-tes ts/results ")
  32  
  33       
  34       LoadGe nerator.re questType  :TypicalRe quest do
  35           #t ag "@perf. FHIRhttpar ty"
  36           ta g tagStrin gBase
  37           se tColor "da rkblue"  #  See http: //www.dece mber.com/h tml/spec/c olorsvg.ht ml
  38       end
  39       
  40       
  41       LoadGe nerator.di stribution  :TypicalD istributio n do
  42       
  43           le vel typReq Rate, typR ampTime  #  ramp up t o the requ est rate.
  44           le vel typReq Rate, typD uration  #  keep the  base load  going unti l the end  of the tes t.
  45       end
  46           
  47       
  48       LoadGe nerator.pr ofile :Typ icalProfil e do
  49  
  50           se tRequestTy pe :Typica lRequest
  51           se tDistribut ion :Typic alDistribu tion
  52       end
  53           
  54   end
  55           
  56           
  57   When /^for  test "([^ "]*)" with  tag "([^" ]*)" the l oad is inc reased by  "([^"]*)"  requests p er second  after "([^ "]*)" minu tes for "( [^"]*)" mi nutes$/ do  |testRunN ame, tagSt ringSpike,  spikeReqR ate, spike Delay, spi keDuration |
  58  
  59       @spike Duration =  spikeDura tion
  60  
  61       LoadGe nerator.re questType  :SpikeRequ est do
  62           #t ag "@perf. FHIRhttpar ty"
  63           ta g tagStrin gSpike
  64           se tColor "fo restgreen"
  65       end
  66       
  67       
  68       LoadGe nerator.di stribution  :SpikeDis tribution  do
  69       
  70           le vel 0.0, s pikeDelay
  71           le vel spikeR eqRate, 0. 01
  72           le vel spikeR eqRate, sp ikeDuratio n
  73           le vel 0.0, 0 .01
  74       end
  75           
  76           
  77       LoadGe nerator.pr ofile :Spi keProfile  do
  78       
  79           se tRequestTy pe :SpikeR equest
  80           se tDistribut ion :Spike Distributi on
  81       end
  82       
  83       
  84       Provid erBoxName  = @Provide rBoxName
  85       Provid erBoxURL =  @Provider BoxURL
  86       Vagran tfileDir =  @Vagrantf ileDir
  87       
  88       
  89       LoadGe nerator.dy namicProvi der :awsco nf do
  90           se tProviderN ame :aws
  91           #s etProvider BoxName Pr oviderBoxN ame
  92           #s etProvider BoxURL Pro viderBoxUR L
  93       end
  94       
  95  
  96       SSHUse rid = @SSH Userid
  97       LoadGe nerator.st aticProvid er :vbmcon f do
  98           se tProviderN ame :manag ed
  99           se tUserid SS HUserid
  100           #s etProvider BoxName Pr oviderBoxN ame
  101           #s etProvider BoxURL Pro viderBoxUR L
  102           se tVagrantfi leDir Vagr antfileDir
  103             node 'test _client_1' , ' IP           '
  104             node 'test _client_2' , ' IP           '
  105       end
  106  
  107  
  108       Provid er = @Prov ider
  109       
  110       Target EnvPath =  @TargetEnv Path
  111       Projec tGemServer URL = @Pro jectGemSer verURL
  112       LocalP rojectRoot  = @LocalP rojectRoot
  113       Projec tRepoURL =  @ProjectR epoURL
  114       Projec tRepoFQDN  = @Project RepoFQDN
  115       GitUse rid = @Git Userid
  116       GitPas sword = @G itPassword
  117       EhmpIp  = @EhmpIp
  118       VeApiI p = @VeApi Ip
  119       JdsIp  = @JdsIp
  120       
  121       
  122       @tr =  LoadGenera tor.testRu n testRunN ame do
  123       
  124           #  Select the  environme nt.
  125           se tProviderC onfig Prov ider
  126           
  127           #  Set env va riables ne eded by th e tests.
  128           de fineEnvVar iable "EHM P_IP", Ehm pIp
  129           de fineEnvVar iable "VE_ API_IP", V eApiIp
  130           de fineEnvVar iable "JDS _IP", JdsI p
  131           
  132           #  Set parame ters for t he project  repo.
  133           se tProjectGe mServerURL  ProjectGe mServerURL
  134           se tLocalProj ectRoot Lo calProject Root
  135           se tProjectNa me "vistac ore"
  136           se tProjectRe poName "eh mp"
  137           se tProjectRe poURL Proj ectRepoURL
  138           se tProjectRe poFQDN Pro jectRepoFQ DN
  139           se tGitUserid  GitUserid
  140           se tGitPasswo rd GitPass word
  141           
  142           #  Specify wh ich tests  to run.
  143           #  The featur es directo ry is rela tive to th e local pr oject root .
  144           #  If feature s are NOT  specified,  then the  whole dire ctory will  be run.
  145           #  If feature s ARE spec ified, the n only tho se will be  run.
  146           se tFeaturesD irectory " product/te sts/perfor mance-test s/client-t ests/featu res"
  147           fe ature "per f.ehmp_RES T.feature"
  148           
  149           #  Select loa d profiles .
  150           us eProfile : TypicalPro file
  151           us eProfile : SpikeProfi le
  152           
  153           #  Draw graph s for thes e events.
  154           #g raphAllEve nts
  155           gr aphEvent " fhir_adver sereaction "
  156           gr aphEvent " fhir_diagn osticRepor t"
  157           gr aphEvent " fhir_obser vation"
  158           gr aphEvent " fhir_patie nt"
  159           gr aphEvent " fhir_Medic ationState ment"
  160           gr aphEvent " fhir_Medic ationAdmin istration"
  161           gr aphEvent " fhir_Medic ationDispe nse"
  162           gr aphEvent " fhir_rad"
  163           gr aphEvent " vpr_allerg y"
  164           gr aphEvent " vpr_vital"
  165           gr aphEvent " vpr_patien t"
  166           gr aphEvent " vpr_search "
  167           gr aphEvent " vpr_search _RecordTyp esummary"
  168           gr aphEvent " vpr_search _Med"
  169           gr aphEvent " vpr_lab"
  170           gr aphEvent " vpr_med"
  171           gr aphEvent " vpr_docume nt"
  172           gr aphEvent " vpr_rad"
  173           gr aphEvent " vpr_order"
  174           gr aphEvent " vpr_access ion"
  175           gr aphEvent " vpr_immuni zation"
  176           gr aphEvent " vpr_consul t"
  177           gr aphEvent " hdr_appoin tment"
  178           gr aphEvent " hdr_consul t"
  179           gr aphEvent " hdr_cpt"
  180           gr aphEvent " hdr_docume nt"
  181           gr aphEvent " hdr_educat ion"
  182           gr aphEvent " hdr_exams"
  183           gr aphEvent " hdr_factor "
  184           gr aphEvent " hdr_image"
  185           gr aphEvent " hdr_immuni zation"
  186           gr aphEvent " hdr_mental health"
  187           gr aphEvent " hdr_order"
  188           gr aphEvent " hdr_pointo fvisits"
  189           gr aphEvent " hdr_proble m"
  190           gr aphEvent " hdr_proced ure"
  191           gr aphEvent " hdr_skin"
  192           gr aphEvent " hdr_surger y"
  193           gr aphEvent " hdr_visit"
  194           gr aphEvent " DoD_MedVie wDef"
  195           gr aphEvent " DoD_NotesU nfilteredV iewDef"
  196           gr aphEvent " DoD_Proble mViewDef"
  197           
  198           #  Select how  many test  client no des to use .
  199           if  Provider  != 'spconf ' then
  200                setNoOfN odes 2
  201           en d
  202           
  203           #r euseNodes   # re-prov ision exis ting nodes  if presen t.
  204           ke epNodes  #  do not de stroy node s at the e nd.
  205       end
  206           
  207       $stder r.puts "Ab out to sta rt test ru n..."
  208       @tr.st art
  209       $stder r.puts "Co mpleted te st run"
  210           
  211   end
  212  
  213  
  214   Then /^at  "([^"]*)"  minutes af ter the sp ike ends,  the system  response  time still  averages  less than  "([^"]*)"  seconds fo r cached p atients$/  do |delay,  avgRespTi me|
  215  
  216       puts " Statistics :"
  217  
  218       puts " \tfhir_adv ersereacti on: #{@tr. getStats(" fhir_adver sereaction ", "Typica lRequest",  "SpikeReq uest")}"
  219       puts " \tfhir_dia gnosticRep ort: #{@tr .getStats( "fhir_diag nosticRepo rt", "Typi calRequest ", "SpikeR equest")}"
  220       puts " \tfhir_obs ervation:  #{@tr.getS tats("fhir _observati on", "Typi calRequest ", "SpikeR equest")}"
  221       puts " \tfhir_pat ient: #{@t r.getStats ("fhir_pat ient", "Ty picalReque st", "Spik eRequest") }"        
  222       puts " \tfhir_Med icationSta tement: #{ @tr.getSta ts("fhir_M edicationS tatement",  "TypicalR equest", " SpikeReque st")}"
  223       puts " \tfhir_Med icationAdm inistratio n: #{@tr.g etStats("f hir_Medica tionAdmini stration",  "TypicalR equest", " SpikeReque st")}"
  224       puts " \tfhir_Med icationDis pense: #{@ tr.getStat s("fhir_Me dicationDi spense", " TypicalReq uest", "Sp ikeRequest ")}"
  225       puts " \tfhir_rad : #{@tr.ge tStats("fh ir_rad", " TypicalReq uest", "Sp ikeRequest ")}"
  226       puts " \tvpr_alle rgy: #{@tr .getStats( "vpr_aller gy", "Typi calRequest ", "SpikeR equest")}"
  227       puts " \tvpr_vita l: #{@tr.g etStats("v pr_vital",  "TypicalR equest", " SpikeReque st")}"
  228       puts " \tvpr_pati ent: #{@tr .getStats( "vpr_patie nt", "Typi calRequest ", "SpikeR equest")}"
  229       puts " \tvpr_sear ch: #{@tr. getStats(" vpr_search ", "Typica lRequest",  "SpikeReq uest")}"     
  230       puts " \tvpr_sear ch_RecordT ypesummary : #{@tr.ge tStats("vp r_search_R ecordTypes ummary", " TypicalReq uest", "Sp ikeRequest ")}"
  231       puts " \tvpr_sear ch_Med: #{ @tr.getSta ts("vpr_se arch_Med",  "TypicalR equest", " SpikeReque st")}"
  232       puts " \tvpr_lab:  #{@tr.get Stats("vpr _lab", "Ty picalReque st", "Spik eRequest") }"
  233       puts " \tvpr_prob lem: #{@tr .getStats( "vpr_probl em", "Typi calRequest ", "SpikeR equest")}"     
  234       puts " \tvpr_med:  #{@tr.get Stats("vpr _med", "Ty picalReque st", "Spik eRequest") }"
  235       puts " \tvpr_docu ment: #{@t r.getStats ("vpr_docu ment", "Ty picalReque st", "Spik eRequest") }"  
  236       puts " \tvpr_rad:  #{@tr.get Stats("vpr _rad", "Ty picalReque st", "Spik eRequest") }"
  237       puts " \tvpr_orde r: #{@tr.g etStats("v pr_order",  "TypicalR equest", " SpikeReque st")}"  
  238       puts " \tvpr_acce ssion: #{@ tr.getStat s("vpr_acc ession", " TypicalReq uest", "Sp ikeRequest ")}"  
  239       puts " \tvpr_immu nization:  #{@tr.getS tats("vpr_ immunizati on", "Typi calRequest ", "SpikeR equest")}"   
  240       puts " \tvpr_cons ult: #{@tr .getStats( "vpr_consu lt", "Typi calRequest ", "SpikeR equest")}"  
  241       puts " \thdr_appo intment: # {@tr.getSt ats("hdr_a ppointment ", "Typica lRequest",  "SpikeReq uest")}" 
  242       puts " \thdr_cons ult: #{@tr .getStats( "hdr_consu lt", "Typi calRequest ", "SpikeR equest")}"  
  243       puts " \thdr_cpt:  #{@tr.get Stats("hdr _cpt", "Ty picalReque st", "Spik eRequest") }" 
  244       puts " \thdr_docu ment: #{@t r.getStats ("hdr_docu ment", "Ty picalReque st", "Spik eRequest") }" 
  245       puts " \thdr_educ ation: #{@ tr.getStat s("hdr_edu cation", " TypicalReq uest", "Sp ikeRequest ")}" 
  246       puts " \thdr_exam s: #{@tr.g etStats("h dr_exams",  "TypicalR equest", " SpikeReque st")}" 
  247       puts " \thdr_fact or: #{@tr. getStats(" hdr_factor ", "Typica lRequest",  "SpikeReq uest")}"      
  248       puts " \thdr_imag e: #{@tr.g etStats("h dr_image",  "TypicalR equest", " SpikeReque st")}" 
  249       puts " \thdr_immu nization:  #{@tr.getS tats("hdr_ immunizati on", "Typi calRequest ", "SpikeR equest")}"  
  250       puts " \thdr_ment alhealth:  #{@tr.getS tats("hdr_ mentalheal th", "Typi calRequest ", "SpikeR equest")}"  
  251       puts " \thdr_orde r: #{@tr.g etStats("h dr_order",  "TypicalR equest", " SpikeReque st")}" 
  252       puts " \thdr_poin tofvisits:  #{@tr.get Stats("hdr _pointofvi sits", "Ty picalReque st", "Spik eRequest") }" 
  253       puts " \thdr_prob lem: #{@tr .getStats( "hdr_probl em", "Typi calRequest ", "SpikeR equest")}"  
  254       puts " \thdr_proc edure: #{@ tr.getStat s("hdr_pro cedure", " TypicalReq uest", "Sp ikeRequest ")}" 
  255       puts " \thdr_skin : #{@tr.ge tStats("hd r_skin", " TypicalReq uest", "Sp ikeRequest ")}" 
  256       puts " \thdr_surg ery: #{@tr .getStats( "hdr_surge ry", "Typi calRequest ", "SpikeR equest")}"  
  257       puts " \thdr_visi t: #{@tr.g etStats("h dr_visit",  "TypicalR equest", " SpikeReque st")}" 
  258       puts " \tDoD_MedV iewDef: #{ @tr.getSta ts("DoD_Me dViewDef",  "TypicalR equest", " SpikeReque st")}"
  259       puts " \tDoD_Note sUnfiltere dViewDef:  #{@tr.getS tats("DoD_ NotesUnfil teredViewD ef", "Typi calRequest ", "SpikeR equest")}"   
  260       puts " \tDoD_Prob lemViewDef : #{@tr.ge tStats("Do D_ProblemV iewDef", " TypicalReq uest", "Sp ikeRequest ")}"
  261  
  262       puts
  263       
  264       actual Avg_fhir_a dversereac tion = @tr .avgRespon seTimeAfte r(@typDura tion + @sp ikeDuratio n + delay,  "fhir_adv ersereacti on", "Typi calRequest ")
  265       actual Avg_fhir_d iagnosticR eport = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "fhir_di agnosticRe port", "Ty picalReque st")
  266       actual Avg_fhir_o bservation  = @tr.avg ResponseTi meAfter(@t ypDuration  + @spikeD uration +  delay, "fh ir_observa tion", "Ty picalReque st")         
  267       actual Avg_fhir_p atient = @ tr.avgResp onseTimeAf ter(@typDu ration + @ spikeDurat ion + dela y, "fhir_p atient", " TypicalReq uest")
  268       actual Avg_fhir_M edicationS tatement =  @tr.avgRe sponseTime After(@typ Duration +  @spikeDur ation + de lay, "fhir _Medicatio nStatement ", "Typica lRequest")
  269       actual Avg_fhir_M edicationA dministrat ion = @tr. avgRespons eTimeAfter (@typDurat ion + @spi keDuration  + delay,  "fhir_Medi cationAdmi nistration ", "Typica lRequest")
  270       actual Avg_fhir_M edicationD ispense =  @tr.avgRes ponseTimeA fter(@typD uration +  @spikeDura tion + del ay, "fhir_ Medication Dispense",  "TypicalR equest")
  271       actual Avg_fhir_r ad = @tr.a vgResponse TimeAfter( @typDurati on + @spik eDuration  + delay, " fhir_rad",  "TypicalR equest")
  272       actual Avg_vpr_al lergy = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "vpr_all ergy", "Ty picalReque st")
  273       actual Avg_vpr_vi tal = @tr. avgRespons eTimeAfter (@typDurat ion + @spi keDuration  + delay,  "vpr_vital ", "Typica lRequest")
  274       actual Avg_vpr_pa tient = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "vpr_pat ient", "Ty picalReque st")
  275       actual Avg_vpr_se arch = @tr .avgRespon seTimeAfte r(@typDura tion + @sp ikeDuratio n + delay,  "vpr_sear ch", "Typi calRequest ")
  276       actual Avg_vpr_se arch_Recor dTypesumma ry = @tr.a vgResponse TimeAfter( @typDurati on + @spik eDuration  + delay, " vpr_search _RecordTyp esummary",  "TypicalR equest")
  277       actual Avg_vpr_se arch_Med =  @tr.avgRe sponseTime After(@typ Duration +  @spikeDur ation + de lay, "vpr_ search_Med ", "Typica lRequest")
  278       actual Avg_vpr_la b = @tr.av gResponseT imeAfter(@ typDuratio n + @spike Duration +  delay, "v pr_lab", " TypicalReq uest") 
  279       actual Avg_vpr_pr oblem = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "vpr_pro blem", "Ty picalReque st")
  280       actual Avg_vpr_me d = @tr.av gResponseT imeAfter(@ typDuratio n + @spike Duration +  delay, "v pr_med", " TypicalReq uest")
  281       actual Avg_vpr_do cument = @ tr.avgResp onseTimeAf ter(@typDu ration + @ spikeDurat ion + dela y, "vpr_do cument", " TypicalReq uest")
  282       actual Avg_vpr_ra d = @tr.av gResponseT imeAfter(@ typDuratio n + @spike Duration +  delay, "v pr_rad", " TypicalReq uest")
  283       actual Avg_vpr_or der = @tr. avgRespons eTimeAfter (@typDurat ion + @spi keDuration  + delay,  "vpr_order ", "Typica lRequest")
  284       actual Avg_vpr_ac cession =  @tr.avgRes ponseTimeA fter(@typD uration +  @spikeDura tion + del ay, "vpr_a ccession",  "TypicalR equest")
  285       actual Avg_vpr_im munization  = @tr.avg ResponseTi meAfter(@t ypDuration  + @spikeD uration +  delay, "vp r_immuniza tion", "Ty picalReque st")
  286       actual Avg_vpr_co nsult = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "vpr_con sult", "Ty picalReque st") 
  287       actual Avg_hdr_ap pointment  = @tr.avgR esponseTim eAfter(@ty pDuration  + @spikeDu ration + d elay, "hdr _appointme nt", "Typi calRequest ") 
  288       actual Avg_hdr_co nsult = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "hdr_con sult", "Ty picalReque st") 
  289       actual Avg_hdr_cp t = @tr.av gResponseT imeAfter(@ typDuratio n + @spike Duration +  delay, "h dr_cpt", " TypicalReq uest") 
  290       actual Avg_hdr_do cument = @ tr.avgResp onseTimeAf ter(@typDu ration + @ spikeDurat ion + dela y, "hdr_do cument", " TypicalReq uest") 
  291       actual Avg_hdr_ed ucation =  @tr.avgRes ponseTimeA fter(@typD uration +  @spikeDura tion + del ay, "hdr_e ducation",  "TypicalR equest") 
  292       actual Avg_hdr_ex ams = @tr. avgRespons eTimeAfter (@typDurat ion + @spi keDuration  + delay,  "hdr_exams ", "Typica lRequest")  
  293       actual Avg_hdr_fa ctor = @tr .avgRespon seTimeAfte r(@typDura tion + @sp ikeDuratio n + delay,  "hdr_fact or", "Typi calRequest ") 
  294       actual Avg_hdr_im age = @tr. avgRespons eTimeAfter (@typDurat ion + @spi keDuration  + delay,  "hdr_image ", "Typica lRequest")  
  295       actual Avg_hdr_im munization  = @tr.avg ResponseTi meAfter(@t ypDuration  + @spikeD uration +  delay, "hd r_immuniza tion", "Ty picalReque st") 
  296       actual Avg_hdr_me ntalhealth  = @tr.avg ResponseTi meAfter(@t ypDuration  + @spikeD uration +  delay, "hd r_mentalhe alth", "Ty picalReque st") 
  297       actual Avg_hdr_or der = @tr. avgRespons eTimeAfter (@typDurat ion + @spi keDuration  + delay,  "hdr_order ", "Typica lRequest")  
  298       actual Avg_hdr_po intofvisit s = @tr.av gResponseT imeAfter(@ typDuratio n + @spike Duration +  delay, "h dr_pointof visits", " TypicalReq uest") 
  299       actual Avg_hdr_pr oblem = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "hdr_pro blem", "Ty picalReque st") 
  300       actual Avg_hdr_pr ocedure =  @tr.avgRes ponseTimeA fter(@typD uration +  @spikeDura tion + del ay, "hdr_p rocedure",  "TypicalR equest") 
  301       actual Avg_hdr_sk in = @tr.a vgResponse TimeAfter( @typDurati on + @spik eDuration  + delay, " hdr_skin",  "TypicalR equest") 
  302       actual Avg_hdr_su rgery = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "hdr_sur gery", "Ty picalReque st") 
  303       actual Avg_hdr_vi sit = @tr. avgRespons eTimeAfter (@typDurat ion + @spi keDuration  + delay,  "hdr_visit ", "Typica lRequest")                         
  304       actual Avg_DoD_Me dViewDef =  @tr.avgRe sponseTime After(@typ Duration +  @spikeDur ation + de lay, "DoD_ MedViewDef ", "Typica lRequest")
  305       actual Avg_DoD_No tesUnfilte redViewDef  = @tr.avg ResponseTi meAfter(@t ypDuration  + @spikeD uration +  delay, "Do D_NotesUnf ilteredVie wDef", "Ty picalReque st")
  306       actual Avg_DoD_Pr oblemViewD ef = @tr.a vgResponse TimeAfter( @typDurati on + @spik eDuration  + delay, " DoD_Proble mViewDef",  "TypicalR equest")
  307  
  308       module  TestResul t
  309         def  TestResult .result(re sult)
  310           @@ results || = Array.ne w
  311           if  result ==  "show"
  312              @@results. inspect
  313           el se
  314              @@results  << result
  315           en d
  316         end
  317       end
  318  
  319       if act ualAvg_fhi r_adverser eaction >=  avgRespTi me.to_f th en TestRes ult.result  "failed"  else TestR esult.resu lt "passed " end
  320       if act ualAvg_fhi r_diagnost icReport > = avgRespT ime.to_f t hen TestRe sult.resul t "failed"  else Test Result.res ult "passe d" end
  321       if act ualAvg_fhi r_observat ion >= avg RespTime.t o_f then T estResult. result "fa iled" else  TestResul t.result " passed" en d
  322       if act ualAvg_fhi r_patient  >= avgResp Time.to_f  then TestR esult.resu lt "failed " else Tes tResult.re sult "pass ed" end
  323       if act ualAvg_fhi r_Medicati onStatemen t >= avgRe spTime.to_ f then Tes tResult.re sult "fail ed" else T estResult. result "pa ssed" end
  324       if act ualAvg_fhi r_Medicati onAdminist ration >=  avgRespTim e.to_f the n TestResu lt.result  "failed" e lse TestRe sult.resul t "passed"  end
  325       if act ualAvg_fhi r_Medicati onDispense  >= avgRes pTime.to_f  then Test Result.res ult "faile d" else Te stResult.r esult "pas sed" end
  326       if act ualAvg_fhi r_rad >= a vgRespTime .to_f then  TestResul t.result " failed" el se TestRes ult.result  "passed"  end
  327       if act ualAvg_vpr _allergy > = avgRespT ime.to_f t hen TestRe sult.resul t "failed"  else Test Result.res ult "passe d" end
  328       if act ualAvg_vpr _vital >=  avgRespTim e.to_f the n TestResu lt.result  "failed" e lse TestRe sult.resul t "passed"  end
  329       if act ualAvg_vpr _patient > = avgRespT ime.to_f t hen TestRe sult.resul t "failed"  else Test Result.res ult "passe d" end
  330       if act ualAvg_vpr _search >=  avgRespTi me.to_f th en TestRes ult.result  "failed"  else TestR esult.resu lt "passed " end
  331       if act ualAvg_vpr _search_Re cordTypesu mmary >= a vgRespTime .to_f then  TestResul t.result " failed" el se TestRes ult.result  "passed"  end
  332       if act ualAvg_vpr _search_Me d >= avgRe spTime.to_ f then Tes tResult.re sult "fail ed" else T estResult. result "pa ssed" end
  333       if act ualAvg_vpr _lab >= av gRespTime. to_f then  TestResult .result "f ailed" els e TestResu lt.result  "passed" e nd
  334       if act ualAvg_vpr _problem > = avgRespT ime.to_f t hen TestRe sult.resul t "failed"  else Test Result.res ult "passe d" end
  335       if act ualAvg_vpr _med >= av gRespTime. to_f then  TestResult .result "f ailed" els e TestResu lt.result  "passed" e nd
  336       if act ualAvg_vpr _document  >= avgResp Time.to_f  then TestR esult.resu lt "failed " else Tes tResult.re sult "pass ed" end
  337       if act ualAvg_vpr _rad >= av gRespTime. to_f then  TestResult .result "f ailed" els e TestResu lt.result  "passed" e nd
  338       if act ualAvg_vpr _order >=  avgRespTim e.to_f the n TestResu lt.result  "failed" e lse TestRe sult.resul t "passed"  end
  339       if act ualAvg_vpr _accession  >= avgRes pTime.to_f  then Test Result.res ult "faile d" else Te stResult.r esult "pas sed" end
  340       if act ualAvg_vpr _immunizat ion >= avg RespTime.t o_f then T estResult. result "fa iled" else  TestResul t.result " passed" en d
  341       if act ualAvg_vpr _consult > = avgRespT ime.to_f t hen TestRe sult.resul t "failed"  else Test Result.res ult "passe d" end
  342       if act ualAvg_hdr _appointme nt >= avgR espTime.to _f then Te stResult.r esult "fai led" else  TestResult .result "p assed" end
  343       if act ualAvg_hdr _consult > = avgRespT ime.to_f t hen TestRe sult.resul t "failed"  else Test Result.res ult "passe d" end         
  344       if act ualAvg_hdr _cpt >= av gRespTime. to_f then  TestResult .result "f ailed" els e TestResu lt.result  "passed" e nd
  345       if act ualAvg_hdr _document  >= avgResp Time.to_f  then TestR esult.resu lt "failed " else Tes tResult.re sult "pass ed" end
  346       if act ualAvg_hdr _education  >= avgRes pTime.to_f  then Test Result.res ult "faile d" else Te stResult.r esult "pas sed" end         
  347       if act ualAvg_hdr _exams >=  avgRespTim e.to_f the n TestResu lt.result  "failed" e lse TestRe sult.resul t "passed"  end
  348       if act ualAvg_hdr _factor >=  avgRespTi me.to_f th en TestRes ult.result  "failed"  else TestR esult.resu lt "passed " end
  349       if act ualAvg_hdr _image >=  avgRespTim e.to_f the n TestResu lt.result  "failed" e lse TestRe sult.resul t "passed"  end         
  350       if act ualAvg_hdr _immunizat ion >= avg RespTime.t o_f then T estResult. result "fa iled" else  TestResul t.result " passed" en d
  351       if act ualAvg_hdr _mentalhea lth >= avg RespTime.t o_f then T estResult. result "fa iled" else  TestResul t.result " passed" en d
  352       if act ualAvg_hdr _order >=  avgRespTim e.to_f the n TestResu lt.result  "failed" e lse TestRe sult.resul t "passed"  end         
  353       if act ualAvg_hdr _pointofvi sits >= av gRespTime. to_f then  TestResult .result "f ailed" els e TestResu lt.result  "passed" e nd
  354       if act ualAvg_hdr _problem > = avgRespT ime.to_f t hen TestRe sult.resul t "failed"  else Test Result.res ult "passe d" end
  355       if act ualAvg_hdr _procedure  >= avgRes pTime.to_f  then Test Result.res ult "faile d" else Te stResult.r esult "pas sed" end         
  356       if act ualAvg_hdr _skin >= a vgRespTime .to_f then  TestResul t.result " failed" el se TestRes ult.result  "passed"  end
  357       if act ualAvg_hdr _surgery > = avgRespT ime.to_f t hen TestRe sult.resul t "failed"  else Test Result.res ult "passe d" end
  358       if act ualAvg_hdr _visit >=  avgRespTim e.to_f the n TestResu lt.result  "failed" e lse TestRe sult.resul t "passed"  end 
  359       if act ualAvg_DoD _MedViewDe f >= avgRe spTime.to_ f then Tes tResult.re sult "fail ed" else T estResult. result "pa ssed" end
  360       if act ualAvg_DoD _NotesUnfi lteredView Def >= avg RespTime.t o_f then T estResult. result "fa iled" else  TestResul t.result " passed" en d
  361       if act ualAvg_DoD _ProblemVi ewDef >= a vgRespTime .to_f then  TestResul t.result " failed" el se TestRes ult.result  "passed"  end
  362  
  363       #puts  TestResult .result 's how' 
  364       scenar ioResultLi st = TestR esult.resu lt 'show'
  365  
  366       if sce narioResul tList.incl ude? 'fail ed'  
  367           ra ise p "Tes t failed"
  368       else 
  369           p  "Test pass ed"
  370       end
  371   end