protected function processA12Message(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', 6)); $geslacht = $message->getFieldvalue('PID', 8); $geboortedatum = $this->converttotime($message->getFieldvalue('PID', 7)); if ($message->getFieldvalue('PV1', 3) == '') { //Ambulant $this->finishMessage($message); return 0; } if ($message->getFieldvalue('PV1', 45) != '') { // Update van een reeds afgesloten dossier/verpleegperiod $this->finishMessage($message); return 0; } $model = new keukenpatientModel(); $patient = $model->getfromCurrentdossiernr($dossnr); if (count($patient) == 1) { $patient = $patient[0]; echo 'Annulatie verplaatsing ' . $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(0); $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; } } // // register it // $this->registermovement($message); // We made it! $this->finishMessage($message); }