function doStore() { parent::doStore(); if (CModule::getActive("dPprescription") && !$this->_old->_id) { $p_to_c = new CPrescriptionProtocoleToConcept(); $count_p_to_c = $p_to_c->countList(); if ($count_p_to_c > 0) { /** @var CExObject $ex_object */ $ex_object = $this->_obj; $all_fields = $ex_object->loadRefExClass()->loadRefsAllFields(); $bool_concept_ids = array(); foreach ($all_fields as $_field) { if (strpos($_field->prop, "bool") === 0 && $_field->concept_id && $ex_object->{$_field->name} == "1") { $bool_concept_ids[] = $_field->concept_id; } } $bool_concept_ids = array_unique($bool_concept_ids); $where = array("concept_id" => $p_to_c->getDS()->prepareIn($bool_concept_ids)); $protocole_ids = array_values(CMbArray::pluck($p_to_c->loadList($where), "protocole_id")); if (count($protocole_ids)) { /** @var CSejour $sejour */ $sejour = $ex_object->getReferenceObject("CSejour"); if ($sejour && $sejour->_id) { $prescription = $sejour->loadRefPrescriptionSejour(); if (!$prescription->_id) { $prescription = new CPrescription(); $prescription->object_id = $sejour->_id; $prescription->object_class = $sejour->_class; $prescription->type = "sejour"; if ($msg = $prescription->store()) { CAppUI::setMsg($msg, UI_MSG_WARNING); } } $ops_ids = implode("-", CMbArray::pluck($sejour->loadRefsOperations(array("annulee" => "= '0'")), "operation_id")); CAppUI::callbackAjax("window.opener.ExObject.checkOpsBeforeProtocole", $protocole_ids, $prescription->_id, $sejour->_id, $ops_ids); } } } } }
<?php /** * $Id: httpreq_vw_protocole_anesth.php 19840 2013-07-09 19:36:14Z phenxdesign $ * * @package Mediboard * @subpackage PlanningOp * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 19840 $ */ CCanDo::checkEdit(); $prescription_id = CValue::getOrSession("prescription_id"); $prescription = new CPrescription(); $prescription->load($prescription_id); $smarty = new CSmartyDP(); $smarty->assign("prescription", $prescription); $smarty->assign("nodebug", true); $smarty->display("inc_vw_protocole_anesth.tpl");
CCanDo::checkRead(); $prescription_id = CValue::get("prescription_id", null); $sejour_id = CValue::get("sejour_id"); $contexte = CValue::get("contexte"); $user = CMediusers::get(); $_ref_object = new CSejour(); if ($sejour_id) { $sejour = new CSejour(); $sejour->load($sejour_id); $_ref_object = $sejour; if (!$contexte) { $contexte = "pmsi"; } } if ($prescription_id) { $prescription = new CPrescription(); $prescription->load($prescription_id); $prescription->loadRefObject(); $_ref_object = $prescription->_ref_object; if (!$contexte) { $contexte = $user->isPraticien() ? "prescription" : "pharmacie"; } } $favoris = new CSearchThesaurusEntry(); $favoris_sans_cibles = new CSearchThesaurusEntry(); $targets = new CSearchTargetEntry(); $actes_ccam = array(); $diags_cim = array(); $results = array(); $tab_favoris = array(); $date = CMbDT::date("-1 month");
if ($sejour->_id) { // Cas des urgences $rpu = $sejour->loadRefRPU(); } $isPrescriptionInstalled = CModule::getActive("dPprescription"); // Création du template $smarty = new CSmartyDP(); $smarty->assign("consult", $consult); $smarty->assign("isPrescriptionInstalled", $isPrescriptionInstalled); $smarty->assign("listPrats", $listPrats); if ($isPrescriptionInstalled) { $smarty->assign("line", new CPrescriptionLineMedicament()); CPrescription::$_load_lite = true; $consult->_ref_sejour->loadRefPrescriptionSejour(); $consultAnesth->loadRefSejour()->loadRefPrescriptionSejour(); CPrescription::$_load_lite = false; } $smarty->assign("represcription", CValue::get("represcription", 0)); $smarty->assign("date", $date); $smarty->assign("hour", $hour); $smarty->assign("vue", $vue); $smarty->assign("today", $today); $smarty->assign("now", $now); $smarty->assign("_is_anesth", $consult->_is_anesth); $smarty->assign("consult_anesth", $consultAnesth); $smarty->assign("_is_dentiste", $consult->_is_dentiste); $smarty->assign("current_m", $current_m); $smarty->assign("userSel", $userSel); $smarty->assign("dossier_medical", $dossier_medical); $smarty->assign("antecedents", $dossier_medical->_ref_antecedents_by_type); $smarty->assign("tabs_count", CConsultation::makeTabsCount($consult, $dossier_medical, $consultAnesth, $sejour, $list_etat_dents));
$_prescriptions = $prescription->loadList($where, null, null, "prescription_id", $ljoin); $keys = array_merge($keys, array_keys($_prescriptions)); $prescriptions = array_merge($prescriptions, $_prescriptions); $ljoin = $ljoin_save; } foreach ($prescriptions as $_presc) { $_presc->_ref_object->loadRefPatient(); } array_multisort(CMbArray::pluck($prescriptions, "_ref_object", "_ref_patient", "nom"), SORT_ASC, $prescriptions); } else { $prescriptions = $prescription->loadList($where, "patients.nom", null, "prescription_id", $ljoin); } if ($type_prescription == "sortie_manquante") { foreach ($prescriptions as $_prescription) { // Recherche d'une prescription de sortie correspondant à la prescription de sejour $_prescription_sortie = new CPrescription(); $_prescription_sortie->type = "sortie"; $_prescription_sortie->object_id = $_prescription->object_id; $_prescription_sortie->object_class = $_prescription->object_class; $_prescription_sortie->loadMatchingObject(); if ($_prescription_sortie->_id) { unset($prescriptions[$_prescription->_id]); } } } $sejour = new CSejour(); $sejour->_date_min = $date_min; $sejour->_date_max = $date_max; if (!$praticien_id && $user->isPraticien()) { $praticien_id = $user->_id; }
$smarty->assign("line", $line); $smarty->assign("line_id", $line->_id); $smarty->assign("line_class", $line->_class); $smarty->assign("transmissions_line", $line->_transmissions); $smarty->assign("administrations_line", $line->_administrations); $smarty->assign("unite_prise", $unite_prise); $smarty->display("../../dPprescription/templates/inc_vw_content_line_dossier_soin.tpl"); } } else { // Affichage d'un chapitre if ($chapitre) { $smarty->assign("move_dossier_soin", false); $smarty->assign("chapitre", $chapitre); $smarty->assign("nodebug", true); $smarty->display("../../dPprescription/templates/inc_chapitre_dossier_soin.tpl"); } else { // Affichage du plan de soin complet if (CModule::getActive("dPprescription")) { // Multiple prescriptions existante pour le séjour (Fusion des prescriptions) $prescription_multiple = new CPrescription(); $where = array("type" => " = 'sejour'", "object_class" => " = 'CSejour'", "object_id" => " = '{$prescription->object_id}'"); $multiple_prescription = $prescription_multiple->loadIds($where); $smarty->assign("multiple_prescription", $multiple_prescription); } $sejour->countTasks(); $sejour->countAlertsNotHandled("medium", "observation"); $smarty->assign("admin_prescription", CModule::getCanDo("dPprescription")->admin || CMediusers::get()->isPraticien()); $smarty->assign("move_dossier_soin", false); $smarty->display("inc_vw_dossier_soins.tpl"); } }
CStoredObject::massLoadFwdRef($observations, "user_id"); // Consultations $consultation = new CConsultation(); $whereConsult = $where; $whereConsult["plageconsult.date"] = "BETWEEN '{$datetime_delta}' AND '{$datetime_avg}'"; $ljoin = array("plageconsult" => "plageconsult.plageconsult_id = consultation.plageconsult_id"); $consultations = $consultation->loadList($whereConsult, "plageconsult.date", null, null, $ljoin); CStoredObject::massLoadFwdRef($consultations, "plageconsult_id"); $smarty_cstes = new CSmartyDP("modules/dPpatients"); $smarty_cstes->assign("empty_lines", 2); $smarty_cstes->assign("offline", 1); // Constantes des 12 dernières heures $where_cste = array("datetime" => "BETWEEN '" . CMbDT::subDateTime("12:00:00", $datetime_avg) . "' AND '{$datetime_avg}'"); CPrescriptionLine::$_offline_lite = true; CPrescriptionLineMix::$_offline_lite = true; CPrescription::$_offline_lite = true; foreach ($sejours as $_sejour) { $patient = $_sejour->loadRefPatient(); $_sejour->loadRefPraticien(); $_sejour->loadJourOp($date); if ($service_id == "urgence") { $_sejour->_veille = CMbDT::date($_sejour->entree) != $date; $_sejour->loadRefRPU()->loadRefIDEResponsable(); } $patients_offline[$patient->_guid]["sejour"] = $_sejour; // Transmissions $patients_offline[$patient->_guid]["transmissions"] = array(); // Regroupement par cible $trans_sejour = array(); foreach ($transmissions as $_trans) { if ($_trans->sejour_id != $_sejour->_id) {
// Si le service en session n'est pas dans l'etablissement courant if (CGroups::loadCurrent()->_id != $service->group_id) { $service_id = ""; $service = new CService(); } $date = CValue::getOrSession("debut"); $prescription_id = CValue::get("prescription_id"); // Chargement des configs de services if (!$service_id) { $service_id = "none"; } $configs = CConfigService::getAllFor($service_id); if (!$date) { $date = CMbDT::date(); } $categories = CPrescription::getCategoriesForPeriod($service_id, $date, $real_time); if (!count($categories_id_pancarte)) { $categories_id_pancarte = array("med"); foreach ($categories as $_categorie) { foreach ($_categorie as $_elts) { $categories_id_pancarte = array_merge($categories_id_pancarte, array_keys($_elts)); } } } $filter_line = new CPrescriptionLineMedicament(); $filter_line->debut = $date; // Récupération de la liste des services $where = array(); $where["externe"] = "= '0'"; $where["cancelled"] = "= '0'"; $service = new CService();
$consult_anesth->_id = $consult_anesth->operation_id = $consult_anesth->sejour_id = null; if ($sejour_id) { $consult_anesth->sejour_id = $sejour_id; } if ($operation_id) { $consult_anesth->operation_id = $operation_id; } $msg = $consult_anesth->store(); $represcription = 0; if ($msg) { CAppUI::setMsg($msg); } else { CAppUI::setMsg(CAppUI::tr("CConsultAnesth-msg-duplicate")); //Création de la prescription de séjour selon pref user if ($consult_anesth->sejour_id && CAppUI::pref("show_replication_duplicate")) { $prescription = new CPrescription(); $prescription->object_class = 'CSejour'; $prescription->object_id = $consult_anesth->sejour_id; $prescription->type = 'sejour'; if (!$prescription->loadMatchingObject()) { if ($msg = $prescription->store()) { CAppUI::setMsg($msg, UI_MSG_ERROR); } } $represcription = 1; } } echo CAppUI::getMsg(); if ($redirect) { CAppUI::redirect("m=cabinet&tab=edit_consultation&selConsult=" . $consult_anesth->consultation_id . "&dossier_anesth_id=" . $consult_anesth->_id . "&represcription={$represcription}"); }
$whereCstes["context_class"] = " = 'CSejour'"; $whereCstes["context_id"] = CSQLDataSource::prepareIn(array_keys($sejours)); $constantes = $cste->loadList($whereCstes, "FIND_IN_SET(context_id, '" . implode(',', $sejours_ids) . "')"); CMbObject::massLoadFwdRef($constantes, "user_id"); foreach ($constantes as $_constante) { $_constante->loadRefUser(); $_constante->_ref_context = $sejours[$_constante->context_id]; $trans_and_obs[$_constante->patient_id][$_constante->datetime][] = $_constante; } // Tri des transmission, observations et constantes par date décroissante foreach ($trans_and_obs as &$_trans) { krsort($_trans, SORT_STRING); } } if ($do_medicaments || $do_injections || $do_perfusions || $do_aerosols || $do_elements || $do_stupefiants) { $prescription = new CPrescription(); $wherePresc = array(); $wherePresc["object_class"] = " = 'CSejour'"; $wherePresc["object_id"] = CSQLDataSource::prepareIn(array_keys($sejours)); $prescriptions = $prescription->loadList($wherePresc); foreach ($prescriptions as $_prescription) { $sejour = $sejours[$_prescription->object_id]; $_prescription->_ref_object = $sejour; // Chargement des lignes $_prescription->loadRefsLinesMed("1", "1", "service"); if ($do_elements) { $_prescription->loadRefsLinesElementByCat("1", "1", "", "service"); } if ($do_perfusions || $do_aerosols || $do_stupefiants) { $_prescription->loadRefsPrescriptionLineMixes(); }
/** * @param CConsultation $consult * @param CDossierMedical $dossier_medical * @param CConsultAnesth $consultAnesth * @param CSejour $sejour * @param array $list_etat_dents * * @return array */ static function makeTabsCount($consult, $dossier_medical, $consultAnesth, $sejour, $list_etat_dents) { $tabs_count = array("AntTrait" => 0, "Constantes" => 0, "prescription_sejour" => 0, "facteursRisque" => 0, "Examens" => 0, "Exams" => 0, "ExamsComp" => 0, "Intub" => 0, "InfoAnesth" => 0, "dossier_traitement" => 0, "dossier_suivi" => 0, "Actes" => 0, "fdrConsult" => 0, "reglement" => 0); if (CModule::getActive("dPprescription")) { CPrescription::$_load_lite = true; } foreach ($tabs_count as $_tab => $_count) { $count = 0; switch ($_tab) { case "AntTrait": $prescription = $dossier_medical->loadRefPrescription(); $count_meds = 0; if (CModule::getActive("dPprescription")) { $count_meds = $prescription->countBackRefs("prescription_line_medicament"); } $dossier_medical->countTraitements(); $dossier_medical->countAntecedents(false); $dossier_medical->countAllergies(); $tabs_count[$_tab] = $dossier_medical->_count_antecedents + $dossier_medical->_count_allergies + $dossier_medical->_count_traitements + $count_meds + count($dossier_medical->_ext_codes_cim); break; case "Constantes": if ($sejour->_ref_rpu && $sejour->_ref_rpu->_id) { $tabs_count[$_tab] = $sejour->countBackRefs("contextes_constante"); } else { $tabs_count[$_tab] = $consult->countBackRefs("contextes_constante"); } break; case "prescription_sejour": $_sejour = $sejour; if ($consultAnesth->_id && $consultAnesth->operation_id) { $_sejour = $consultAnesth->loadRefOperation()->loadRefSejour(); } if ($_sejour->_id) { $_sejour->loadRefsPrescriptions(); foreach ($_sejour->_ref_prescriptions as $key => $_prescription) { if (!$_prescription->_id) { unset($_sejour->_ref_prescriptions[$key]); continue; } $_sejour->_ref_prescriptions[$_prescription->_id] = $_prescription; unset($_sejour->_ref_prescriptions[$key]); } if (count($_sejour->_ref_prescriptions)) { $prescription = new CPrescription(); $prescription->massCountMedsElements($_sejour->_ref_prescriptions); foreach ($_sejour->_ref_prescriptions as $_prescription) { $count += array_sum($_prescription->_counts_by_chapitre); } } } $tabs_count[$_tab] = $count; break; case "facteursRisque": if (!$consultAnesth) { break; } if ($dossier_medical->_id) { $fields = array("risque_antibioprophylaxie", "risque_MCJ_chirurgie", "risque_MCJ_patient", "risque_prophylaxie", "risque_thrombo_chirurgie", "risque_thrombo_patient"); foreach ($fields as $_field) { if ($dossier_medical->{$_field} != "NR") { $count++; } } if ($dossier_medical->facteurs_risque) { $count++; } } $tabs_count[$_tab] = $count; break; case "Examens": if ($consultAnesth->_id) { break; } $fields = array("motif", "rques", "examen", "histoire_maladie", "conclusion"); foreach ($fields as $_field) { if ($consult->{$_field}) { $count++; } } $count += $consult->countBackRefs("examaudio"); $count += $consult->countBackRefs("examnyha"); $count += $consult->countBackRefs("exampossum"); $tabs_count[$_tab] = $count; break; case "Exams": if (!$consultAnesth->_id) { break; } $fields = array("examenCardio", "examenPulmo", "examenDigest", "examenAutre"); foreach ($fields as $_field) { if ($consultAnesth->{$_field}) { $count++; } } if ($consult->examen != "") { $count++; } $count += $consult->countBackRefs("examaudio"); $count += $consult->countBackRefs("examnyha"); $count += $consult->countBackRefs("exampossum"); $tabs_count[$_tab] = $count; break; case "ExamsComp": if (!$consultAnesth->_id) { break; } $count += $consult->countBackRefs("examcomp"); if ($consultAnesth->result_ecg) { $count++; } if ($consultAnesth->result_rp) { $count++; } $tabs_count[$_tab] = $count; break; case "Intub": if (!$consultAnesth->_id) { break; } $fields = array("mallampati", "bouche", "distThyro", "mob_cervicale", "etatBucco", "conclusion", "plus_de_55_ans", "edentation", "barbe", "imc_sup_26", "ronflements", "piercing"); foreach ($fields as $_field) { if ($consultAnesth->{$_field}) { $count++; } } $count += count(array_filter($list_etat_dents)); $tabs_count[$_tab] = $count; break; case "InfoAnesth": if (!$consultAnesth->_id) { break; } $op = $consultAnesth->loadRefOperation(); $fields_anesth = array("prepa_preop", "premedication", "apfel_femme", "apfel_non_fumeur", "apfel_atcd_nvp", "apfel_morphine"); $fields_op = array("passage_uscpo", "type_anesth", "ASA", "position"); foreach ($fields_anesth as $_field) { if ($consultAnesth->{$_field}) { $count++; } } if ($op->_id) { foreach ($fields_op as $_field) { if ($op->{$_field}) { $count++; } } } if ($consult->rques) { $count++; } $count += $consultAnesth->countBackRefs("techniques"); $tabs_count[$_tab] = $count; break; case "dossier_traitement": break; case "dossier_suivi": break; case "Actes": $consult->countActes(); $tabs_count[$_tab] = $consult->_count_actes; if ($sejour->_id) { if ($sejour->DP) { $tabs_count[$_tab]++; } if ($_sejour->DR) { $tabs_count[$_tab]++; } $sejour->loadDiagnosticsAssocies(); $tabs_count[$_tab] += count($sejour->_diagnostics_associes); } break; case "fdrConsult": $consult->_docitems_from_dossier_anesth = false; $consult->countDocs(); $consult->countFiles(); $consult->loadRefsPrescriptions(); $tabs_count[$_tab] = $consult->_nb_docs + $consult->_nb_files; if (isset($consult->_ref_prescriptions["externe"])) { $tabs_count[$_tab]++; } if ($sejour->_id) { $sejour->countDocs(); $sejour->countFiles(); $tabs_count[$_tab] += $sejour->_nb_docs + $sejour->_nb_files; } break; case "reglement": $consult->loadRefFacture()->loadRefsReglements(); $tabs_count[$_tab] = count($consult->_ref_facture->_ref_reglements); } } if (CModule::getActive("dPprescription")) { CPrescription::$_load_lite = false; } return $tabs_count; }
$where["cancelled"] = "= '0'"; $service = new CService(); $services = $service->loadGroupList($where); // Initialisations $patients = array(); $alertes = array(); $perfs = array(); $new = array(); $urgences = array(); $lines = array(); $pancarte = array(); $lits = array(); $list_lines = array(); $nb_adm = array(); $prescriptions = array(); $prescription = new CPrescription(); if ($prescription_id) { $prescription->load($prescription_id); $prescriptions[$prescription->_id] = $prescription; } else { // Chargement des prescriptions qui sont dans le service selectionné $ljoin = array(); $ljoin["sejour"] = "prescription.object_id = sejour.sejour_id"; $ljoin["affectation"] = "sejour.sejour_id = affectation.sejour_id"; $where = array(); $where["prescription.object_class"] = " = 'CSejour'"; $where["prescription.type"] = " = 'sejour'"; $where["affectation.service_id"] = " = '{$service_id}'"; if ($real_time) { $time = CMbDT::time(); $where["affectation.entree"] = " <= '{$date} {$time}'";
* @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::check(); global $can; $consultation_id = CValue::get("consultation_id"); $sejour_id = CValue::get("sejour_id"); $count_prescription = 0; if (CModule::getActive("dPprescription")) { // Chargement de la prescription de pre-admission $prescription_preadm = new CPrescription(); $prescription_sejour = new CPrescription(); $prescription_sortie = new CPrescription(); if ($sejour_id) { $prescription_sortie->object_id = $prescription_sejour->object_id = $prescription_preadm->object_id = $sejour_id; $prescription_sortie->object_class = $prescription_sejour->object_class = $prescription_preadm->object_class = "CSejour"; $prescription_preadm->type = "pre_admission"; $prescription_preadm->loadMatchingObject(); if ($prescription_preadm->_id) { $count_prescription++; } $prescription_sejour->type = "sejour"; $prescription_sejour->loadMatchingObject(); if ($prescription_sejour->_id) { $count_prescription++; } $prescription_sortie->type = "sortie"; $prescription_sortie->loadMatchingObject();
} if (!isset($postes_by_date[$_date][$_hour])) { continue; } $key = $postes_by_date[$_date][$_hour]; @($line->_administrations_moment[$_key][$key["day"]][$key["moment"]]['quantite'] += $_administrations_by_hour['quantite']); @($line->_administrations_moment[$_key][$key["day"]][$key["moment"]]['quantite_planifiee'] += $_administrations_by_hour['quantite_planifiee']); } } } } } } } if ($mode_lite) { CPrescription::massLoadLastAdministration($prescription); } } // Dédoublonne les initiales foreach ($initiales as $prescription_id => $_initiales) { foreach ($_initiales as $_date => $_initiales_by_date) { foreach ($_initiales_by_date as $_hour => $_initiales_by_hour) { $initiales[$prescription_id][$_date][$_hour] = array_unique($_initiales_by_hour); } } } $current_moment = isset($postes_by_date[$now_date]) && isset($postes_by_date[$now_date][CMbDT::transform(null, CMbDT::time(), "%H")]) ? $postes_by_date[$now_date][CMbDT::transform(null, CMbDT::time(), "%H")]["moment"] : ""; // Chargement des cis à risque $where = array(); $where["risque"] = " = '1'"; $risques_cis = CProduitLivretTherapeutique::getCISList($where);
/** * Vérification de la possibilité de merger plusieurs séjours * * @param CSejour[] $sejours Séjours concernés * * @return void|string */ function checkMerge($sejours = array()) { if ($msg = parent::checkMerge($sejours)) { return $msg; } // Cas des prescriptions $count_prescription = 0; foreach ($sejours as $_sejour) { $_sejour->loadRefPrescriptionSejour(); if ($_sejour->_ref_prescription_sejour && $_sejour->_ref_prescription_sejour->_id) { // Suppression des prescriptions vide $prescription = new CPrescription(); $prescription->load($_sejour->_ref_prescription_sejour->_id); $back_props = $prescription->getBackProps(); $count_back_props = 0; // On retire les logs de la liste des backprops unset($back_props["logs"]); foreach ($back_props as $back_prop => $object) { $count_back_props += $prescription->countBackRefs($back_prop); } if ($count_back_props == 0) { $prescription->delete(); continue; } if ($count_prescription == 1) { return "Impossible de fusionner des sejours qui comportent chacun des prescriptions de séjour"; } $count_prescription++; } } // Cas des affectations $affectation = new CAffectation(); $where["sejour_id"] = CSQLDataSource::prepareIn(CMbArray::pluck($sejours, "_id")); /** @var CAffectation[] $affectations */ $affectations = $affectation->loadList($where); foreach ($affectations as $_affectation_1) { foreach ($affectations as $_affectation_2) { if ($_affectation_1->collide($_affectation_2)) { return CAppUI::tr("CSejour-merge-warning-affectation-conflict", $_affectation_1->_view, $_affectation_2->_view); } } } return null; }
/** * @see parent::merge() */ function merge($objects = array(), $fast = false) { $prescriptions = CStoredObject::massLoadBackRefs($objects, "prescription"); if ($msg = parent::merge($objects, $fast)) { return $msg; } $this->store(); if (count($prescriptions) > 1) { $prescription = new CPrescription(); $prescription->object_class = $this->_class; $prescription->object_id = $this->_id; $prescription->type = "traitement"; if ($msg = $prescription->merge($prescriptions, $fast)) { return $msg; } } return null; }