Пример #1
0
 public function gatherbedbez()
 {
     $dienstmodel = new keukendienstModel();
     //$kamermodel = new keukenkamerModel();
     $model = new keukenpatientModel();
     $statmodel = new bedbezModel();
     $diensten = $dienstmodel->get();
     $adiensten = array();
     $time = time();
     foreach ($diensten as $dienst) {
         $adiensten[$dienst->getId()] = $dienst;
     }
     $outputdiensten = array();
     $totalcond = array();
     $totalmax = 0;
     foreach ($adiensten as $id => $dienst) {
         //$kamercond = array();
         //$kamers =  $kamermodel->getfromDienstid($id);
         //			foreach($kamers as $kamer){
         //				$kamercond[] = array('kamer' => array('mode' => '=','value' => $kamer->getKamernr()));
         //			}
         //
         //			$totalcond = array_merge($totalcond,$kamercond);
         //			if(count($kamercond) > 0){
         //				$kamercond = array('OR' => $kamercond);
         //			}
         //			else {
         //				//Geen kamers, lege lijst voorzien
         //				$kamercond = array('kamer' => array('mode' => '=','value' => '-1'));
         //			}
         $cond = array('ve' => array('mode' => '=', 'value' => $dienst->getDienstnr()));
         $count = $model->getcount($cond);
         $statobject = new bedbezObject();
         $statobject->setTime($time);
         $statobject->setVe($dienst->getDienstnr());
         $statobject->setAantal($count);
         try {
             $statmodel->save($statobject);
         } catch (Exception $e) {
         }
     }
 }
Пример #2
0
 public function editPatient($parameters = array())
 {
     $patientmodel = new keukenpatientModel();
     $flash = new popupController();
     $view = new ui($this);
     $patients = $patientmodel->getfromId($parameters['id']);
     if (count($patients) == 1) {
         $patient = $patients[0];
         $view->assign('patient', $patient);
         $form = $this->buildform($parameters);
         $form->setNofocus(false);
         if ($form->validate()) {
             if ($form->confirmed($this, 'Bent u zeker?')) {
             } else {
             }
         } elseif (!$form->isSent()) {
             $view->assign('form', $form);
             return $view->fetch('keukenpakket_editpatient.tpl');
         } else {
             $this->response->assign('formerror_' . $form->getId(), 'innerHTML', 'Gelieve alle benodigde velden correct in te vullen.', true);
             return false;
         }
     } else {
         $flash->createflash(array('name' => 'err', 'type' => 'error', 'content' => 'Deze patiënt werd niet teruggevonden!'));
         return false;
     }
 }
