private function getRealData(Disease $disease, $diseaseName = '') {/*{{{*/ $diseaseList = array(); $res = array(); if ($diseaseName) { $dName = $diseaseName; } else { $dName = $disease->name; } //为了Grave'S疾病"'"转义问题 $dName = preg_replace('/'/', "'", $dName); $res['key'] = $dName; $res['url'] = $disease->getUrl(); $res['title'] = XString::truncate($dName."症状_治疗_".$dName."好评专家_咨询_预约_好大夫在线", 56, '...'); $res['showUrl'] = 'www.haodf.com'; $res['pageSize'] = rand(58, 62).'K'; $res['date'] = date('Y-m-d', time()); $res['content'] = XString::truncate($dName.'好评专家'.$disease->goodVoteCount.'位,可咨询'.$dName.'问题,预约专家门诊,权威专家亲自介绍'.$dName.'病因,症状,治疗,如何护理'.$dName.'患者等.', 156, '...'); $diseaseList['item'] = $res; return $diseaseList; }/*}}}*/
private function getRealData(Disease $disease, $diseaseContentList=array()) {/*{{{*/ $res = array(); $zhuanTiInfo = ZhuanTiClient::getInstance()->getZhuaTisByDisease($disease->id); if (count($zhuanTiInfo)>1) { $res['name'] = $disease->name; $res['url'] = $disease->getUrl(); $res['date'] = date('Y-m-d', time()); $content = ""; if (isset($diseaseContentList[$disease->key])) { $content = $this->getContent($diseaseContentList[$disease->key]); } $res['content'] = $content; $res['doctorUrl'] = $disease->getDoctorUrl(); $res['zixunUrl'] = $disease->getZixunUrl(); $zhuanTi1 = array_shift($zhuanTiInfo); $zhuanTi2= array_shift($zhuanTiInfo); $res['zhuantiUrl1'] = $zhuanTi1->getUrl(); $res['zhuantiUrl2'] = $zhuanTi2->getUrl(); $res['zhuantiTitle1'] = $zhuanTi1->title; $res['zhuantiTitle2'] = $zhuanTi2->title; } BeanFinder::get('LocalCache')->removeAll(); return $res; }/*}}}*/
public function get_list() { $year = $this->input->post('year'); $epiweek = $this->input->post('epiweek'); $data['reports'] = Surveillance::getReports($year, $epiweek); $data['quality_view'] = "district_reports_listing_v"; $data['total_diseases'] = Disease::getTotal(); $data['epiweek'] = $epiweek; $data['year'] = $year; $data['small_title'] = "List of all District Reports in " . $year . " Epiweek " . $epiweek; $this->base_params($data); }
public function run() { //Seed for diseases $malaria = Disease::create(array('name' => "Malaria")); $typhoid = Disease::create(array('name' => "Typhoid")); $dysentry = Disease::create(array('name' => "Shigella Dysentry")); $this->command->info("Dieases table seeded"); $reportDiseases = array(array("test_type_id" => 291, "disease_id" => $malaria->id), array("test_type_id" => 288, "disease_id" => $typhoid->id), array("test_type_id" => 316, "disease_id" => $typhoid->id), array("test_type_id" => 316, "disease_id" => $dysentry->id)); foreach ($reportDiseases as $reportDisease) { ReportDisease::create($reportDisease); } $this->command->info("Report Disease table seeded"); }
/** * Tests the diseases CRUD * * @return void */ public function testifDiseaseCrudWorks() { // add, edit and delete disease entry Input::replace($this->inputDisease); $config = new ReportController(); $config->disease(); $diseaseModel = Disease::all(); //Check if entry was added $this->assertEquals($diseaseModel[3]->name, $this->inputDisease['new-diseases']['1']['disease']); //Check if entry was edited $this->assertEquals($diseaseModel[0]->name, $this->inputDisease['diseases']['1']['disease']); //Check if entry was deleted - the only available are the three above => one deleted $this->assertEquals(count($diseaseModel), 4); }
private function getHospitalsForDisease(Disease $disease) {/*{{{*/ $dHInfo = DiseaseClient::getInstance()->getDiseaseHospitalByDisease($disease->voteDisease->id); $dHList = $dHInfo['diseaseHospitalList']; $hInfos = array(); foreach ($dHList as $dH) { $hospital = $dH->hospital; if ($hospital->isTestHospital()) continue; if (in_array($hospital->id, self::$offlineHospitalIds)) continue; $provKey = Area::getProvKeyByName($hospital->province); $hInfo = array(); $hInfo['id'] = $hospital->id; $hInfo['name'] = $hospital->name; $hInfo['province'] = $hospital->province; $hInfo['province_url'] = $disease->getHospitalUrl().'?province='.$provKey; $hInfo['city'] = $hospital->getCityIncludeZXS(); $hInfo['seo_spelling'] = $provKey; $hInfo['hospital_url'] = $hospital->getUrl(); $hInfo['official_url'] = $hospital->website; $hInfo['recommend_doctors_url'] = $hospital->getDiseaseDoctorUrl($disease); $hInfo['register_url'] = $hospital->getJiaHaoUrl(); $hInfo['doctor_count'] = $hospital->doctorCount; $hInfo['recommend_doctor_count'] = $dH->doctorCount; $hInfo['grade'] = $hospital->gradeDesc(); $hInfo['labs'] = $this->getLabsForDiseaseHospital($dH); $hInfos[] = array('hospital' => $hInfo); unset($hInfo, $dH, $hospital); } return $hInfos; }/*}}}*/
public function printPres($id) { $pres = Prescription::where('id', $id)->first(); $pres->detail; foreach ($pres->detail as $key => $value) { $pres->detail[$key]->getDrug; $pres->detail[$key]->get_drug->getUnit; } $pres->getPatient; $pres->get_patient->add; $pres->disease = implode(", ", Disease::whereIn('id', explode(',', $pres->disease))->lists('name')); $bill = $pres->is_free == 0 ? Config::get('constants.bill', 50000) : 0; $objPdf = new SellPDF(); $objPdf->create($pres); $objPdf->Output(); flush(); }
public function index() { $aryDrug = Drug::all(); $objJson = array(); foreach ($aryDrug as $drug) { switch ($drug->type) { case 1: $objJson[] = array("type" => $drug->type, "defaults" => array("morning" => $drug->morning, "lunch" => $drug->lunch, "afternoon" => $drug->afternoon, "night" => $drug->night), 'total' => -1); break; case 2: case 3: $objJson[] = array("type" => $drug->type, "fixed" => $drug->fixed, "special" => $drug->special); break; case 4: $objJson[] = array("type" => $drug->type, "fixed" => $drug->fixed); break; } } return View::make('medical.medical', array('address' => Address::all(), 'diseases' => Disease::all(), 'drugs' => Drug::all(), 'current_day' => Config::get('constants.current_day', 3), 'max_day' => Config::get('constants.max_day', 7), 'drug' => json_encode($objJson))); }
public function add() { $provinces = Province::getAll(); $districts = District::getAll(); $facilities = Facilities::getAll(); $diseases = Disease::getAllObjects(); $data['provinces'] = $provinces; $data['districts'] = $districts; $data['facilities'] = $facilities; $data['diseases'] = $diseases; $data['scripts'] = array("jquery.ui.core.js", "jquery.ui.datepicker.js", "jquery.ui.widget.js"); $data['styles'] = array("jquery.ui.all.css"); $data['title'] = "Line List Data"; $data['content_view'] = "linelist_data_add_v"; $data['banner_text'] = "Linelist Data"; $data['link'] = "submissions_management"; $data['quick_link'] = "linelisted_data_management"; $this->base_params($data); //$this -> load -> view("template", $data); }
public function edit_duplicate($number_of_diseases, $first_surveillance_id, $malaria_data_id) { $last_surveillance_id = $first_surveillance_id + $number_of_diseases - 1; $provinces = Province::getAll(); $districts = District::getAll(); $diseases = Disease::getAllObjects(); $data['provinces'] = $provinces; $data['districts'] = $districts; $data['diseases'] = $diseases; $data['prediction'] = Surveillance::getPrediction(); $data['surveillance_data'] = Surveillance::getSurveillanceDataRange($first_surveillance_id, $last_surveillance_id); $data['lab_data'] = Lab_Weekly::getLabObjects($malaria_data_id); $data['editing'] = true; $data['scripts'] = array("special_date_picker.js", "validationEngine-en.js", "validator.js"); $data["styles"] = array("validator.css"); $data['title'] = "Duplicate Data Editing"; $data['content_view'] = "weekly_data_add_v"; $data['banner_text'] = "Weekly Data Correction"; $data['link'] = "data_quality_management"; $this->load->view("template", $data); }
public function detail($request, $response) { $id = $request->id; $disease = DAL::get()->find('disease', $id); $response->disease = $disease; $types = array(DiseaseRelation::TYPE_SYMPTOM, DiseaseRelation::TYPE_LOCATION); $response->relations = DAL::get()->queryStringRelation('DiseaseRelation', $disease->id, $types); //列出所有标签 不管是否有关联 $defaultList = LableDefine::getLableList(); $lableArr = array(); $diseaseTags = array(); if ($disease->isNull() == false) { $diseaseTags = DiseaseClient::getInstance()->getDiseaseTag($disease->id); $diseaseLableList = DiseaseClient::getInstance()->getDiseaseLablesByDisease($disease->id); foreach ($defaultList as $id => $title) { if (empty($diseaseLableList)) { $lableArr[$title] = array(); } else { foreach ($diseaseLableList as $diseaseLable) { if ($diseaseLable->lableid == $id) { $lableArr[$title][] = $diseaseLable->objectid; } else { $lableArr[$title][] = array(); } } if (isset($lableArr[$title])) { $lableArr[$title] = array_filter($lableArr[$title]); } } } } $response->threadCategoryTopList = ThreadCateClient::getInstance()->getTopLevelList(); $response->threadCategory = DAL::get()->find('ThreadCategory', $disease->threadCategoryId); $response->lableArr = $lableArr; $response->diseaseTags = $diseaseTags; $response->nounClassList = Disease::nounClassDef(); $response->msg = $request->msg; $response->title = '疾病'; }
public function generate() { $bata_buffer = ""; $year = $this->input->post('year_from'); $epiweek = $this->input->post('epiweek_to'); $province = $this->input->post('province'); $district = $this->input->post('district'); $display_type = $this->input->post('display_type'); $weekending = Surveillance::getWeekEnding($year, $epiweek); $provinces = array(); $districts = array(); //Check if a province has been specified if ($province > 0) { //if so, retrieve it's details from the database $provinces = Province::getProvince($province); } else { //if not, retrieve all provinces $provinces = Province::getAll(); } //Check if a district has been specified if ($district > 0) { //if so, retrieve it's details from the database $districts = District::getDistrict($district); //also, retrieve the province details for this district $provinces = Province::getProvince($districts[0]['Province']); } else { //if not, empty the array $districts = array(); } //Start displaying the header of the table $bata_buffer .= " <table class='data-table'>\n <tr style='background: #F5D2AE;'>\n <th rowspan=2>Province</th>\n <th rowspan=2>District</th>\n <th rowspan=2>Reports Expected</th>\n <th rowspan=2>Reports Received</th>\n <th rowspan=2>%RR</th>"; $diseases["reports"] = "reports"; $diseases["submitted"] = "submitted"; $diseases["percentage"] = "percentage"; $disease_array = Disease::getAll(); foreach ($disease_array as $disease) { if ($disease['Name'] == 'Malaria') { $diseases[$disease['id']] = $disease['Name']; $diseases["tested"] = "tested"; $diseases["positive"] = "positive"; $bata_buffer .= "<th rowspan=2>" . $disease['Name'] . "</th>"; $bata_buffer .= "<th colspan=2 style='color:green;'>" . $disease['Name'] . " Indicators</th>"; } else { $diseases[$disease['id']] = $disease['Name']; $bata_buffer .= "<th rowspan=2>" . $disease['Name'] . "</th>"; } } //Finish Displaying the Header $bata_buffer .= " </tr>\n <tr style='background: #F5D2AE'>\n <th >Tested</th><th >Positive</th>\n </tr>\n\t\t"; //Start retrieving all the rows for the data foreach ($provinces as $province_object) { $bata_buffer .= "<tr class='even'><td style='font-weight:bold; font-size:14px'>" . $province_object->Name . "</td></tr>"; $province_districts = array(); //check if a district was specified if (count($districts) > 0) { $province_districts = $districts; } else { //Get all the districts for this province $province_districts = district::getProvinceDistrict($province_object->id); } //loop through all the districts to get their data foreach ($province_districts as $province_district) { $available_data = array(); $surveillance_counter = 2; $bata_buffer .= "<tr class='even' style='background:#C4E8B7'><td></td><td>" . $province_district['Name'] . "</td>"; $surveillance_data = Surveillance::getWeeklySummaries($year, $epiweek, $province_district['id']); //Check if any surveillance data exists if (isset($surveillance_data[0])) { $available_data['reports'] = $surveillance_data[0]['Expected']; $available_data['submitted'] = $surveillance_data[0]['Submitted']; //Calculate the reporting $available_data['percentage'] = floor($available_data['submitted'] / $available_data['reports'] * 100); //Display these Parameters $bata_buffer .= "<td>" . $available_data['reports'] . "</td><td>" . $available_data['submitted'] . "</td><td>" . $available_data['percentage'] . "</td>"; } else { $bata_buffer .= "<td>DNR</td><td>DNR</td><td>0</td>"; } //Check if there is any surveillance data if (isset($surveillance_data[0])) { //Loop through all the surveillance data returned foreach ($surveillance_data as $disease_data) { $bata_buffer .= "<td>" . $disease_data['Cases'] . "(" . $disease_data['Deaths'] . ")</td>"; //Check if the disease is malaria and if so, get the lab data and display it if ($disease_data['Disease'] == 1) { //Get malaria data $lab_weekly_data = Lab_Weekly::getWeeklyLabData($year, $epiweek, $province_district['id']); //Check if any data exists if (isset($lab_weekly_data)) { $bata_buffer .= "<td>" . $lab_weekly_data['Tested'] . "</td><td>" . $lab_weekly_data['Positive'] . "</td>"; } else { $bata_buffer .= "<td>DNR</td><td>DNR</td>"; } } } } else { $total_diseases = count($disease_array); $total_elements = $total_diseases + 1; for ($x = 0; $x <= $total_elements; $x++) { $bata_buffer .= "<td>DNR</td>"; } } //Marks the end of data for one district $bata_buffer .= "</tr>"; } //End districts loop } //End provinces loop //Finish the table $bata_buffer .= "</table>"; //Start section that shows cumulative data $bata_buffer .= "<table class='data-table'>\n <tr style='background: #F5D2AE;'>\n <th rowspan='2' colspan='5'>Cumulative Summaries</th>"; //Loop through all the diseases to display their names foreach ($disease_array as $disease) { if ($disease['Name'] == 'Malaria') { $diseases[$disease['id']] = $disease['Name']; $diseases["tested"] = "tested"; $diseases["positive"] = "positive"; $bata_buffer .= "<th rowspan=2>" . $disease['Name'] . "</th>"; $bata_buffer .= "<th colspan=2 style='color:green;'>" . $disease['Name'] . " Indicators</th>"; } else { $diseases[$disease['id']] = $disease['Name']; $bata_buffer .= "<th rowspan=2>" . $disease['Name'] . "</th>"; } } //end diseases loop $bata_buffer .= "</tr>\n <tr style='background: #F5D2AE'>\n <th >Tested</th><th >Positive</th>\n </tr>"; //Get the malaria lab data summaries $lab_weekly_summary = Lab_Weekly::getWeeklyLabSummaries($year, $epiweek); //Start Displaying this week summary $bata_buffer .= "<tr class='even'><td rowspan='2' colspan='5'>Week " . $epiweek . " Summary</td>"; //Get the summary for the week. Disease cases vs. deaths $disease_deaths = array(); foreach ($disease_array as $disease_object) { $disease_summaries = Surveillance::getWeeklyDiseaseSummaries($year, $epiweek, $disease_object['id']); $bata_buffer .= "<td>" . $disease_summaries['Cases'] . "</td>"; $disease_deaths[$disease_object['id']] = $disease_summaries['Deaths']; //check if the disease is Malaria. If so, display lab data if ($disease_object['Name'] == "Malaria") { $bata_buffer .= "<td rowspan=2>" . $lab_weekly_summary['Tested'] . "</td>"; $bata_buffer .= "<td rowspan=2>" . $lab_weekly_summary['Positive'] . "</td>"; } } //Finish the cases row $bata_buffer .= "</tr>"; //Start the deaths row $bata_buffer .= "<tr>"; //Loop through one more time to display the total number of deaths foreach ($disease_array as $disease_object) { $bata_buffer .= "<td>(" . $disease_deaths[$disease_object['id']] . ")</td>"; } //finish the deaths row $bata_buffer .= "</tr>"; //Get the annual summary //Get the malaria lab data summaries $lab_weekly_summary = Lab_Weekly::getAnnualLabSummaries($year); //Start Displaying this week summary $bata_buffer .= "<tr class='even' style='background:#BB00FF'><td rowspan='2' colspan='5'>Years Cummulative Summary</td>"; //Get the summary for the week. Disease cases vs. deaths $disease_deaths = array(); foreach ($disease_array as $disease_object) { $disease_summaries = Surveillance::getAnnualDiseaseSummaries($year, $disease_object['id']); $bata_buffer .= "<td>" . $disease_summaries['Cases'] . "</td>"; $disease_deaths[$disease_object['id']] = $disease_summaries['Deaths']; //check if the disease is Malaria. If so, display lab data if ($disease_object['Name'] == "Malaria") { $bata_buffer .= "<td rowspan=2>" . $lab_weekly_summary['Tested'] . "</td>"; $bata_buffer .= "<td rowspan=2>" . $lab_weekly_summary['Positive'] . "</td>"; } } //Finish the cases row $bata_buffer .= "</tr>"; //Start the deaths row $bata_buffer .= "<tr class='even' style='background:#BB00FF'>"; //Loop through one more time to display the total number of deaths foreach ($disease_array as $disease_object) { $bata_buffer .= "<td>(" . $disease_deaths[$disease_object['id']] . ")</td>"; } //finish the deaths row $bata_buffer .= "</tr></table>"; $this->generatePDF($year, $bata_buffer, $epiweek, $weekending, $display_type); }
public function getDuplicates($year, $epiweek) { $total_diseases = Disease::getTotal(); $query = Doctrine_Query::create()->select("District, Reporting_Year, Week_Ending, Epiweek, count(id) as Records")->from("surveillance")->where("epiweek = '{$epiweek}' and Reporting_Year = '{$year}'")->groupBy("District")->having("Records > '{$total_diseases}'"); $result = $query->execute(); return $result; }
public function getPerDistrict($districtId, $epiweek, $provinceId, $filterdyear) { $diseases = Disease::getAllObjects(); $value = ""; foreach ($diseases as $disease) { $sums = Surveillance::getDistrictSums($districtId, $epiweek, $filterdyear, $disease->id); $value[$disease->id][0] = $sums->lmcase; $value[$disease->id][1] = $sums->lfcase; $value[$disease->id][2] = $sums->lmdeath; $value[$disease->id][3] = $sums->lfdeath; $value[$disease->id][4] = $sums->gmcase; $value[$disease->id][5] = $sums->gfcase; $value[$disease->id][6] = $sums->gmdeath; $value[$disease->id][7] = $sums->gfdeath; $cumulative = Surveillance::getDistrictCumulative($districtId, $epiweek, $provinceId, $disease->id, $filterdyear); $value[$disease->id][8] = $cumulative->lmcase; $value[$disease->id][9] = $cumulative->lfcase; $value[$disease->id][10] = $cumulative->lmdeath; $value[$disease->id][11] = $cumulative->lfdeath; $value[$disease->id][12] = $cumulative->gmcase; $value[$disease->id][13] = $cumulative->gfcase; $value[$disease->id][14] = $cumulative->gmdeath; $value[$disease->id][15] = $cumulative->gfdeath; } return $value; }
public function run() { /* Users table */ $usersData = array(array("username" => "administrator", "password" => Hash::make("password"), "email" => "*****@*****.**", "name" => "kBLIS Administrator", "designation" => "Programmer"), array("username" => "external", "password" => Hash::make("password"), "email" => "*****@*****.**", "name" => "External System User", "designation" => "Administrator", "image" => "/i/users/user-2.jpg"), array("username" => "lmorena", "password" => Hash::make("password"), "email" => "*****@*****.**", "name" => "L. Morena", "designation" => "Lab Technologist", "image" => "/i/users/user-3.png"), array("username" => "abumeyang", "password" => Hash::make("password"), "email" => "*****@*****.**", "name" => "A. Abumeyang", "designation" => "Doctor")); foreach ($usersData as $user) { $users[] = User::create($user); } $this->command->info('users seeded'); /* Specimen Types table */ $specTypesData = array(array("name" => "Ascitic Tap"), array("name" => "Aspirate"), array("name" => "CSF"), array("name" => "Dried Blood Spot"), array("name" => "High Vaginal Swab"), array("name" => "Nasal Swab"), array("name" => "Plasma"), array("name" => "Plasma EDTA"), array("name" => "Pleural Tap"), array("name" => "Pus Swab"), array("name" => "Rectal Swab"), array("name" => "S***n"), array("name" => "Serum"), array("name" => "Skin"), array("name" => "Sputum"), array("name" => "Stool"), array("name" => "Synovial Fluid"), array("name" => "Throat Swab"), array("name" => "Urethral Smear"), array("name" => "Urine"), array("name" => "Vaginal Smear"), array("name" => "Water"), array("name" => "Whole Blood")); foreach ($specTypesData as $specimenType) { $specTypes[] = SpecimenType::create($specimenType); } $this->command->info('specimen_types seeded'); /* Test Categories table - These map on to the lab sections */ $test_categories = TestCategory::create(array("name" => "PARASITOLOGY", "description" => "")); $lab_section_microbiology = TestCategory::create(array("name" => "MICROBIOLOGY", "description" => "")); $this->command->info('test_categories seeded'); /* Measure Types */ $measureTypes = array(array("id" => "1", "name" => "Numeric Range"), array("id" => "2", "name" => "Alphanumeric Values"), array("id" => "3", "name" => "Autocomplete"), array("id" => "4", "name" => "Free Text")); foreach ($measureTypes as $measureType) { MeasureType::create($measureType); } $this->command->info('measure_types seeded'); /* Measures table */ $measureBSforMPS = Measure::create(array("measure_type_id" => "2", "name" => "BS for mps", "unit" => "")); $measure1 = Measure::create(array("measure_type_id" => "2", "name" => "Grams stain", "unit" => "")); $measure2 = Measure::create(array("measure_type_id" => "2", "name" => "SERUM AMYLASE", "unit" => "")); $measure3 = Measure::create(array("measure_type_id" => "2", "name" => "calcium", "unit" => "")); $measure4 = Measure::create(array("measure_type_id" => "2", "name" => "SGOT", "unit" => "")); $measure5 = Measure::create(array("measure_type_id" => "2", "name" => "Indirect COOMBS test", "unit" => "")); $measure6 = Measure::create(array("measure_type_id" => "2", "name" => "Direct COOMBS test", "unit" => "")); $measure7 = Measure::create(array("measure_type_id" => "2", "name" => "Du test", "unit" => "")); MeasureRange::create(array("measure_id" => $measureBSforMPS->id, "alphanumeric" => "No mps seen", "interpretation" => "Negative")); MeasureRange::create(array("measure_id" => $measureBSforMPS->id, "alphanumeric" => "+", "interpretation" => "Positive")); MeasureRange::create(array("measure_id" => $measureBSforMPS->id, "alphanumeric" => "++", "interpretation" => "Positive")); MeasureRange::create(array("measure_id" => $measureBSforMPS->id, "alphanumeric" => "+++", "interpretation" => "Positive")); MeasureRange::create(array("measure_id" => $measure1->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure1->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure2->id, "alphanumeric" => "Low")); MeasureRange::create(array("measure_id" => $measure2->id, "alphanumeric" => "High")); MeasureRange::create(array("measure_id" => $measure2->id, "alphanumeric" => "Normal")); MeasureRange::create(array("measure_id" => $measure3->id, "alphanumeric" => "High")); MeasureRange::create(array("measure_id" => $measure3->id, "alphanumeric" => "Low")); MeasureRange::create(array("measure_id" => $measure3->id, "alphanumeric" => "Normal")); MeasureRange::create(array("measure_id" => $measure4->id, "alphanumeric" => "High")); MeasureRange::create(array("measure_id" => $measure4->id, "alphanumeric" => "Low")); MeasureRange::create(array("measure_id" => $measure4->id, "alphanumeric" => "Normal")); MeasureRange::create(array("measure_id" => $measure5->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure5->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure6->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure6->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure7->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure7->id, "alphanumeric" => "Negative")); $measures = array(array("measure_type_id" => "1", "name" => "URIC ACID", "unit" => "mg/dl"), array("measure_type_id" => "4", "name" => "CSF for biochemistry", "unit" => ""), array("measure_type_id" => "4", "name" => "PSA", "unit" => ""), array("measure_type_id" => "1", "name" => "Total", "unit" => "mg/dl"), array("measure_type_id" => "1", "name" => "Alkaline Phosphate", "unit" => "u/l"), array("measure_type_id" => "1", "name" => "Direct", "unit" => "mg/dl"), array("measure_type_id" => "1", "name" => "Total Proteins", "unit" => ""), array("measure_type_id" => "4", "name" => "LFTS", "unit" => "NULL"), array("measure_type_id" => "1", "name" => "Chloride", "unit" => "mmol/l"), array("measure_type_id" => "1", "name" => "Potassium", "unit" => "mmol/l"), array("measure_type_id" => "1", "name" => "Sodium", "unit" => "mmol/l"), array("measure_type_id" => "4", "name" => "Electrolytes", "unit" => ""), array("measure_type_id" => "1", "name" => "Creatinine", "unit" => "mg/dl"), array("measure_type_id" => "1", "name" => "Urea", "unit" => "mg/dl"), array("measure_type_id" => "4", "name" => "RFTS", "unit" => ""), array("measure_type_id" => "4", "name" => "TFT", "unit" => "")); foreach ($measures as $measure) { Measure::create($measure); } $measureGXM = Measure::create(array("measure_type_id" => "4", "name" => "GXM", "unit" => "")); $measureBG = Measure::create(array("measure_type_id" => "2", "name" => "Blood Grouping", "unit" => "")); MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "O-")); MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "O+")); MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "A-")); MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "A+")); MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "B-")); MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "B+")); MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "AB-")); MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "AB+")); $measureHB = Measure::create(array("measure_type_id" => Measure::NUMERIC, "name" => "HB", "unit" => "g/dL")); $measuresUrinalysisData = array(array("measure_type_id" => "4", "name" => "Urine microscopy", "unit" => ""), array("measure_type_id" => "4", "name" => "Pus cells", "unit" => ""), array("measure_type_id" => "4", "name" => "S. haematobium", "unit" => ""), array("measure_type_id" => "4", "name" => "T. vaginalis", "unit" => ""), array("measure_type_id" => "4", "name" => "Yeast cells", "unit" => ""), array("measure_type_id" => "4", "name" => "Red blood cells", "unit" => ""), array("measure_type_id" => "4", "name" => "Bacteria", "unit" => ""), array("measure_type_id" => "4", "name" => "Spermatozoa", "unit" => ""), array("measure_type_id" => "4", "name" => "Epithelial cells", "unit" => ""), array("measure_type_id" => "4", "name" => "ph", "unit" => ""), array("measure_type_id" => "4", "name" => "Urine chemistry", "unit" => ""), array("measure_type_id" => "4", "name" => "Glucose", "unit" => ""), array("measure_type_id" => "4", "name" => "Ketones", "unit" => ""), array("measure_type_id" => "4", "name" => "Proteins", "unit" => ""), array("measure_type_id" => "4", "name" => "Blood", "unit" => ""), array("measure_type_id" => "4", "name" => "Bilirubin", "unit" => ""), array("measure_type_id" => "4", "name" => "Urobilinogen Phenlpyruvic acid", "unit" => ""), array("measure_type_id" => "4", "name" => "pH", "unit" => "")); foreach ($measuresUrinalysisData as $measureU) { $measuresUrinalysis[] = Measure::create($measureU); } $measuresWBCData = array(array("measure_type_id" => Measure::NUMERIC, "name" => "WBC", "unit" => "x10³/µL"), array("measure_type_id" => Measure::NUMERIC, "name" => "Lym", "unit" => "L"), array("measure_type_id" => Measure::NUMERIC, "name" => "Mon", "unit" => "*"), array("measure_type_id" => Measure::NUMERIC, "name" => "Neu", "unit" => "*"), array("measure_type_id" => Measure::NUMERIC, "name" => "Eos", "unit" => ""), array("measure_type_id" => Measure::NUMERIC, "name" => "Baso", "unit" => "")); foreach ($measuresWBCData as $value) { $measuresWBC[] = Measure::create($value); } $measureRangesWBC = array(array("measure_id" => $measuresWBC[0]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 4, "range_upper" => 11), array("measure_id" => $measuresWBC[1]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 1.5, "range_upper" => 4), array("measure_id" => $measuresWBC[2]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 0.1, "range_upper" => 9), array("measure_id" => $measuresWBC[3]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 2.5, "range_upper" => 7), array("measure_id" => $measuresWBC[4]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 0, "range_upper" => 6), array("measure_id" => $measuresWBC[5]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 0, "range_upper" => 2)); foreach ($measureRangesWBC as $value) { MeasureRange::create($value); } $this->command->info('measures seeded'); /* Test Types table */ $testTypeBS = TestType::create(array("name" => "BS for mps", "test_category_id" => $test_categories->id, "orderable_test" => 1)); $testTypeStoolCS = TestType::create(array("name" => "Stool for C/S", "test_category_id" => $lab_section_microbiology->id)); $testTypeGXM = TestType::create(array("name" => "GXM", "test_category_id" => $test_categories->id)); $testTypeHB = TestType::create(array("name" => "HB", "test_category_id" => $test_categories->id, "orderable_test" => 1)); $testTypeUrinalysis = TestType::create(array("name" => "Urinalysis", "test_category_id" => $test_categories->id)); $testTypeWBC = TestType::create(array("name" => "WBC", "test_category_id" => $test_categories->id)); $this->command->info('test_types seeded'); /* TestType Measure table */ TestTypeMeasure::create(array("test_type_id" => $testTypeBS->id, "measure_id" => $measureBSforMPS->id)); TestTypeMeasure::create(array("test_type_id" => $testTypeGXM->id, "measure_id" => $measureGXM->id)); TestTypeMeasure::create(array("test_type_id" => $testTypeGXM->id, "measure_id" => $measureBG->id)); TestTypeMeasure::create(array("test_type_id" => $testTypeHB->id, "measure_id" => $measureHB->id)); foreach ($measuresUrinalysis as $value) { TestTypeMeasure::create(array("test_type_id" => $testTypeUrinalysis->id, "measure_id" => $value->id)); } foreach ($measuresWBC as $value) { TestTypeMeasure::create(array("test_type_id" => $testTypeWBC->id, "measure_id" => $value->id)); } $this->command->info('testtype_measures seeded'); /* testtype_specimentypes table */ DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeBS->id, "specimen_type_id" => $specTypes[count($specTypes) - 1]->id)); DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeGXM->id, "specimen_type_id" => $specTypes[count($specTypes) - 1]->id)); DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeHB->id, "specimen_type_id" => $specTypes[count($specTypes) - 1]->id)); DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeHB->id, "specimen_type_id" => $specTypes[6]->id)); DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeHB->id, "specimen_type_id" => $specTypes[7]->id)); DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeHB->id, "specimen_type_id" => $specTypes[12]->id)); DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeUrinalysis->id, "specimen_type_id" => $specTypes[19]->id)); DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeUrinalysis->id, "specimen_type_id" => $specTypes[20]->id)); DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeWBC->id, "specimen_type_id" => $specTypes[count($specTypes) - 1]->id)); $this->command->info('testtype_specimentypes seeded'); /* Patients table */ $patients_array = array(array("name" => "Jam Felicia", "email" => "*****@*****.**", "patient_number" => "1002", "dob" => "2000-01-01", "gender" => "1", "created_by" => "2"), array("name" => "Emma Wallace", "email" => "*****@*****.**", "patient_number" => "1003", "dob" => "1990-03-01", "gender" => "1", "created_by" => "2"), array("name" => "Jack Tee", "email" => "*****@*****.**", "patient_number" => "1004", "dob" => "1999-12-18", "gender" => "0", "created_by" => "1"), array("name" => "Hu Jintao", "email" => "*****@*****.**", "patient_number" => "1005", "dob" => "1956-10-28", "gender" => "0", "created_by" => "2"), array("name" => "Lance Opiyo", "email" => "*****@*****.**", "patient_number" => "2150", "dob" => "2012-01-01", "gender" => "0", "created_by" => "1")); foreach ($patients_array as $pat) { $patients[] = Patient::create($pat); } $this->command->info('patients seeded'); /* Test Phase table */ $test_phases = array(array("id" => "1", "name" => "Pre-Analytical"), array("id" => "2", "name" => "Analytical"), array("id" => "3", "name" => "Post-Analytical")); foreach ($test_phases as $test_phase) { TestPhase::create($test_phase); } $this->command->info('test_phases seeded'); /* Test Status table */ $test_statuses = array(array("id" => "1", "name" => "not-received", "test_phase_id" => "1"), array("id" => "2", "name" => "pending", "test_phase_id" => "1"), array("id" => "3", "name" => "started", "test_phase_id" => "2"), array("id" => "4", "name" => "completed", "test_phase_id" => "3"), array("id" => "5", "name" => "verified", "test_phase_id" => "3")); foreach ($test_statuses as $test_status) { TestStatus::create($test_status); } $this->command->info('test_statuses seeded'); /* Specimen Status table */ $specimen_statuses = array(array("id" => "1", "name" => "specimen-not-collected"), array("id" => "2", "name" => "specimen-accepted"), array("id" => "3", "name" => "specimen-rejected")); foreach ($specimen_statuses as $specimen_status) { SpecimenStatus::create($specimen_status); } $this->command->info('specimen_statuses seeded'); /* Visits table */ for ($i = 0; $i < 7; $i++) { $visits[] = Visit::create(array("patient_id" => $patients[rand(0, count($patients) - 1)]->id)); } $this->command->info('visits seeded'); /* Rejection Reasons table */ $rejection_reasons_array = array(array("reason" => "Poorly labelled"), array("reason" => "Over saturation"), array("reason" => "Insufficient Sample"), array("reason" => "Scattered"), array("reason" => "Clotted Blood"), array("reason" => "Two layered spots"), array("reason" => "Serum rings"), array("reason" => "Scratched"), array("reason" => "Haemolysis"), array("reason" => "Spots that cannot elute"), array("reason" => "Leaking"), array("reason" => "Broken Sample Container"), array("reason" => "Mismatched sample and form labelling"), array("reason" => "Missing Labels on container and tracking form"), array("reason" => "Empty Container"), array("reason" => "Samples without tracking forms"), array("reason" => "Poor transport"), array("reason" => "Lipaemic"), array("reason" => "Wrong container/Anticoagulant"), array("reason" => "Request form without samples"), array("reason" => "Missing collection date on specimen / request form."), array("reason" => "Name and signature of requester missing"), array("reason" => "Mismatched information on request form and specimen container."), array("reason" => "Request form contaminated with specimen"), array("reason" => "Duplicate specimen received"), array("reason" => "Delay between specimen collection and arrival in the laboratory"), array("reason" => "Inappropriate specimen packing"), array("reason" => "Inappropriate specimen for the test"), array("reason" => "Inappropriate test for the clinical condition"), array("reason" => "No Label"), array("reason" => "Leaking"), array("reason" => "No Sample in the Container"), array("reason" => "No Request Form"), array("reason" => "Missing Information Required")); foreach ($rejection_reasons_array as $rejection_reason) { $rejection_reasons[] = RejectionReason::create($rejection_reason); } $this->command->info('rejection_reasons seeded'); /* Specimen table */ $this->command->info('specimens seeded'); $now = new DateTime(); /* Test table */ Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::NOT_RECEIVED, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "test_status_id" => Test::NOT_RECEIVED, "requested_by" => "Dr. Abou Meyang", "created_by" => $users[rand(0, count($users) - 1)]->id)); Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeHB->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $users[rand(0, count($users) - 1)]->id)); Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeGXM->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $users[rand(0, count($users) - 1)]->id)); Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "test_status_id" => Test::PENDING, "created_by" => $users[rand(0, count($users) - 1)]->id, "requested_by" => "Dr. Abou Meyang")); $test_gxm_accepted_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeGXM->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "interpretation" => "Perfect match.", "test_status_id" => Test::COMPLETED, "created_by" => $users[rand(0, count($users) - 1)]->id, "tested_by" => $users[rand(0, count($users) - 1)]->id, "requested_by" => "Dr. Abou Meyang", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT12M8S'))->format('Y-m-d H:i:s'))); $test_hb_accepted_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeHB->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "interpretation" => "Do nothing!", "test_status_id" => Test::COMPLETED, "created_by" => $users[rand(0, count($users) - 1)]->id, "tested_by" => $users[rand(0, count($users) - 1)]->id, "requested_by" => "Genghiz Khan", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT5M23S'))->format('Y-m-d H:i:s'))); $tests_accepted_started = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeGXM->id, "specimen_id" => $this->createSpecimen(Test::STARTED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "test_status_id" => Test::STARTED, "requested_by" => "Dr. Abou Meyang", "created_by" => $users[rand(0, count($users) - 1)]->id, "time_started" => $now->format('Y-m-d H:i:s'))); $tests_accepted_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "interpretation" => "Positive", "test_status_id" => Test::COMPLETED, "created_by" => $users[rand(0, count($users) - 1)]->id, "tested_by" => $users[rand(0, count($users) - 1)]->id, "requested_by" => "Ariel Smith", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT7M34S'))->format('Y-m-d H:i:s'))); $tests_accepted_verified = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::VERIFIED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "interpretation" => "Very high concentration of parasites.", "test_status_id" => Test::VERIFIED, "created_by" => $users[rand(0, count($users) - 1)]->id, "tested_by" => $users[rand(0, count($users) - 1)]->id, "verified_by" => $users[rand(0, count($users) - 1)]->id, "requested_by" => "Genghiz Khan", "time_started" => $now, "time_completed" => $now->add(new DateInterval('PT5M17S'))->format('Y-m-d H:i:s'), "time_verified" => $now->add(new DateInterval('PT112M33S'))->format('Y-m-d H:i:s'))); $tests_rejected_pending = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::REJECTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id, $users[rand(0, count($users) - 1)]->id, $rejection_reasons[rand(0, count($rejection_reasons) - 1)]->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $users[rand(0, count($users) - 1)]->id, "time_started" => $now->format('Y-m-d H:i:s'))); // WBC Started Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeWBC->id, "specimen_id" => $this->createSpecimen(Test::STARTED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "test_status_id" => Test::PENDING, "requested_by" => "Fred Astaire", "created_by" => $users[rand(0, count($users) - 1)]->id)); $tests_rejected_started = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::STARTED, Specimen::REJECTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id, $users[rand(0, count($users) - 1)]->id, $rejection_reasons[rand(0, count($rejection_reasons) - 1)]->id), "test_status_id" => Test::STARTED, "created_by" => $users[rand(0, count($users) - 1)]->id, "requested_by" => "Bony Em", "time_started" => $now->format('Y-m-d H:i:s'))); $tests_rejected_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::REJECTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id, $users[rand(0, count($users) - 1)]->id, $rejection_reasons[rand(0, count($rejection_reasons) - 1)]->id), "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => $users[rand(0, count($users) - 1)]->id, "tested_by" => $users[rand(0, count($users) - 1)]->id, "requested_by" => "Ed Buttler", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT30M4S'))->format('Y-m-d H:i:s'))); Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeUrinalysis->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $users[rand(0, count($users) - 1)]->id)); Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeWBC->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $users[rand(0, count($users) - 1)]->id)); $test_urinalysis_accepted_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeUrinalysis->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $users[rand(0, count($users) - 1)]->id), "interpretation" => "Whats this !!!! ###%%% ^ *() /", "test_status_id" => Test::COMPLETED, "created_by" => $users[rand(0, count($users) - 1)]->id, "tested_by" => $users[rand(0, count($users) - 1)]->id, "requested_by" => "Dr. Abou Meyang", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT12M8S'))->format('Y-m-d H:i:s'), "external_id" => 596699)); $this->command->info('tests seeded'); /* Test Results table */ $testResults = array(array("test_id" => $tests_accepted_verified->id, "measure_id" => $measureBSforMPS->id, "result" => "+++"), array("test_id" => $tests_accepted_completed->id, "measure_id" => $measureBSforMPS->id, "result" => "++"), array("test_id" => $test_gxm_accepted_completed->id, "measure_id" => $measureGXM->id, "result" => "COMPATIBLE WITH 061832914 B/G A POS.EXPIRY19/8/14"), array("test_id" => $test_gxm_accepted_completed->id, "measure_id" => $measureBG->id, "result" => "A+"), array("test_id" => $test_hb_accepted_completed->id, "measure_id" => $measureHB->id, "result" => "13.7"), array("test_id" => $tests_rejected_completed->id, "measure_id" => $measureBSforMPS->id, "result" => "No mps seen")); foreach ($measuresUrinalysis as $key => $measure) { $testResults[] = array("test_id" => $test_urinalysis_accepted_completed->id, "measure_id" => $measure->id, "result" => $key . "50"); } foreach ($testResults as $testResult) { TestResult::create($testResult); } $this->command->info('test results seeded'); /* Permissions table */ $permissions = array(array("name" => "view_names", "display_name" => "Can view patient names"), array("name" => "manage_patients", "display_name" => "Can add patients"), array("name" => "receive_external_test", "display_name" => "Can receive test requests"), array("name" => "request_test", "display_name" => "Can request new test"), array("name" => "accept_test_specimen", "display_name" => "Can accept test specimen"), array("name" => "reject_test_specimen", "display_name" => "Can reject test specimen"), array("name" => "change_test_specimen", "display_name" => "Can change test specimen"), array("name" => "start_test", "display_name" => "Can start tests"), array("name" => "enter_test_results", "display_name" => "Can enter tests results"), array("name" => "edit_test_results", "display_name" => "Can edit test results"), array("name" => "verify_test_results", "display_name" => "Can verify test results"), array("name" => "send_results_to_external_system", "display_name" => "Can send test results to external systems"), array("name" => "refer_specimens", "display_name" => "Can refer specimens"), array("name" => "manage_users", "display_name" => "Can manage users"), array("name" => "manage_test_catalog", "display_name" => "Can manage test catalog"), array("name" => "manage_lab_configurations", "display_name" => "Can manage lab configurations"), array("name" => "view_reports", "display_name" => "Can view reports"), array("name" => "manage_inventory", "display_name" => "Can manage inventory"), array("name" => "request_topup", "display_name" => "Can request top-up"), array("name" => "manage_qc", "display_name" => "Can manage Quality Control")); foreach ($permissions as $permission) { Permission::create($permission); } $this->command->info('Permissions table seeded'); /* Roles table */ $roles = array(array("name" => "Superadmin"), array("name" => "Technologist"), array("name" => "Receptionist")); foreach ($roles as $role) { Role::create($role); } $this->command->info('Roles table seeded'); $user1 = User::find(1); $role1 = Role::find(1); $permissions = Permission::all(); //Assign all permissions to role administrator foreach ($permissions as $permission) { $role1->attachPermission($permission); } //Assign role Administrator to user 1 administrator $user1->attachRole($role1); /* Instruments table */ $instrumentsData = array("name" => "Celltac F Mek 8222", "description" => "Automatic analyzer with 22 parameters and WBC 5 part diff Hematology Analyzer", "driver_name" => "KBLIS\\Plugins\\CelltacFMachine", "ip" => "192.168.1.12", "hostname" => "HEMASERVER"); $instrument = Instrument::create($instrumentsData); $instrument->testTypes()->attach(array($testTypeWBC->id)); $this->command->info('Instruments table seeded'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596699,"parentLabNo":0,"requestingClinician":"frankenstein Dr", "investigation":"Urinalysis","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596700,"parentLabNo":596699,"requestingClinician":"frankenstein Dr", "investigation":"Urine microscopy","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596701,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"Pus cells","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596702,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"S. haematobium","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596703,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"T. vaginalis","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596704,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"Yeast cells","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596705,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"Red blood cells","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596706,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"Bacteria","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596707,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"Spermatozoa","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596708,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"Epithelial cells","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596709,"parentLabNo":596700,"requestingClinician":"frankenstein Dr", "investigation":"ph","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596710,"parentLabNo":596699,"requestingClinician":"frankenstein Dr", "investigation":"Urine chemistry","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596711,"parentLabNo":596710,"requestingClinician":"frankenstein Dr", "investigation":"Glucose","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596712,"parentLabNo":596710,"requestingClinician":"frankenstein Dr", "investigation":"Ketones","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596713,"parentLabNo":596710,"requestingClinician":"frankenstein Dr", "investigation":"Proteins","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596714,"parentLabNo":596710,"requestingClinician":"frankenstein Dr", "investigation":"Blood","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596715,"parentLabNo":596710,"requestingClinician":"frankenstein Dr", "investigation":"Bilirubin","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596716,"parentLabNo":596710,"requestingClinician":"frankenstein Dr", "investigation":"Urobilinogen Phenlpyruvic acid","requestDate":"2014-10-14 10:20:37","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596717,"parentLabNo":596710,"requestingClinician":"frankenstein Dr", "investigation":"pH","requestDate":"2014-10-14 10:20:37","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983, "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}'); for ($i = 0; $i < count($labRequestUrinalysis); $i++) { $dumper = new ExternalDump(); $dumper->lab_no = $labRequestUrinalysis[$i]->labNo; $dumper->parent_lab_no = $labRequestUrinalysis[$i]->parentLabNo; $dumper->test_id = $i == 0 ? $test_urinalysis_accepted_completed->id : null; $dumper->requesting_clinician = $labRequestUrinalysis[$i]->requestingClinician; $dumper->investigation = $labRequestUrinalysis[$i]->investigation; $dumper->provisional_diagnosis = ''; $dumper->request_date = $labRequestUrinalysis[$i]->requestDate; $dumper->order_stage = $labRequestUrinalysis[$i]->orderStage; $dumper->patient_visit_number = $labRequestUrinalysis[$i]->patientVisitNumber; $dumper->patient_id = $labRequestUrinalysis[$i]->patient->id; $dumper->full_name = $labRequestUrinalysis[$i]->patient->fullName; $dumper->dob = $labRequestUrinalysis[$i]->patient->dateOfBirth; $dumper->gender = $labRequestUrinalysis[$i]->patient->gender; $dumper->address = $labRequestUrinalysis[$i]->address->address; $dumper->postal_code = ''; $dumper->phone_number = $labRequestUrinalysis[$i]->address->phoneNumber; $dumper->city = $labRequestUrinalysis[$i]->address->city; $dumper->cost = $labRequestUrinalysis[$i]->cost; $dumper->receipt_number = $labRequestUrinalysis[$i]->receiptNumber; $dumper->receipt_type = $labRequestUrinalysis[$i]->receiptType; $dumper->waiver_no = ''; $dumper->system_id = "sanitas"; $dumper->save(); } $this->command->info('ExternalDump table seeded'); // Begin seed for prevalence rates report /* Test Categories table - These map on to the lab sections */ $lab_section_hematology = TestCategory::create(array("name" => "HEMATOLOGY", "description" => "")); $lab_section_serology = TestCategory::create(array("name" => "SEROLOGY", "description" => "")); $lab_section_trans = TestCategory::create(array("name" => "BLOOD TRANSFUSION", "description" => "")); $this->command->info('Lab Sections seeded'); /* Test Types for prevalence */ $test_types_salmonella = TestType::create(array("name" => "Salmonella Antigen Test", "test_category_id" => $test_categories->id)); $test_types_direct = TestType::create(array("name" => "Direct COOMBS Test", "test_category_id" => $lab_section_trans->id)); $test_types_du = TestType::create(array("name" => "DU Test", "test_category_id" => $lab_section_trans->id)); $test_types_sickling = TestType::create(array("name" => "Sickling Test", "test_category_id" => $lab_section_hematology->id)); $test_types_borrelia = TestType::create(array("name" => "Borrelia", "test_category_id" => $test_categories->id)); $test_types_vdrl = TestType::create(array("name" => "VDRL", "test_category_id" => $lab_section_serology->id)); $test_types_pregnancy = TestType::create(array("name" => "Pregnancy Test", "test_category_id" => $lab_section_serology->id)); $test_types_brucella = TestType::create(array("name" => "Brucella", "test_category_id" => $lab_section_serology->id)); $test_types_pylori = TestType::create(array("name" => "H. Pylori", "test_category_id" => $lab_section_serology->id)); $this->command->info('Test Types seeded'); /* Test Types and specimen types relationship for prevalence */ DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_salmonella->id, "13")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_direct->id, "23")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_du->id, "23")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_sickling->id, "23")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_borrelia->id, "23")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_vdrl->id, "13")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_pregnancy->id, "20")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_brucella->id, "13")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_pylori->id, "13")); DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($testTypeStoolCS->id, "16")); $this->command->info('TestTypes/SpecimenTypes seeded'); /*New measures for prevalence*/ $measure_salmonella = Measure::create(array("measure_type_id" => "2", "name" => "Salmonella Antigen Test", "unit" => "")); $measure_direct = Measure::create(array("measure_type_id" => "2", "name" => "Direct COOMBS Test", "unit" => "")); $measure_du = Measure::create(array("measure_type_id" => "2", "name" => "Du Test", "unit" => "")); $measure_sickling = Measure::create(array("measure_type_id" => "2", "name" => "Sickling Test", "unit" => "")); $measure_borrelia = Measure::create(array("measure_type_id" => "2", "name" => "Borrelia", "unit" => "")); $measure_vdrl = Measure::create(array("measure_type_id" => "2", "name" => "VDRL", "unit" => "")); $measure_pregnancy = Measure::create(array("measure_type_id" => "2", "name" => "Pregnancy Test", "unit" => "")); $measure_brucella = Measure::create(array("measure_type_id" => "2", "name" => "Brucella", "unit" => "")); $measure_pylori = Measure::create(array("measure_type_id" => "2", "name" => "H. Pylori", "unit" => "")); MeasureRange::create(array("measure_id" => $measure_salmonella->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_salmonella->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure_direct->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_direct->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure_du->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_du->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure_sickling->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_sickling->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure_borrelia->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_borrelia->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure_vdrl->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_vdrl->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure_pregnancy->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_pregnancy->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure_brucella->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_brucella->id, "alphanumeric" => "Negative")); MeasureRange::create(array("measure_id" => $measure_pylori->id, "alphanumeric" => "Positive")); MeasureRange::create(array("measure_id" => $measure_pylori->id, "alphanumeric" => "Negative")); $this->command->info('Measures seeded again'); /* TestType Measure for prevalence */ $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_salmonella->id, "measure_id" => $measure_salmonella->id)); $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_direct->id, "measure_id" => $measure_direct->id)); $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_du->id, "measure_id" => $measure_du->id)); $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_sickling->id, "measure_id" => $measure_sickling->id)); $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_borrelia->id, "measure_id" => $measure_borrelia->id)); $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_vdrl->id, "measure_id" => $measure_vdrl->id)); $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_pregnancy->id, "measure_id" => $measure_pregnancy->id)); $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_brucella->id, "measure_id" => $measure_brucella->id)); $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_pylori->id, "measure_id" => $measure_pylori->id)); $this->command->info('Test Type Measures seeded again'); /* Tests for prevalence rates */ $tests_completed_one = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_salmonella->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-07-23 15:16:15", "time_started" => "2014-07-23 16:07:15", "time_completed" => "2014-07-23 16:17:19")); $tests_completed_two = Test::create(array("visit_id" => "2", "test_type_id" => $test_types_direct->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-07-26 10:16:15", "time_started" => "2014-07-26 13:27:15", "time_completed" => "2014-07-26 13:57:01")); $tests_completed_three = Test::create(array("visit_id" => "3", "test_type_id" => $test_types_du->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-08-13 09:16:15", "time_started" => "2014-08-13 10:07:15", "time_completed" => "2014-08-13 10:18:11")); $tests_completed_four = Test::create(array("visit_id" => "4", "test_type_id" => $test_types_sickling->id, "specimen_id" => "1", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-08-16 09:06:53", "time_started" => "2014-08-16 09:09:15", "time_completed" => "2014-08-16 09:23:37")); $tests_completed_five = Test::create(array("visit_id" => "5", "test_type_id" => $test_types_borrelia->id, "specimen_id" => "1", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-08-23 10:16:15", "time_started" => "2014-08-23 11:54:39", "time_completed" => "2014-08-23 12:07:18")); $tests_completed_six = Test::create(array("visit_id" => "6", "test_type_id" => $test_types_vdrl->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-09-07 07:23:15", "time_started" => "2014-09-07 08:07:20", "time_completed" => "2014-09-07 08:41:13")); $tests_completed_seven = Test::create(array("visit_id" => "7", "test_type_id" => $test_types_pregnancy->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-10-03 11:52:15", "time_started" => "2014-10-03 12:31:04", "time_completed" => "2014-10-03 12:45:18")); $tests_completed_eight = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_brucella->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-10-15 17:01:15", "time_started" => "2014-10-15 17:05:24", "time_completed" => "2014-10-15 18:07:15")); $tests_completed_nine = Test::create(array("visit_id" => "2", "test_type_id" => $test_types_pylori->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-10-23 16:06:15", "time_started" => "2014-10-23 16:07:15", "time_completed" => "2014-10-23 16:39:02")); $tests_completed_ten = Test::create(array("visit_id" => "4", "test_type_id" => $test_types_salmonella->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-10-21 19:16:15", "time_started" => "2014-10-21 19:17:15", "time_completed" => "2014-10-21 19:52:40")); $tests_verified_one = Test::create(array("visit_id" => "3", "test_type_id" => $test_types_direct->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-07-21 19:16:15", "time_started" => "2014-07-21 19:17:15", "time_completed" => "2014-07-21 19:52:40", "time_verified" => "2014-07-21 19:53:48")); $tests_verified_two = Test::create(array("visit_id" => "2", "test_type_id" => $test_types_du->id, "specimen_id" => "1", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-08-21 19:16:15", "time_started" => "2014-08-21 19:17:15", "time_completed" => "2014-08-21 19:52:40", "time_verified" => "2014-08-21 19:53:48")); $tests_verified_three = Test::create(array("visit_id" => "3", "test_type_id" => $test_types_sickling->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-08-26 19:16:15", "time_started" => "2014-08-26 19:17:15", "time_completed" => "2014-08-26 19:52:40", "time_verified" => "2014-08-26 19:53:48")); $tests_verified_four = Test::create(array("visit_id" => "4", "test_type_id" => $test_types_borrelia->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-09-21 19:16:15", "time_started" => "2014-09-21 19:17:15", "time_completed" => "2014-09-21 19:52:40", "time_verified" => "2014-09-21 19:53:48")); $tests_verified_five = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_vdrl->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-09-22 19:16:15", "time_started" => "2014-09-22 19:17:15", "time_completed" => "2014-09-22 19:52:40", "time_verified" => "2014-09-22 19:53:48")); $tests_verified_six = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_pregnancy->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-09-23 19:16:15", "time_started" => "2014-09-23 19:17:15", "time_completed" => "2014-09-23 19:52:40", "time_verified" => "2014-09-23 19:53:48")); $tests_verified_seven = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_brucella->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-09-27 19:16:15", "time_started" => "2014-09-27 19:17:15", "time_completed" => "2014-09-27 19:52:40", "time_verified" => "2014-09-27 19:53:48")); $tests_verified_eight = Test::create(array("visit_id" => "3", "test_type_id" => $test_types_pylori->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-10-22 19:16:15", "time_started" => "2014-10-22 19:17:15", "time_completed" => "2014-10-22 19:52:40", "time_verified" => "2014-10-22 19:53:48")); $tests_verified_nine = Test::create(array("visit_id" => "4", "test_type_id" => $test_types_pregnancy->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-10-17 19:16:15", "time_started" => "2014-10-17 19:17:15", "time_completed" => "2014-10-17 19:52:40", "time_verified" => "2014-10-17 19:53:48")); $tests_verified_ten = Test::create(array("visit_id" => "2", "test_type_id" => $test_types_pregnancy->id, "specimen_id" => "1", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-10-02 19:16:15", "time_started" => "2014-10-02 19:17:15", "time_completed" => "2014-10-02 19:52:40", "time_verified" => "2014-10-02 19:53:48")); $this->command->info('Tests seeded again'); // Test results for prevalence $results = array(array("test_id" => $tests_completed_one->id, "measure_id" => $measure_salmonella->id, "result" => "Positive"), array("test_id" => $tests_completed_two->id, "measure_id" => $measure_direct->id, "result" => "Positive"), array("test_id" => $tests_completed_three->id, "measure_id" => $measure_du->id, "result" => "Positive"), array("test_id" => $tests_completed_four->id, "measure_id" => $measure_sickling->id, "result" => "Positive"), array("test_id" => $tests_completed_five->id, "measure_id" => $measure_borrelia->id, "result" => "Positive"), array("test_id" => $tests_completed_six->id, "measure_id" => $measure_vdrl->id, "result" => "Positive"), array("test_id" => $tests_completed_seven->id, "measure_id" => $measure_pregnancy->id, "result" => "Positive"), array("test_id" => $tests_completed_eight->id, "measure_id" => $measure_brucella->id, "result" => "Positive"), array("test_id" => $tests_completed_nine->id, "measure_id" => $measure_pylori->id, "result" => "Positive"), array("test_id" => $tests_completed_ten->id, "measure_id" => $measure_salmonella->id, "result" => "Positive"), array("test_id" => $tests_verified_one->id, "measure_id" => $measure_direct->id, "result" => "Negative"), array("test_id" => $tests_verified_two->id, "measure_id" => $measure_du->id, "result" => "Positive"), array("test_id" => $tests_verified_three->id, "measure_id" => $measure_sickling->id, "result" => "Positive"), array("test_id" => $tests_verified_four->id, "measure_id" => $measure_borrelia->id, "result" => "Negative"), array("test_id" => $tests_verified_five->id, "measure_id" => $measure_vdrl->id, "result" => "Negative"), array("test_id" => $tests_verified_six->id, "measure_id" => $measure_pregnancy->id, "result" => "Negative"), array("test_id" => $tests_verified_seven->id, "measure_id" => $measure_brucella->id, "result" => "Positive"), array("test_id" => $tests_verified_eight->id, "measure_id" => $measure_pylori->id, "result" => "Positive"), array("test_id" => $tests_verified_nine->id, "measure_id" => $measure_pregnancy->id, "result" => "Negative"), array("test_id" => $tests_verified_ten->id, "measure_id" => $measure_pregnancy->id, "result" => "Positive")); foreach ($results as $result) { TestResult::create($result); } $this->command->info('Test results seeded again'); // End prevalence rates seed //Seed for facilities $facilitiesSeed = array(array('name' => "WALTER REED"), array('name' => "AGA KHAN UNIVERSITY HOSPITAL"), array('name' => "TEL AVIV GENERAL HOSPITAL"), array('name' => "GK PRISON DISPENSARY"), array('name' => "KEMRI ALUPE"), array('name' => "AMPATH")); foreach ($facilitiesSeed as $facility) { Facility::create($facility); } $this->command->info('Facilities table seeded'); //Seed for suppliers $supplier = Supplier::create(array("name" => "UNICEF", "phone_no" => "0775112233", "email" => "*****@*****.**", "physical_address" => "un-hqtr")); $this->command->info('Suppliers table seeded'); //Seed for metrics $metric = Metric::create(array("name" => "mg", "description" => "milligram")); $this->command->info('Metrics table seeded'); //Seed for commodities $commodity = Commodity::create(array("name" => "Ampicillin", "description" => "Capsule 250mg", "metric_id" => $metric->id, "unit_price" => "500", "item_code" => "no clue", "storage_req" => "no clue", "min_level" => "100000", "max_level" => "400000")); $this->command->info('Commodities table seeded'); //Seed for receipts $receipt = Receipt::create(array("commodity_id" => $commodity->id, "supplier_id" => $supplier->id, "quantity" => "130000", "batch_no" => "002720", "expiry_date" => "2018-10-14", "user_id" => "1")); $this->command->info('Receipts table seeded'); //Seed for Top Up Request $topUpRequest = TopupRequest::create(array("commodity_id" => $commodity->id, "test_category_id" => 1, "order_quantity" => "1500", "user_id" => 1, "remarks" => "-")); $this->command->info('Top Up Requests table seeded'); //Seed for Issues Issue::create(array("receipt_id" => $receipt->id, "topup_request_id" => $topUpRequest->id, "quantity_issued" => "1700", "issued_to" => 1, "user_id" => 1, "remarks" => "-")); $this->command->info('Issues table seeded'); //Seed for diseases $malaria = Disease::create(array('name' => "Malaria")); $typhoid = Disease::create(array('name' => "Typhoid")); $dysentry = Disease::create(array('name' => "Shigella Dysentry")); $this->command->info("Dieases table seeded"); $reportDiseases = array(array("test_type_id" => $testTypeBS->id, "disease_id" => $malaria->id), array("test_type_id" => $test_types_salmonella->id, "disease_id" => $typhoid->id), array("test_type_id" => $testTypeStoolCS->id, "disease_id" => $dysentry->id)); foreach ($reportDiseases as $reportDisease) { ReportDisease::create($reportDisease); } $this->command->info("Report Disease table seeded"); //Seeding for QC $lots = array(array('number' => '0001', 'description' => 'First lot', 'expiry' => date('Y-m-d H:i:s', strtotime("+6 months")), 'instrument_id' => 1), array('number' => '0002', 'description' => 'Second lot', 'expiry' => date('Y-m-d H:i:s', strtotime("+7 months")), 'instrument_id' => 1)); foreach ($lots as $lot) { $lot = Lot::create($lot); } $this->command->info("Lot table seeded"); //Control seeding $controls = array(array('name' => 'Humatrol P', 'description' => 'HUMATROL P control serum has been designed to provide a suitable basis for the quality control (imprecision, inaccuracy) in the clinical chemical laboratory.', 'lot_id' => 1), array('name' => 'Full Blood Count', 'description' => 'Né pas touchér', 'lot_id' => 1)); foreach ($controls as $control) { Control::create($control); } $this->command->info("Control table seeded"); //Control measures $controlMeasures = array(array('name' => 'ca', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'pi', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'mg', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'na', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'K', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'WBC', 'unit' => 'x 103/uL', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'RBC', 'unit' => 'x 106/uL', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'HGB', 'unit' => 'g/dl', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'HCT', 'unit' => '%', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'MCV', 'unit' => 'fl', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'MCH', 'unit' => 'pg', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'MCHC', 'unit' => 'g/dl', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'PLT', 'unit' => 'x 103/uL', 'control_id' => 2, 'control_measure_type_id' => 1)); foreach ($controlMeasures as $controlMeasure) { ControlMeasure::create($controlMeasure); } $this->command->info("Control Measure table seeded"); //Control measure ranges $controlMeasureRanges = array(array('upper_range' => '2.63', 'lower_range' => '7.19', 'control_measure_id' => 1), array('upper_range' => '11.65', 'lower_range' => '15.43', 'control_measure_id' => 2), array('upper_range' => '12.13', 'lower_range' => '19.11', 'control_measure_id' => 3), array('upper_range' => '15.73', 'lower_range' => '25.01', 'control_measure_id' => 4), array('upper_range' => '17.63', 'lower_range' => '20.12', 'control_measure_id' => 5), array('upper_range' => '6.5', 'lower_range' => '7.5', 'control_measure_id' => 6), array('upper_range' => '4.36', 'lower_range' => '5.78', 'control_measure_id' => 7), array('upper_range' => '13.8', 'lower_range' => '17.3', 'control_measure_id' => 8), array('upper_range' => '81.0', 'lower_range' => '95.0', 'control_measure_id' => 9), array('upper_range' => '1.99', 'lower_range' => '2.63', 'control_measure_id' => 10), array('upper_range' => '27.6', 'lower_range' => '33.0', 'control_measure_id' => 11), array('upper_range' => '32.8', 'lower_range' => '36.4', 'control_measure_id' => 12), array('upper_range' => '141', 'lower_range' => ' 320.0', 'control_measure_id' => 13)); foreach ($controlMeasureRanges as $controlMeasureRange) { ControlMeasureRange::create($controlMeasureRange); } $this->command->info("Control Measure ranges table seeded"); //Control Tests $controlTests = array(array('entered_by' => 3, 'control_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('entered_by' => 3, 'control_id' => 1, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('entered_by' => 3, 'control_id' => 1, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('entered_by' => 3, 'control_id' => 1, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('entered_by' => 3, 'control_id' => 1, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('entered_by' => 3, 'control_id' => 1, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('entered_by' => 3, 'control_id' => 1, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('entered_by' => 1, 'control_id' => 2, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('entered_by' => 1, 'control_id' => 2, 'created_at' => date('Y-m-d', strtotime('-2 days')))); foreach ($controlTests as $controltest) { ControlTest::create($controltest); } $this->command->info("Control test table seeded"); //Control results $controlResults = array(array('results' => '2.78', 'control_measure_id' => 1, 'control_test_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '13.56', 'control_measure_id' => 2, 'control_test_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '14.77', 'control_measure_id' => 3, 'control_test_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '25.92', 'control_measure_id' => 4, 'control_test_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '18.87', 'control_measure_id' => 5, 'control_test_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '6.78', 'control_measure_id' => 1, 'control_test_id' => 2, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '15.56', 'control_measure_id' => 2, 'control_test_id' => 2, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '18.77', 'control_measure_id' => 3, 'control_test_id' => 2, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '30.92', 'control_measure_id' => 4, 'control_test_id' => 2, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '17.87', 'control_measure_id' => 5, 'control_test_id' => 2, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '8.78', 'control_measure_id' => 1, 'control_test_id' => 3, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '17.56', 'control_measure_id' => 2, 'control_test_id' => 3, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '21.77', 'control_measure_id' => 3, 'control_test_id' => 3, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '27.92', 'control_measure_id' => 4, 'control_test_id' => 3, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '22.87', 'control_measure_id' => 5, 'control_test_id' => 3, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '6.78', 'control_measure_id' => 1, 'control_test_id' => 4, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '18.56', 'control_measure_id' => 2, 'control_test_id' => 4, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '19.77', 'control_measure_id' => 3, 'control_test_id' => 4, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '12.92', 'control_measure_id' => 4, 'control_test_id' => 4, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '22.87', 'control_measure_id' => 5, 'control_test_id' => 4, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '3.78', 'control_measure_id' => 1, 'control_test_id' => 5, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '16.56', 'control_measure_id' => 2, 'control_test_id' => 5, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '17.77', 'control_measure_id' => 3, 'control_test_id' => 5, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '28.92', 'control_measure_id' => 4, 'control_test_id' => 5, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '19.87', 'control_measure_id' => 5, 'control_test_id' => 5, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '5.78', 'control_measure_id' => 1, 'control_test_id' => 6, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '15.56', 'control_measure_id' => 2, 'control_test_id' => 6, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '11.77', 'control_measure_id' => 3, 'control_test_id' => 6, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '29.92', 'control_measure_id' => 4, 'control_test_id' => 6, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '14.87', 'control_measure_id' => 5, 'control_test_id' => 6, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '9.78', 'control_measure_id' => 1, 'control_test_id' => 7, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '11.56', 'control_measure_id' => 2, 'control_test_id' => 7, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '19.77', 'control_measure_id' => 3, 'control_test_id' => 7, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '32.92', 'control_measure_id' => 4, 'control_test_id' => 7, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '29.87', 'control_measure_id' => 5, 'control_test_id' => 7, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '5.45', 'control_measure_id' => 6, 'control_test_id' => 8, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '5.01', 'control_measure_id' => 7, 'control_test_id' => 8, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '12.3', 'control_measure_id' => 8, 'control_test_id' => 8, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '89.7', 'control_measure_id' => 9, 'control_test_id' => 8, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '2.15', 'control_measure_id' => 10, 'control_test_id' => 8, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '34.0', 'control_measure_id' => 11, 'control_test_id' => 8, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '37.2', 'control_measure_id' => 12, 'control_test_id' => 8, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '141.5', 'control_measure_id' => 13, 'control_test_id' => 8, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '7.45', 'control_measure_id' => 6, 'control_test_id' => 9, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '9.01', 'control_measure_id' => 7, 'control_test_id' => 9, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '9.3', 'control_measure_id' => 8, 'control_test_id' => 9, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '94.7', 'control_measure_id' => 9, 'control_test_id' => 9, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '12.15', 'control_measure_id' => 10, 'control_test_id' => 9, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '37.0', 'control_measure_id' => 11, 'control_test_id' => 9, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '30.2', 'control_measure_id' => 12, 'control_test_id' => 9, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '121.5', 'control_measure_id' => 13, 'control_test_id' => 9, 'created_at' => date('Y-m-d', strtotime('-2 days')))); foreach ($controlResults as $controlResult) { ControlMeasureResult::create($controlResult); } $this->command->info("Control results table seeded"); }
/** * Manage Diseases reported on * @param */ public function disease() { if (Input::all()) { $rules = array(); $newDiseases = Input::get('new-diseases'); if (Input::get('new-diseases')) { // create an array that form the rules array foreach ($newDiseases as $key => $value) { //Ensure no duplicate disease $rules['new-diseases.' . $key . '.disease'] = 'unique:diseases,name'; } } $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { return Redirect::route('reportconfig.disease')->withErrors($validator); } else { $allDiseaseIds = array(); //edit or leave disease entries as is if (Input::get('diseases')) { $diseases = Input::get('diseases'); foreach ($diseases as $id => $disease) { $allDiseaseIds[] = $id; $diseases = Disease::find($id); $diseases->name = $disease['disease']; $diseases->save(); } } //save new disease entries if (Input::get('new-diseases')) { $diseases = Input::get('new-diseases'); foreach ($diseases as $id => $disease) { $diseases = new Disease(); $diseases->name = $disease['disease']; $diseases->save(); $allDiseaseIds[] = $diseases->id; } } //check if action is from a form submission if (Input::get('from-form')) { // Delete any pre-existing disease entries //that were not captured in any of the above save loops $allDiseases = Disease::all(array('id')); $deleteDiseases = array(); //Identify disease entries to be deleted by Ids foreach ($allDiseases as $key => $value) { if (!in_array($value->id, $allDiseaseIds)) { //Allow delete if not in use $inUseByReports = Disease::find($value->id)->reportDiseases->toArray(); if (empty($inUseByReports)) { // The disease is not in use $deleteDiseases[] = $value->id; } } } //Delete disease entry if any if (count($deleteDiseases) > 0) { Disease::destroy($deleteDiseases); } } } } $diseases = Disease::all(); return View::make('reportconfig.disease')->with('diseases', $diseases); }
public function save() { $i = 0; $valid = $this->_validate_submission(); if ($valid == false) { $this->add(); } else { $editing = false; $diseases = Disease::getAllObjects(); $weekending = $this->input->post("week_ending"); $reporting_year = $this->input->post("reporting_year"); $epiweek = $this->input->post("epiweek"); $facility = $this->input->post("facility"); $reportingfacilities = $this->input->post("reporting_facilities"); $expectedfacilities = $this->input->post("expected_facilities"); $lmcase = $this->input->post("lmcase"); $lfcase = $this->input->post("lfcase"); $lmdeath = $this->input->post("lmdeath"); $lfdeath = $this->input->post("lfdeath"); $gmcase = $this->input->post("gmcase"); $gfcase = $this->input->post("gfcase"); $gmdeath = $this->input->post("gmdeath"); $gfdeath = $this->input->post("gfdeath"); $sickness = $this->input->post("disease"); $reported_by = $this->input->post("reported_by"); $designation = $this->input->post("designation"); $lab_id = $this->input->post("lab_id"); $surveillance_ids = $this->input->post("surveillance_ids"); $data_exists = Surveillance::getFacilityData($epiweek, $reporting_year, $facility); if ($lab_id > 0) { $editing = true; } if ($data_exists->id && $editing == false) { $data = array(); $data['duplicate_facility'] = Facilities::getFacility($facility); $data['duplicate_epiweek'] = $epiweek; $data['duplicate_reporting_year'] = $reporting_year; $data['existing_data'] = true; $this->add($data); return; } $total_diseases = Disease::getTotal(); $timestamp = date('d/m/Y'); $i = 0; foreach ($diseases as $disease) { if ($editing == true) { $surveillance = Surveillance::getSurveillance($surveillance_ids[$i]); } else { $surveillance = new Surveillance(); } $surveillance->Week_Ending = $weekending; $surveillance->Epiweek = $epiweek; $surveillance->Facility = $facility; $surveillance->Submitted = $reportingfacilities; $surveillance->Expected = $expectedfacilities; $surveillance->Lmcase = $lmcase[$i]; $surveillance->Lfcase = $lfcase[$i]; $surveillance->Lmdeath = $lmdeath[$i]; $surveillance->Lfdeath = $lfdeath[$i]; if (isset($gmcase[$i])) { $surveillance->Gmcase = $gmcase[$i]; $surveillance->Gfcase = $gfcase[$i]; $surveillance->Gmdeath = $gmdeath[$i]; $surveillance->Gfdeath = $gfdeath[$i]; } $surveillance->Disease = $disease; $surveillance->Reporting_Year = $reporting_year; $surveillance->Created_By = $this->session->userdata('user_id'); $surveillance->Date_Created = date("Y-m-d"); $surveillance->Reported_By = $reported_by; $surveillance->Designation = $designation; $surveillance->Total_Diseases = $total_diseases; $surveillance->Date_Reported = $timestamp; $surveillance->save(); $i++; } //end foreach //Lab Data if ($editing == true) { $labdata = Lab_Weekly::getLabObject($lab_id); } else { $labdata = new Lab_Weekly(); } $totaltestedlessfive = $this->input->post("total_tested_less_than_five"); $totaltestedgreaterfive = $this->input->post("total_tested_greater_than_five"); $totalpositivelessfive = $this->input->post("total_positive_less_than_five"); $totalpositivegreaterfive = $this->input->post("total_positive_greater_than_five"); $remarks = $this->input->post("remarks"); $labdata->Epiweek = $epiweek; $labdata->Week_Ending = $weekending; $labdata->Facility = $facility; $labdata->Malaria_Below_5 = $totaltestedlessfive; $labdata->Malaria_Above_5 = $totaltestedgreaterfive; $labdata->Positive_Below_5 = $totalpositivelessfive; $labdata->Positive_Above_5 = $totalpositivegreaterfive; $labdata->Remarks = $remarks; $labdata->Reporting_Year = $reporting_year; $labdata->Date_Created = date("Y-m-d"); $labdata->save(); if ($editing) { $data['success_message'] = "You have successfully edited data for " . $labdata->Facility->Name; $this->add($data); } if (!$editing) { $data['success_message'] = "You have successfully added weekly data for " . $labdata->Facility->Name; $this->add($data); } //redirect("weekly_facility/add"); } }
/** * Get the Surveillance Data * * @return db resultset */ public static function getSurveillanceData($from, $to) { $diseases = Disease::all(); $surveillances = array(); $testTypeIds = array(); //Foreach disease create a query string for the different test types foreach (Disease::all() as $disease) { $count = 0; $testTypeQuery = ''; //For a single disease creating a query string for it's different test types foreach ($disease->reportDiseases as $reportDisease) { if ($count == 0) { $testTypeQuery = 't.test_type_id=' . $reportDisease->test_type_id; } else { $testTypeQuery = $testTypeQuery . ' or t.test_type_id=' . $reportDisease->test_type_id; } $testTypeIds[] = $reportDisease->test_type_id; $count++; } //For a single disease holding the test types query string and disease id if (!empty($testTypeQuery)) { $surveillances[$disease->id]['test_type_id'] = $testTypeQuery; $surveillances[$disease->id]['disease_id'] = $disease->id; } } //Getting an array of measure ids from an array of test types $measureIds = Test::getMeasureIdsByTestTypeIds($testTypeIds); //Getting an array of positive interpretations from an array of measure ids $positiveRanges = Test::getPositiveRangesByMeasureIds($measureIds); $idCount = 0; $positiveRangesQuery = ''; //Formating the positive ranges into part of the the query string foreach ($positiveRanges as $positiveRange) { if ($idCount == 0) { $positiveRangesQuery = "tr.result='" . $positiveRange . "'"; } else { $positiveRangesQuery = $positiveRangesQuery . " or tr.result='" . $positiveRange . "'"; } $idCount++; } // Query only if there are entries for surveillance if (!empty($surveillances) && !empty($positiveRangesQuery)) { //Select surveillance data for the defined diseases $query = "SELECT "; foreach ($surveillances as $surveillance) { $query = $query . "COUNT(DISTINCT if((" . $surveillance['test_type_id'] . "),t.id,NULL)) as " . $surveillance['disease_id'] . "_total," . "COUNT(DISTINCT if(((" . $surveillance['test_type_id'] . ") and DATE_SUB(NOW(), INTERVAL 5 YEAR)<p.dob),t.id,NULL)) as " . $surveillance['disease_id'] . "_less_five_total, " . "COUNT(DISTINCT if(((" . $surveillance['test_type_id'] . ") and (" . $positiveRangesQuery . ")),t.id,NULL)) as " . $surveillance['disease_id'] . "_positive," . "COUNT(DISTINCT if(((" . $surveillance['test_type_id'] . ") and (" . $positiveRangesQuery . ") and DATE_SUB(NOW(), INTERVAL 5 YEAR)<p.dob),t.id,NULL)) as " . $surveillance['disease_id'] . "_less_five_positive"; //Add no comma if it is the last variable in the array if ($surveillance == end($surveillances)) { $query = $query . " "; } else { $query = $query . ", "; } } $query = $query . " FROM tests t " . "INNER JOIN test_results tr ON t.id=tr.test_id " . "JOIN visits v ON v.id=t.visit_id " . "JOIN patients p ON v.patient_id=p.id "; if ($from) { $query = $query . "WHERE (time_created BETWEEN '" . $from . "' AND '" . $to . "')"; } $data = DB::select($query); $data = json_decode(json_encode($data), true); return $data[0]; } else { return null; } }
public function newDisease() { $input = Input::all(); $disease = new Disease(); if (Input::has('id')) { $disease = Disease::where('id', $input['id'])->first(); } $disease->disease_id = $input['disease_id']; $disease->name = $input['disease']; $disease->save(); return Response::json(array('disease' => $disease)); }
public function run() { /* Users table $usersData = array( array( "username" => "administrator", "password" => Hash::make("password"), "email" => "*****@*****.**", "name" => "kBLIS Administrator", "designation" => "Programmer" ), ); foreach ($usersData as $user) { $users[] = User::create($user); } $this->command->info('users seeded'); //Seed for suppliers $supplier = Supplier::create( array( "name" => "UNICEF", "phone_no" => "0775112233", "email" => "*****@*****.**", "physical_address" => "un-hqtr" ) ); $this->command->info('Suppliers table seeded'); */ //Seed for metrics $metric = Metric::create(array("name" => "mg", "description" => "milligram")); $this->command->info('Metrics table seeded'); //Seed for commodities $commodity = Commodity::create(array("name" => "Ampicillin", "description" => "Capsule 250mg", "metric_id" => $metric->id, "unit_price" => "500", "item_code" => "no clue", "storage_req" => "no clue", "min_level" => "100000", "max_level" => "400000")); $this->command->info('Commodities table seeded'); //Seed for receipts $receipt = Receipt::create(array("commodity_id" => $commodity->id, "supplier_id" => $supplier->id, "quantity" => "130000", "batch_no" => "002720", "expiry_date" => "2018-10-14", "user_id" => "1")); $this->command->info('Receipts table seeded'); //Seed for Top Up Request $topUpRequest = TopupRequest::create(array("commodity_id" => $commodity->id, "test_category_id" => 1, "order_quantity" => "1500", "user_id" => 1, "remarks" => "-")); $this->command->info('Top Up Requests table seeded'); //Seed for Issues Issue::create(array("receipt_id" => $receipt->id, "topup_request_id" => $topUpRequest->id, "quantity_issued" => "1700", "issued_to" => 1, "user_id" => 1, "remarks" => "-")); $this->command->info('Issues table seeded'); //Seed for diseases $malaria = Disease::create(array('name' => "Malaria")); $typhoid = Disease::create(array('name' => "Typhoid")); $dysentry = Disease::create(array('name' => "Shigella Dysentry")); $this->command->info("Dieases table seeded"); $reportDiseases = array(array("test_type_id" => $testTypeBS->id, "disease_id" => $malaria->id), array("test_type_id" => $test_types_salmonella->id, "disease_id" => $typhoid->id), array("test_type_id" => $testTypeStoolCS->id, "disease_id" => $dysentry->id)); foreach ($reportDiseases as $reportDisease) { ReportDisease::create($reportDisease); } $this->command->info("Report Disease table seeded"); //Seeding for QC $lots = array(array('number' => '0001', 'description' => 'First lot', 'expiry' => date('Y-m-d H:i:s', strtotime("+6 months")), 'instrument_id' => 1), array('number' => '0002', 'description' => 'Second lot', 'expiry' => date('Y-m-d H:i:s', strtotime("+7 months")), 'instrument_id' => 1)); foreach ($lots as $lot) { $lot = Lot::create($lot); } $this->command->info("Lot table seeded"); }