本文整理汇总了PHP中CSejour::fieldFirstModified方法的典型用法代码示例。如果您正苦于以下问题:PHP CSejour::fieldFirstModified方法的具体用法?PHP CSejour::fieldFirstModified怎么用?PHP CSejour::fieldFirstModified使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSejour
的用法示例。
在下文中一共展示了CSejour::fieldFirstModified方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getCodeSejour
/**
* Get admit HL7 event code
*
* @param CSejour $sejour Admit
*
* @return null|string
*/
function getCodeSejour(CSejour $sejour)
{
$current_log = $sejour->loadLastLog();
if (!in_array($current_log->type, array("create", "store"))) {
return null;
}
$receiver = $sejour->_receiver;
$configs = $receiver->_configs;
$sejour->loadOldObject();
// Cas d'une pré-admission
if ($sejour->_etat == "preadmission") {
// Création d'une pré-admission
if ($current_log->type == "create") {
// Pending admit
if ($configs["iti31_pending_event_management"] && $sejour->recuse == -1) {
return "A14";
}
return "A05";
}
// Cancel the pending admission
if ($configs["iti31_pending_event_management"] && $sejour->recuse == -1 && $sejour->fieldModified("annule", "1")) {
return "A27";
}
// Modification d'une pré-admission
// Cas d'une annulation ?
if ($sejour->fieldModified("annule", "1")) {
return "A38";
}
// Cas d'un rétablissement d'annulation ?
if ($sejour->fieldModified("annule", "0") && $sejour->_old->annule == 1) {
return "A05";
}
// Annulation de l'admission
if ($sejour->_old->entree_reelle && !$sejour->entree_reelle) {
return "A11";
}
// Réattribution dossier administratif
if ($sejour->fieldModified("patient_id")) {
return "A44";
}
if (!$configs["modification_before_admit"] && !$sejour->entree_reelle) {
return;
}
// Simple modification ?
return $this->getModificationAdmitCode($sejour->_receiver);
}
// Cas d'un séjour en cours (entrée réelle)
if ($sejour->_etat == "encours") {
// Admission faite
$sejour_old = $sejour->_old;
if ($sejour->fieldModified("entree_reelle") && !$sejour_old->entree_reelle || $sejour->entree_reelle && !$sejour_old->entree_reelle) {
// Patient externe
if (in_array($sejour->type, self::$outpatient)) {
return "A04";
}
// Admission hospitalisé
return "A01";
}
// Confirmation de sortie
if ($sejour->fieldFirstModified("confirme")) {
return "A16";
}
// Annulation confirmation de sortie
if ($sejour->fieldEmptyValued("confirme")) {
return "A25";
}
// Bascule du type et type_pec
if ($sejour->fieldModified("type")) {
$sejour->_old->_receiver = $sejour->_receiver;
return $this->getBasculeCode($sejour->_old, $sejour);
}
// Changement du médecin responsable
if ($sejour->fieldModified("praticien_id")) {
$first_log = $sejour->loadFirstLog();
$praticien_id = $sejour->getValueAtDate($first_log->date, "praticien_id");
$send_change_attending_doctor = $configs["send_change_attending_doctor"];
// Annulation du médecin responsable
if ($sejour->praticien_id == $praticien_id) {
return $send_change_attending_doctor == "A54" ? "A55" : $this->getModificationAdmitCode($receiver);
}
return $send_change_attending_doctor == "A54" ? "A54" : $this->getModificationAdmitCode($receiver);
}
// Réattribution dossier administratif
if ($sejour->fieldModified("patient_id")) {
return "A44";
}
// Cas d'une annulation
if ($sejour->fieldModified("annule", "1")) {
return "A11";
}
// Cas d'une rétablissement on simule une nouvelle admission
if ($sejour->fieldModified("annule", "0")) {
// Patient externe
//.........这里部分代码省略.........