Пример #3
0
 public function processprs()
 {
     $prsmodel = new prspatientModel();
     $keukenmodel = new keukenpatientModel();
     try {
         //	All patiënts in PRS
         $all = $prsmodel->get();
         $allpatnr = array();
         echo '<pre>' . count($all) . '</pre>';
         foreach ($all as $prspatient) {
             $allpatnr[$prspatient->getNr_pat()] = $prspatient->getNr_pat();
             $keukenpatiënt = $keukenmodel->getfromPatientnr($prspatient->getNr_pat());
             if (count($keukenpatiënt) == 1) {
                 $keukenpatiënt = $keukenpatiënt[0];
                 if ($keukenpatiënt->getCurrentdossiernr() != $prspatient->getNr_dos()) {
                     $keukenpatiënt->setCurrentdossiernr($prspatient->getNr_dos());
                     $keukenmodel->save($keukenpatiënt);
                 }
                 if ($keukenpatiënt->getDokterognummer() != $prspatient->getNr_dok()) {
                     $keukenpatiënt->setDokterognummer($prspatient->getNr_dok());
                     $keukenpatiënt->setDokternaam('Dr. ' . $prspatient->getFnaam_dok() . ' ' . $prspatient->getVnaam_dok());
                     $keukenmodel->save($keukenpatiënt);
                 }
                 if ($keukenpatiënt->getAchternaam() != $prspatient->getFnaam_pat() || $keukenpatiënt->getVoornaam() != $prspatient->getVnaam_pat() || $keukenpatiënt->getGeslacht() != $prspatient->getGeslacht() || $keukenpatiënt->getGeboortedatum() != $prspatient->getDat_geb()) {
                     $keukenpatiënt->setAchternaam($prspatient->getFnaam_pat());
                     $keukenpatiënt->setVoornaam($prspatient->getVnaam_pat());
                     $keukenpatiënt->setGeslacht($prspatient->getGeslacht());
                     list($date, $time) = explode(' ', $prspatient->getDat_geb());
                     list($year, $month, $day) = explode('-', $date);
                     list($hour, $minute, $second) = explode(':', $time);
                     $gebdat = mktime($hour, $minute, $second, $month, $day, $year);
                     $keukenpatiënt->setGeboortedatum($gebdat);
                     $keukenmodel->save($keukenpatiënt);
                 }
                 if ($keukenpatiënt->getKamer() != $prspatient->getNr_kamer() || $keukenpatiënt->getBed() != $prspatient->getNr_loc_bed() || $keukenpatiënt->getVerplaatsing() != $prspatient->getVerplaatsing()) {
                     $keukenpatiënt->setVe($prspatient->getNr_ve());
                     $keukenpatiënt->setKamer($prspatient->getNr_kamer());
                     $keukenpatiënt->setBed($prspatient->getNr_loc_bed());
                     $keukenpatiënt->setVerplaatsing($prspatient->getVerplaatsing());
                     $keukenmodel->save($keukenpatiënt);
                 }
             } elseif (count($keukenpatiënt) == 0) {
                 $keukenpatiënt = new keukenpatientObject();
                 $keukenpatiënt->setAchternaam($prspatient->getFnaam_pat());
                 $keukenpatiënt->setVoornaam($prspatient->getVnaam_pat());
                 $keukenpatiënt->setGeslacht($prspatient->getGeslacht());
                 list($date, $time) = explode(' ', $prspatient->getDat_geb());
                 list($year, $month, $day) = explode('-', $date);
                 list($hour, $minute, $second) = explode(':', $time);
                 $gebdat = mktime($hour, $minute, $second, $month, $day, $year);
                 $keukenpatiënt->setGeboortedatum($gebdat);
                 $keukenpatiënt->setPatientnr($prspatient->getNr_pat());
                 $keukenpatiënt->setCurrentdossiernr($prspatient->getNr_dos());
                 $keukenpatiënt->setCampus(999);
                 $keukenpatiënt->setVe($prspatient->getNr_ve());
                 $keukenpatiënt->setKamer($prspatient->getNr_kamer());
                 $keukenpatiënt->setBed($prspatient->getNr_loc_bed());
                 $keukenpatiënt->setVerplaatsing($prspatient->getVerplaatsing());
                 $keukenpatiënt->setDokterognummer($prspatient->getNr_dok());
                 $keukenpatiënt->setDokternaam('Dr. ' . $prspatient->getFnaam_dok() . ' ' . $prspatient->getVnaam_dok());
                 $keukenmodel->save($keukenpatiënt);
             } else {
                 //TODO: Mail error
             }
         }
         echo '<pre>' . print_r($allpatnr, true) . '</pre>';
         //	Clean out patiënts not in the prs
         $keukenmodel->delete(array('patientnr' => array('mode' => 'NOT IN', 'value' => $allpatnr)));
     } catch (Exception $e) {
         echo '<pre>EXCEPTION: ' . print_r($e, true) . '</pre>';
     }
 }
Пример #4
0
 public function showbedbezbydoc($parameters = array())
 {
     $view = new ui($this);
     $dienstmodel = new keukendienstModel();
     $model = new keukenpatientModel();
     $diensten = $dienstmodel->get();
     $adiensten = array();
     foreach ($diensten as $dienst) {
         //if(myacl::isAllowed(myauth::getCurrentuser(),$dienst,'countstats')){
         $adiensten[$dienst->getId()] = $dienst->getDienstnr();
         //}
     }
     asort($adiensten);
     $cond = array('ve' => array('mode' => 'IN', 'value' => $adiensten));
     $all = $model->get($cond);
     $dokters = array();
     $ve = array();
     foreach ($all as $pat) {
         $dokters[$pat->getDokterognummer()]['naam'] = $pat->getDokternaam();
         $dokters[$pat->getDokterognummer()][$pat->getVe()]++;
         $dokters[$pat->getDokterognummer()]['all']++;
         $ve[$pat->getVe()]++;
         $ve['all']++;
     }
     uasort($dokters, mystats_doktersort);
     $view->assign('diensten', $adiensten);
     $view->assign('stats', $dokters);
     $view->assign('ve', $ve);
     $this->response->assign($this->self, 'innerHTML', $view->fetch('mystats_showbedbezbydoc.tpl'));
 }
