本文整理汇总了PHP中CSejour::loadObject方法的典型用法代码示例。如果您正苦于以下问题:PHP CSejour::loadObject方法的具体用法?PHP CSejour::loadObject怎么用?PHP CSejour::loadObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSejour
的用法示例。
在下文中一共展示了CSejour::loadObject方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
$codePresc = $lines[$fl + 11];
//IPP
if ($lines[$fl] != '') {
$patient->_IPP = $ipp;
$patient->loadFromIPP();
}
//search
if (!$patient->_id && $nom != '' && $prenom != "") {
$where = array();
$where[] = "`nom` LIKE '{$nom}%' OR `nom_jeune_fille` LIKE '{$nom}%'";
$where["prenom"] = "LIKE '{$prenom}%' ";
$where["naissance"] = "LIKE '{$naissance}' ";
$patient->loadObject($where);
}
//NDA
if ($patient->_id && $nda) {
$dossier->loadFromNDA($nda);
}
// patient + date (et pas de nda)
if ($patient->_id && !$dossier->_id && $date) {
$where = array();
$where[] = " '{$date}' BETWEEN entree AND sortie ";
$where["patient_id"] = " = '{$patient->_id}'";
$dossier->loadObject($where);
}
}
$smarty = new CSmartyDP();
$smarty->assign("mail_id", $mail_id);
$smarty->assign("patient", $patient);
$smarty->assign("dossier_id", $dossier->_id);
$smarty->display("inc_vw_attach_piece.tpl");
示例2: store
/**
* @see parent::store()
* @todo Refactoring complet de la fonction store de la consultation
*
* ANALYSE DU CODE
* 1. Gestion du désistement
* 2. Premier if : creation d'une consultation à laquelle on doit attacher
* un séjour (conf active): comportement DEPART / ARRIVEE
* 3. Mise en cache du forfait FSE et facturable : uniquement dans le cas d'un séjour
* 4. On load le séjour de la consultation
* 5. On initialise le _adjust_sejour à false
* 6. Dans le cas ou on a un séjour
* 6.1. S'il est de type consultation, on ajuste le séjour en fonction du comportement DEPART / ARRIVEE
* 6.2. Si la plage de consultation a été modifiée, adjust_sejour passe à true et on ajuste le séjour
* en fonction du comportement DEPART / ARRIVEE (en passant par l'adjustSejour() )
* 6.3. Si on a un id (à virer) et que le chrono est modifié en PATIENT_ARRIVE,
* si on gère les admissions auto (conf) on met une entrée réelle au séjour
* 7. Si le patient est modifié, qu'on est pas en train de merger et qu'on a un séjour,
* on empeche le store
* 8. On appelle le parent::store()
* 9. On passe le forfait SE et facturable au séjour
* 10. On propage la modification du patient de la consultation au séjour
* 11. Si on a ajusté le séjour et qu'on est dans un séjour de type conclut et que le séjour
* n'a plus de consultations, on essaie de le supprimer, sinon on l'annule
* 12. Gestion du tarif et précodage des actes (bindTarif)
* 13. Bind FSE
* ACTIONS
* - Faire une fonction comportement_DEPART_ARRIVEE()
* - Merger le 2, le 6.1 et le 6.2 (et le passer en 2 si possible)
* - Faire une fonction pour le 6.3, le 7, le 10, le 11
* - Améliorer les fonctions 12 et 13 en incluant le test du behaviour fields
*
* COMPORTEMENT DEPART ARRIVEE
* modif de la date d'une consultation ayant un séjour sur le modèle DEPART / ARRIVEE:
* 1. Pour le DEPART :
* -> on décroche la consultation de son ancien séjour
* -> on ne touche pas à l'ancien séjour si :
* - il est de type autre que consultation
* - il a une entrée réelle
* - il a d'autres consultations
* -> sinon on l'annule
*
* 2. Pour l'ARRIVEE
* -> si on a un séjour qui englobe : on la colle dedans
* -> sinon on crée un séjour de consultation
*
* TESTS A EFFECTUER
* 0. Création d'un pause
* 0.1. Déplacement d'une pause
* 1. Création d'une consultation simple C1 (Séjour S1)
* 2. Création d'une deuxième consultation le même jour / même patient C2 (Séjour S1)
* 3. Création d'une troisième consultation le même jour / même patient C3 (Séjour S1)
* 4. Déplacement de la consultation C1 un autre jour (Séjour S2)
* 5. Changement du nom du patient C2 (pas de modification car une autre consultation)
* 6. Déplacement de C3 au même jour (Toujours séjour S1)
* 7. Annulation de C1 (Suppression ou annulation de S1)
* 8. Déplacement de C2 et C3 à un autre jour (séjour S3 créé, séjour S1 supprimé ou annulé)
* 9. Arrivée du patient pour C2 (S3 a une entrée réelle)
* 10. Déplacement de C3 dans un autre jour (S4)
* 11. Déplacement de C2 dans un autre jour (S5 et S3 reste tel quel)
*/
function store()
{
$this->completeField('sejour_id', 'heure', 'plageconsult_id', 'si_desistement', 'annule');
if ($this->si_desistement === null) {
$this->si_desistement = 0;
}
$this->annule = $this->annule === null || $this->annule === '' ? 0 : $this->annule;
$uf_soins_id = $this->_uf_soins_id;
// Consultation dans un séjour
$sejour = new CSejour();
if (!$this->_id && !$this->sejour_id && CAppUI::conf("dPcabinet CConsultation attach_consult_sejour") && $this->patient_id || $this->_force_create_sejour) {
// Recherche séjour englobant
$facturable = $this->_facturable;
if ($facturable === null) {
$facturable = 1;
}
$this->loadRefPlageConsult();
$function = new CFunctions();
if ($this->_function_secondary_id) {
$function->load($this->_function_secondary_id);
} else {
$user = new CMediusers();
$user->load($this->_ref_chir->_id);
$function->load($user->function_id);
}
$datetime = $this->_datetime;
$minutes_before_consult_sejour = CAppUI::conf("dPcabinet CConsultation minutes_before_consult_sejour");
$where = array();
$where['annule'] = " = '0'";
$where['type'] = " != 'seances'";
$where['patient_id'] = " = '{$this->patient_id}'";
if (!CAppUI::conf("dPcabinet CConsultation search_sejour_all_groups")) {
$where['group_id'] = " = '{$function->group_id}'";
}
$where['facturable'] = " = '{$facturable}'";
$datetime_before = CMbDT::dateTime("+{$minutes_before_consult_sejour} minute", "{$this->_date} {$this->heure}");
$where[] = "`sejour`.`entree` <= '{$datetime_before}' AND `sejour`.`sortie` >= '{$datetime}'";
if (!$this->_force_create_sejour) {
$sejour->loadObject($where);
//.........这里部分代码省略.........
示例3: findSejour
/**
* @param string $patient_id Import patient ID
* @param string $prat Import praticien ID
* @param string $date Date
* @param string $idex External ID
*
* @return bool|CSejour|CStoredObject Finds a sejour from a patient, praticien and date
*/
function findSejour($patient_id, $prat, $date, $idex = null)
{
if ($idex) {
$object = $this->getMbObjectByClass("CSejour", $idex);
if ($object->_id) {
return $object;
}
}
// Trouver ou importer le patient
$patient = $this->getOrImportObject($this->_patient_class, $patient_id);
if (!$patient || !$patient->_id) {
CAppUI::setMsg("Patient non retrouvé et non importé : {$patient_id}", UI_MSG_WARNING);
return false;
}
// Trouver le praticien du sejour
$user = $this->getMbObjectByClass("CMediusers", $prat);
if (!$user->_id) {
CAppUI::setMsg("Praticien du séjour non retrouvé : {$prat}", UI_MSG_WARNING);
return false;
}
// Recherche d'un séjour dont le debut peut
// commencer 1 jour apres la date ou finir 2 jours avant
$date = CMbDT::date($date);
$sejour = new CSejour();
$where = array("patient_id" => "= '{$patient->_id}'", "praticien_id" => "= '{$user->_id}'", "DATE_SUB(`sejour`.`entree`, INTERVAL 1 DAY) < '{$date}'", "DATE_ADD(`sejour`.`sortie`, INTERVAL 2 DAY) > '{$date}'");
$sejour->loadObject($where);
if ($sejour->_id && $idex) {
$this->storeIdExt($sejour, $idex);
}
if (!$sejour->_id) {
CAppUI::setMsg("Séjour non trouvé : {$patient_id} / {$prat} / {$date}", UI_MSG_WARNING);
return false;
}
return $sejour;
}
示例4: loadRefSejourDemandeur
/**
* Chargement du séjour probablement demandeur du séjour SSR
* (dont la sortie est proche de l'entree du séjour SSR)
*
* @return CSejour
*/
function loadRefSejourDemandeur()
{
// Effet de cache
if ($this->_ref_sejour_demandeur) {
return $this->_ref_sejour_demandeur;
}
// Requête
$sejour_ssr = $this->loadRefSejour();
$tolerance = CAppUI::conf("ssr CBilanSSR tolerance_sejour_demandeur");
$date_min = CMbDT::date("- {$tolerance} DAYS", $sejour_ssr->entree);
$date_max = CMbDT::date("+ {$tolerance} DAYS", $sejour_ssr->entree);
$where["sortie"] = "BETWEEN '{$date_min}' AND '{$date_max}'";
$where["patient_id"] = "= '{$sejour_ssr->patient_id}'";
$where["annule"] = " = '0'";
$where["type"] = " != 'ssr'";
// Chargement
$sejour = new CSejour();
$sejour->loadObject($where);
return $this->_ref_sejour_demandeur = $sejour;
}
示例5: elseif
$sejour->loadFromNDA($nda);
} elseif ($patient->_id) {
if (!$date_sejour) {
CAppUI::stepAjax("context-sejour-patientOK-date-required", UI_MSG_ERROR, $view);
}
$date_sejour = CMbDT::dateTime($date_sejour);
$where = array();
$where[] = "'{$date_sejour}' BETWEEN entree AND sortie";
$where["patient_id"] = " = '{$patient->_id}'";
$sejours = $sejour->countList($where);
switch ($sejours) {
case 0:
CAppUI::stepAjax("context-none-sejour", UI_MSG_ERROR);
break;
case 1:
$sejour->loadObject($where);
break;
default:
CAppUI::stepAjax("context-multiple-sejour", UI_MSG_ERROR, $sejours);
break;
}
} else {
CAppUI::stepAjax("context-nda-or-PatientPlusDate-required", UI_MSG_ERROR, $view);
}
}
//-----------------------------------------------------------------
if ($mods_available[$view][2] == "patient") {
if (!$patient->_id) {
if ($patient->_IPP) {
CAppUI::stepAjax("context-nonexisting-patient-ipp%s", UI_MSG_ERROR, $patient->_IPP);
} else {
示例6: loadAdmitPES
/**
* Load admit PES
*
* @param CPatient $patient Person
*
* @throws CMbException
*
* @return CSejour $sejour
*/
static function loadAdmitPES(CPatient $patient)
{
$sejour = new CSejour();
$where["patient_id"] = " = '{$patient->_id}'";
$where["libelle"] = " = 'Séjour ITI-31 - {$patient->nom}'";
$order = "sejour_id DESC";
$sejour->loadObject($where, $order);
if (!$sejour->_id) {
throw new CMbException("La séjour du patient '{$patient->nom}' n'a pas été retrouvé");
}
return $sejour;
}