package Ġorg . v accine impact . api . black box Tests . tests . Bur den Est im ates Ċ Ċ import Ġcom . sun . org . apache . xpath . internal . operations . Bool Ċ import Ġorg . v accine impact . api . black box Tests . helpers .* Ċ import Ġorg . v accine impact . api . db . J oo q Context Ċ import Ġorg . v accine impact . api . db . direct .* Ċ import Ġorg . v accine impact . api . models . Outcome Ċ import Ġorg . v accine impact . api . models . permissions . Permission Set Ċ import Ġorg . v accine impact . api . test _ helpers . Database Test Ċ import Ġorg . v accine impact . api . validate Schema . JSON Validator ĊĊ Ċ abstract Ġclass ĠBur den Estimate Tests Ġ: ĠDatabase Test () Ċ { ĊĠĠĠ Ġprotected Ġval ĠgroupId Ġ= Ġ" group - 1 " ĊĠĠĠ Ġprotected Ġval Ġtouch stone Version Id Ġ= Ġ" touch stone - 1 " ĊĠĠĠ Ġprotected Ġval Ġscenario Id Ġ= Ġ" scenario - 1 " ĊĠĠĠ Ġprotected Ġval Ġgroup Scope Ġ= Ġ" mode lling - group :$ groupId " ĊĠĠĠ Ġprotected Ġval Ġurl Base Ġ= Ġ"/ mode lling - groups /$ groupId / respons ibilities /$ touch stone Version Id /$ scenario Id " ĊĠĠĠ Ġprotected Ġval Ġset Url Ġ= Ġ"$ url Base / estimate - sets /" ĊĠĠĠ Ġprotected Ġval Ġrequired Write Permissions Ġ= ĠPermission Set ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ group Scope / estim ates . write ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ group Scope / respons ibilities . read " ĊĠĠĠ Ġ) ĊĠĠĠ Ġprotected Ġval Ġdisease Id Ġ= Ġ" H ib 3 " ĊĠĠĠ Ġprotected Ġval Ġdisease Name Ġ= Ġ" H ib 3 ĠName " ĊĠĠĠ Ġprotected Ġval Ġusername Ġ= Ġ" some . user " ĊĊĠĠĠ Ġprotected Ġfun ĠsetUp ( db : ĠJ oo q Context ): ĠReturned Ids ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . add Touch stone Version (" touch stone ", Ġ 1 , Ġ" Touch stone Ġ 1 ", Ġadd Touch stone Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġdb . add D isease ( d isease Id , Ġdisease Name ) ĊĠĠĠĠĠĠĠ Ġdb . add Scenario Description ( scenario Id , Ġ" Test Ġscenario ", Ġ" H ib 3 ", Ġadd D isease Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġdb . addGroup ( groupId , Ġ" Test Ġgroup ") ĊĠĠĠĠĠĠĠ Ġdb . add Model (" model - 1 ", ĠgroupId , Ġdisease Id ) ĊĠĠĠĠĠĠĠ Ġval Ġmodel Version Id Ġ= Ġdb . add Model Version (" model - 1 ", Ġ" version - 1 ", ĠsetCurrent Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval ĠsetId Ġ= Ġdb . add Respons ibility Set ( groupId , Ġtouch stone Version Id ) ĊĠĠĠĠĠĠĠ Ġval Ġresponsibility Id Ġ= Ġdb . add Respons ibility ( setId , Ġtouch stone Version Id , Ġscenario Id ) ĊĠĠĠĠĠĠĠ Ġreturn ĠReturned Ids ( respons ibility Id , Ġmodel Version Id , ĠsetId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun ĠsetUp With Bur den Estimate Set ( db : ĠJ oo q Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetId : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus : ĠString Ġ= Ġ" empty ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Outcome s : ĠList < Outcome > Ġ= ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Type : ĠString Ġ= Ġ" central - single - run ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyear Min Inclusive : ĠShort Ġ= Ġ 1 9 9 6 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyear Max Inclusive : ĠShort Ġ= Ġ 1 9 9 7 ): ĠInt ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreturned Ids Ġ= ĠsetUp ( db ) ĊĠĠĠĠĠĠĠ ĠTest User Helper . setup Test User () ĊĊĠĠĠĠĠĠĠ Ġdb . add Expectations ( returned Ids . respons ibility Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġage Max Inclusive Ġ= Ġ 5 0 , Ġage Min Inclusive Ġ= Ġ 5 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyear Min Inclusive Ġ= Ġyear Min Inclusive , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyear Max Inclusive Ġ= Ġyear Max Inclusive , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcountries Ġ= ĠlistOf (" AF G ", Ġ" AG O "), Ġoutcomes Ġ= Ġexpected Outcome s ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdb . add Bur den Estimate Set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturned Ids . respons ibility Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturned Ids . model Version Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest User Helper . username , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġstatus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetId Ġ= ĠsetId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Type Ġ= Ġset Type ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun ĠsetUp With Sto chastic Bur den Estimate Set ( db : ĠJ oo q Context ): ĠInt ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġids Ġ= ĠsetUp ( db ) ĊĠĠĠĠĠĠĠ Ġval Ġparameter SetId Ġ= Ġdb . add Model Run ParameterSet ( ids . respons ibility SetId , Ġids . model Version Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest User Helper . username ) ĊĠĠĠĠĠĠĠ Ġdb . add Model Run ( parameter SetId , Ġ" A ") ĊĠĠĠĠĠĠĠ Ġdb . add Model Run ( parameter SetId , Ġ" B ") ĊĠĠĠĠĠĠĠ Ġdb . add Expectations ( ids . respons ibility Id , Ġyear Min Inclusive Ġ= Ġ 1 9 9 6 , Ġyear Max Inclusive Ġ= Ġ 1 9 9 7 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġage Max Inclusive Ġ= Ġ 5 0 , Ġage Min Inclusive Ġ= Ġ 5 0 , Ġcountries Ġ= ĠlistOf (" AF G ", Ġ" AG O ")) ĊĠĠĠĠĠĠĠ Ġreturn Ġdb . add Bur den Estimate Set ( ids . respons ibility Id , Ġids . model Version Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest User Helper . username , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Type Ġ= Ġ" sto chastic ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Run Parameter SetId Ġ= Ġparameter SetId ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun ĠsetUp With Model Run ParameterSet ( db : ĠJ oo q Context ): ĠInt ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreturned Ids Ġ= ĠsetUp ( db ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdb . add Model Run ParameterSet ( returned Ids . respons ibility SetId , Ġreturned Ids . model Version Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest User Helper . username ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprotected Ġfun Ġsetup Database With Model Run ParameterSet Values ( db : ĠJ oo q Context ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreturned Ids Ġ= ĠsetUp ( db ) ĊĊĠĠĠĠĠĠĠ Ġval Ġparams SetId Ġ= Ġdb . add Model Run ParameterSet ( returned Ids . respons ibility SetId , Ġreturned Ids . model Version Id , Ġusername ) ĊĠĠĠĠĠĠĠ Ġval Ġmodel Run Id Ġ= Ġdb . add Model Run ( params SetId , Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġmodel Run Id 2 Ġ= Ġdb . add Model Run ( params SetId , Ġ" 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġmodel Run Parameter Id 1 Ġ= Ġdb . add Model Run Parameter ( params SetId , Ġ"< param _ 1 >") ĊĠĠĠĠĠĠĠ Ġval Ġmodel Run Parameter Id 2 Ġ= Ġdb . add Model Run Parameter ( params SetId , Ġ"< param _ 2 >") ĊĠĠĠĠĠĠĠ Ġdb . add Model Run Parameter Value ( model Run Id , Ġmodel Run Parameter Id 1 , Ġ" aa ") ĊĠĠĠĠĠĠĠ Ġdb . add Model Run Parameter Value ( model Run Id , Ġmodel Run Parameter Id 2 , Ġ" bb ") ĊĠĠĠĠĠĠĠ Ġdb . add Model Run Parameter Value ( model Run Id 2 , Ġmodel Run Parameter Id 1 , Ġ" cc ") ĊĠĠĠĠĠĠĠ Ġdb . add Model Run Parameter Value ( model Run Id 2 , Ġmodel Run Parameter Id 2 , Ġ" dd ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġget Populate One Time URL ( setId : ĠInt , Ġredirect : ĠBoolean Ġ= Ġfalse , Ġkeep Open : ĠBoolean Ġ= Ġtrue ): ĠString ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġ"$ set Url /$ setId /? keep Open =${ keep Open }" ĊĠĠĠĠĠĠĠ Ġif Ġ( redirect ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ+= Ġ"& redirect Result To = http :// localhost /" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= ĠTest User Helper . getToken ( required Write Permissions . plus ( Permission Set (" */ can - login "))) ĊĠĠĠĠĠĠĠ Ġval Ġone Time Token Ġ= ĠRequest Helper (). getOne Time Token ( url , Ġtoken ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ url & access _ token =$ one Time Token " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġpartial CSV Data Ġ= Ġ""" Ċ " d isease ", Ġ" year ", Ġ" age ", Ġ" country ", Ġ" country _ name ", Ġ" co hort _ size ", Ġ" deaths ", Ġ" cases ", Ġ" d alys " ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 5 0 0 , ĠĠĠĠĠĠ 9 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 5 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 6 7 0 Ċ """ ĊĊĠĠĠ Ġval Ġcsv Data Ġ= Ġ""" Ċ " d isease ", Ġ" year ", Ġ" age ", Ġ" country ", Ġ" country _ name ", Ġ" co hort _ size ", Ġ" deaths ", Ġ" cases ", Ġ" d alys " ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 5 0 0 , ĠĠĠĠĠĠ 9 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 5 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 6 7 0 ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 6 0 0 0 , ĠĠĠĠĠ 1 2 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 8 7 0 Ċ """ ĊĊĠĠĠ Ġval Ġlong Csv Data Ġ= Ġ""" Ċ " d isease ", Ġ" year ", Ġ" age ", Ġ" country ", Ġ" country _ name ", Ġ" co hort _ size ", Ġ" deaths ", Ġ" cases ", Ġ" d alys " ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 5 0 0 , ĠĠĠĠĠĠ 9 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 5 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 6 7 0 ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 6 0 0 0 , ĠĠĠĠĠ 1 2 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 8 7 0 ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 8 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 9 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 5 0 0 , ĠĠĠĠĠĠ 9 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 8 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 5 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 6 7 0 ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 9 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 6 0 0 0 , ĠĠĠĠĠ 1 2 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 8 7 0 Ċ """ ĊĊĠĠĠ Ġval Ġduplicate Csv Data Ġ= Ġ""" Ċ " d isease ", Ġ" year ", Ġ" age ", Ġ" country ", Ġ" country _ name ", Ġ" co hort _ size ", Ġ" deaths ", Ġ" cases ", Ġ" d alys " ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 5 0 0 , ĠĠĠĠĠĠ 9 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 5 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 6 7 0 ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 6 0 0 0 , ĠĠĠĠĠ 1 2 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 8 7 0 Ċ """ ĊĠĠĠ Ġval Ġst och astic CSV Data Ġ= Ġ""" Ċ " d isease ", Ġ" run _ id ", Ġ" year ", Ġ" age ", Ġ" country ", Ġ" country _ name ", Ġ" co hort _ size ", Ġ" deaths ", Ġ" cases ", Ġ" d alys " ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" A ", ĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" A ", ĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 5 0 0 , ĠĠĠĠĠĠ 9 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" B ", ĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠĠ 5 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 6 7 0 ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" B ", ĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 6 0 0 0 , ĠĠĠĠĠ 1 2 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 8 7 0 Ċ """ ĊĠĠĠ Ġval Ġduplicate Sto chastic CSV Data Ġ= Ġ""" Ċ " d isease ", Ġ" run _ id ", Ġ" year ", Ġ" age ", Ġ" country ", Ġ" country _ name ", Ġ" co hort _ size ", Ġ" deaths ", Ġ" cases ", Ġ" d alys " ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" A ", ĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" A ", ĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" A ", ĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠ 2 0 0 0 , ĠĠĠĠĠ ĠNA ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" B ", ĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 5 0 0 0 , ĠĠĠĠĠ 1 0 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 6 7 0 ĊĠĠ Ġ" H ib 3 ", ĠĠĠĠĠ Ġ" B ", ĠĠ 1 9 9 7 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AG O ", ĠĠĠĠĠĠ Ġ" Ang ola ", ĠĠĠĠĠĠĠĠĠĠ 6 0 0 0 , ĠĠĠĠĠ 1 2 0 0 , ĠĠĠĠĠ ĠNA , ĠĠĠĠ 5 8 7 0 Ċ """ ĊĠĠĠ Ġval Ġbad CSV Data Ġ= Ġ""" Ċ " d isease ", Ġ" year ", Ġ" age ", Ġ" country ", Ġ" country _ name ", Ġ" co hort _ size ", Ġ" deaths ", Ġ" cases ", Ġ" d alys " ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 1 9 9 6 , ĠĠĠĠ 5 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, ĠĠĠĠĠĠĠĠ Ġ, ĠĠĠĠĠĠĠ Ġ, Ċ """ ĊĠĠĠ Ġval Ġwrong Outcome CSV Data Ġ= Ġ""" Ċ " d isease ", Ġ" year ", Ġ" age ", Ġ" country ", Ġ" country _ name ", Ġ" co hort _ size ", Ġ" ban an as " ĊĠĠ Ġ" H ib 3 ", ĠĠĠ 2 0 0 0 , ĠĠĠĠĠ 0 , ĠĠĠĠ Ġ" AF G ", Ġ Ġ" Af gh an istan ", ĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĠĠĠĠĠĠĠĠĠ 2 Ċ """ ĊĊĠĠĠ Ġdata Ġclass ĠReturned Ids ( val Ġresponsibility Id : ĠInt , Ġval Ġmodel Version Id : ĠInt , Ġval Ġresponsibility SetId : ĠInt ) Ċ }