/** * Récupération de la date d'entrée réelle/prévue * * @param DOMNode $node PV1 Node * @param CSejour $newVenue Admit * * @return void */ function getAdmitDischarge(DOMNode $node, CSejour $newVenue) { $event_code = $this->_ref_exchange_hl7v2->code; $PV1_44 = $this->queryTextNode("PV1.44", $node); $PV1_45 = $this->queryTextNode("PV1.45", $node); // On récupère l'entrée réelle ssi msg == A01 || A04 if ($event_code == "A01" || $event_code == "A04") { $newVenue->entree_reelle = $PV1_44; } // On récupére la sortie réelle ssi msg == A03 if ($event_code == "A03") { $newVenue->sortie_reelle = $PV1_45; } // Dans tous les autres cas on synchronise l'entrée et la sortie réelle ssi on a déjà la donnée dans Mediboard if ($newVenue->entree_reelle) { $newVenue->entree_reelle = $PV1_44; } if ($newVenue->sortie_reelle) { $newVenue->sortie_reelle = $PV1_45; } // Cas spécifique de certains segments // A11 : on supprime la date d'entrée réelle && on met en trash le numéro de dossier if ($event_code == "A11") { $newVenue->entree_reelle = ""; $where = array(); $where["original_trigger_code"] = " = 'A05'"; $movements = $newVenue->loadRefsMovements($where); if (empty($movements)) { $newVenue->_generate_NDA = false; $newVenue->trashNDA(); } } // A38 : on met en trash le numéro de dossier if ($event_code == "A38") { $newVenue->_generate_NDA = false; $newVenue->trashNDA(); } // A13 : on supprime la date de sortie réelle if ($event_code == "A13") { $newVenue->sortie_reelle = ""; } }