Пример #5
0
 protected function processA45Message(hl7Object $message)
 {
     require FRAMEWORK . DS . 'conf' . DS . 'keukenpakket.php';
     $naam = $message->getFieldvalue('PID', 5);
     list($achternaam, $voornaam) = explode($message->getFieldseperator2(), $naam);
     $dossnr = $message->getFieldvalue('PV1', 19);
     list($patnr, $null, $null, $facility) = explode($message->getFieldseperator2(), $message->getFieldvalue('PID', 3));
     list($unit, $kamer, $bed, $campus) = explode($message->getFieldseperator2(), $message->getFieldvalue('PV1', 3));
     $geslacht = $message->getFieldvalue('PID', 8);
     $geboortedatum = $this->converttotime($message->getFieldvalue('PID', 7));
     if ($message->getFieldvalue('PV1', 3) == '') {
         //Ambulant
         $this->finishMessage($message);
         return 0;
     }
     if ($kamer == 0 || $campus == 0 || $bed == 0) {
         //	Erh?? Zonder bed of campus kan ik niets doen!
         $this->errorMessage($message, 'geen kamer/bed/campus');
     } else {
         echo 'verhangen dossier ' . $naam . ' (' . $dossnr . ') VE: ' . $unit . ' Kamer: ' . $kamer . ' Bed: ' . $bed . ' Campus: ' . $campus . '<br />';
         $patientObject = new keukenpatientObject();
         $patientObject->setVoornaam($voornaam);
         $patientObject->setAchternaam($achternaam);
         $patientObject->setCurrentdossiernr($dossnr);
         $patientObject->setPatientnr($patnr);
         $patientObject->setGeslacht($geslacht);
         $patientObject->setGeboortedatum($geboortedatum);
         $patientObject->setKamer($kamer);
         $patientObject->setBed($bed);
         $patientObject->setCampus($campus);
         $patientObject->setVe($unit);
         $patientObject->setLastmessageid($message->getFieldvalue('MSH', 10));
         $patientObject->setLasteventtime($this->converttotime($message->getFieldvalue('EVN', 6)));
         $patientObject->setLastmessagetime($this->converttotime($message->getFieldvalue('EVN', 2)));
         if ($message->getFieldvalue('PV1', 7) != '') {
             list($dokterognummer, $dokternaam, $doktervoornaam, $null, $null, $dokterprefix) = explode($message->getFieldseperator2(), $message->getFieldvalue('PV1', 7));
             $patientObject->setDokterognummer($dokterognummer);
             $patientObject->setDokternaam($dokterprefix . ' ' . $dokternaam . ' ' . $doktervoornaam);
         }
         $model = new keukenpatientModel();
         $test = $model->getfromPatientnr($patnr);
         if (count($test) > 0) {
             $patientObject->setId($test[0]->getId());
         }
         try {
             $model->save($patientObject);
         } catch (Exception $e) {
             $this->errorMessage($message, 'could not save: ' . $e->getMessage());
             return false;
         }
         // verwijderen bij de vorige patiënt?
         $oldpatnr = $message->getFieldvalue('MRG', 1);
         $olddosnr = $message->getFieldvalue('MRG', 5);
         $testpat = $model->get(array('AND' => array(array('patientnr' => array('mode' => '=', 'value' => $oldpatnr)), array('currentdossiernr' => array('mode' => '=', 'value' => $olddosnr)))));
         if (count($testpat) == 1) {
             $testpat = $testpat[0];
             $testpat->setKamer('');
             $testpat->setBed('');
             $testpat->setCampus('');
             $testpat->setVe('');
             $testpat->setCurrentdossiernr('');
             $testpat->setDokterognummer('');
             $testpat->setDokternaam('');
             try {
                 $model->save($testpat);
             } catch (Exception $e) {
                 $this->errorMessage($message, 'could not save: ' . $e->getMessage());
                 return false;
             }
         }
         //			// register it
         //			$this->registermovement($message);
         // We made it!
         $this->finishMessage($message);
     }
 }