* @package Mediboard * @subpackage Patients * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision:$ */ CCanDo::checkRead(); $dossier_medical_id = CValue::get("dossier_medical_id"); $object_guid = CValue::get("object_guid"); $type = CValue::get("type"); $exclude = CValue::get("exclude"); if ($object_guid) { $dossier_medical = CMbObject::loadFromGuid($object_guid); } else { $dossier_medical = new CDossierMedical(); $dossier_medical->load($dossier_medical_id); } if ($type) { $dossier_medical->loadRefsAntecedentsOfType($type); } else { $dossier_medical->loadRefsAntecedents(); } $tab_atc = array(); $ant_communs = array(); $patient = null; if ($dossier_medical->object_class == "CSejour") { $dossier_medical->loadRefObject(); /* @var CSejour $sejour*/ $sejour = $dossier_medical->_ref_object; $doss_patient = $sejour->loadRefPatient()->loadRefDossierMedical(); if ($type) {
/** * Vérifie et extrait les codes CIM des remarques pour les sauvegarder dans le dossier médical * * @return void */ function checkCodeCim10() { preg_match_all('/\\b[A-Z]\\d{2}\\.?\\d{0,2}\\b/i', $this->rques, $matches); foreach ($matches as $match_) { foreach ($match_ as &$match) { // Transformation du code CIM pour le tester $match = str_replace(".", "", $match); $match = strtoupper($match); // Chargement du code CIM 10 $code_cim10 = CCodeCIM10::get($match); if ($code_cim10->libelle != "Code CIM inexistant") { // Cas du code valide, sauvegarde du code CIM $dossier_medical = new CDossierMedical(); $dossier_medical->load($this->dossier_medical_id); // si le code n'est pas deja present, on le rajoute if (!array_key_exists($match, $dossier_medical->_ext_codes_cim)) { if ($dossier_medical->codes_cim != "") { $dossier_medical->codes_cim .= "|"; } $dossier_medical->codes_cim .= $match; $dossier_medical->store(); } } } } }