/** * Identifiant de dossier médical lié à l'objet fourni. * Crée le dossier médical si nécessaire * * @param integer $object_id Identifiant de l'objet * @param string $object_class Classe de l'objet * * @return integer Id du dossier médical */ static function dossierMedicalId($object_id, $object_class) { $dossier = new CDossierMedical(); $dossier->object_id = $object_id; $dossier->object_class = $object_class; $dossier->loadMatchingObject(); if (!$dossier->_id) { $dossier->store(); } return $dossier->_id; }
/** * 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(); } } } } }