/**
  * 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();
                 }
             }
         }
     }
 }