function createDiag($res, $i) { global $options; global $stopAffichage; $mod = new ModeliXe("HprimXMLDiag.html"); $mod->SetModeliXe(); $tabActe = array(); $tabActe = explode('|', XhamTools::sansAccent($res['CONTENU'][$i])); $type = $res['TYPE'][$i]; $idpass = $tabActe[0]; $idu = $tabActe[1]; $nomu = $tabActe[2]; $pren = $tabActe[3]; $sexe = $tabActe[4]; $dtnai = $tabActe[5]; $dtdem = $tabActe[6]; $hhdem = $tabActe[7]; $action = $tabActe[9]; $idact = $tabActe[10]; $cdccam = $tabActe[11]; $cddiags = $tabActe[12]; $dtr = $tabActe[15]; $hhr = $tabActe[16]; $nomumed = $tabActe[17]; $prenmed = $tabActe[18]; $adeli = $tabActe[19]; $ufr = $tabActe[20]; if ($options->getOption("HprimXML_CodeMedecinInterv") == 'ADELI9') { $this->adeliMedecin = sprintf('%09d', $adeli); } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'NOMMED') { $this->adeliMedecin = $nomumed . ' ' . $prenmed; } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'NOMMED10') { $this->adeliMedecin = substr($nomumed . ' ' . $prenmed, 0, 10); } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'ADELI') { $this->adeliMedecin = $adeli; } else { $this->adeliMedecin = ''; } if ($action == 'creation') { $action = utf8_encode('création'); } $date = new clDate(); if ($options->getOption('HprimXML_NomFic')) { $nomFic = $options->getOption('HprimXML_NomFic') . '_' . $res['ID'][$i] . ''; } else { $nomFic = 'fic' . $options->getOption('HprimXML_ChaineFic') . 'TV2_' . $res['ID'][$i] . ''; } $num = $res['ID'][$i]; $pati = new clPatient($res['DISCR'][$i], ''); if (!$pati->getID()) { $pati = new clPatient($res['DISCR'][$i], 'Sortis'); } $datadmi = new clDate($pati->getDateAdmission()); $datexam = new clDate($pati->getDateExamen()); $datsort = new clDate($pati->getDateSortie()); $this->codeMedecinUrgentiste = $pati->getMatriculeMedecin(); if ($options->getOption("ChoixHeureAffectationActes") == "Heure d'admission") { $datdema = $datadmi; } elseif ($options->getOption("ChoixHeureAffectationActes") == "Heure d'examen") { $datdema = $datexam; } elseif ($options->getOption("ChoixHeureAffectationActes") == "Heure de sorti") { $datdema = $datsort; } else { if ($datadmi->getDatetime() != '1999-12-31 00:00:00' and $datsort->getDatetime() != '1999-12-31 00:00:00') { $time = (int) ($datadmi->getTimestamp() / 2) + $datsort->getTimestamp() / 2; } elseif ($datadmi->getDatetime() != '1999-12-31 00:00:00') { $time = $datadmi->getTimestamp(); } else { $time = $datsort->getTimestamp(); } $datdema = new clDate($time); $datmed = new clDate($time); //eko ( $datadmi->getTimestamp ( ).' + '.$datsort->getTimestamp ( ).' = '.$time.' = '.$datdema -> getTimestamp ( ) ) ; //eko ( $datadmi->getDatetime ( ).' + '.$datsort->getDatetime ( ).' = '.$time.' = '.$datdema -> getDatetime ( ) ) ; } $dtdem = $datdema->getDate('Y-m-d'); $hhdem = $datdema->getDate('H:i:s'); if ($options->getOption('HprimXML_DateProduction') == 'Heure médiane') { $date = $datmed; } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure admission') { $date = $datadmi; } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure examen') { $date = $datadmi; } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure sortie') { $date = $datsort; } if ($options->getOption('HprimXML_DateT')) { $mod->MxText('dateHeureProduction', $date->getDate("Y-m-d\\TH:i:s")); } else { $mod->MxText('dateHeureProduction', $date->getDatetime()); } if ($options->getOption('HprimXML_DateVenue') == 'Heure médiane') { $dateve = $datmed; } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure admission') { $dateve = $datadmi; } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure examen') { $dateve = $datadmi; } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure sortie') { $dateve = $datsort; } else { $dateve = $datdema; } $dtven = $dateve->getDate('Y-m-d'); $hhven = $dateve->getDate('H:i:s'); $mod->MxText('identifiantMessage', $res['ID'][$i]); if ($options->getOption('HprimXML_DateT')) { $mod->MxText('dateHeureProduction', $date->getDate("Y-m-d\\TH:i:s")); } else { $mod->MxText('dateHeureProduction', $date->getDatetime()); } $mod->MxText('codeEmetteur', $options->getOption('HprimXML_Emet') ? $options->getOption('HprimXML_Emet') : $res['DISCR'][$i]); $mod->MxText('codeDestinataire', $options->getOption('HprimXML_Dest')); $mod->MxText('patientEmetteur', $idu); $mod->MxText('patientRecepteur', $idu); $mod->MxText('sexe', $sexe); $mod->MxText('patientNom', $nomu); $mod->MxText('patientPrenom', $pren); if ($dtnai != "00/00/0000") { $mod->MxText('patientNaissance', $dtnai); } else { $mod->MxText('patientNaissance', ""); } $mod->MxText('venueRecepteur', $idpass); $mod->MxText('venueDate', $dtven); $mod->MxText('venueHeure', $hhven); $mod->MxText('action', $action); $mod->MxText('rumEmetteur', $idpass); $mod->MxText('rumDate', $dtr); $mod->MxText('ADELI', $this->adeliMedecin); //$mod -> MxText ( 'rumUF', $ufr ) ; $mod->MxText('rumUF', $pati->getUF() ? $pati->getUF() : $ufr); $mod->MxText('rumUFDate', $dtdem); $mod->MxText('rumUFHeure', $hhdem); switch ($options->getOption('HprimXML_CIM10_encodage')) { case 'alphanum': $cdccam = ereg_replace("[^A-Za-z0-9]", "", $cdccam); break; case 'alphanumcross': $cdccam = ereg_replace("[^A-Za-z0-9+]", "", $cdccam); break; default: $cdccam = $cdccam; break; } $mod->MxText('cim10princ', $cdccam); $tabd = explode('~', $cddiags); //eko ( count ( $tabd ).' : '.$cddiags ); if (count($tabd) < 1 or $cddiags == '~' or $cddiags == '') { //$mod -> MxBloc ( 'diagsign', 'replace', '<diagnosticSignificatif><codeCim10/></diagnosticSignificatif>' ) ; //eko ( "ici" ) ; $mod->MxBloc('diagssign', 'replace', ' '); } else { for ($i = 0; isset($tabd[$i]); $i++) { switch ($options->getOption('HprimXML_CIM10_encodage')) { case 'alphanum': $codeCim10sign = ereg_replace("[^A-Za-z0-9]", "", $tabd[$i]); break; case 'alphanumcross': $codeCim10sign = ereg_replace("[^A-Za-z0-9+]", "", $tabd[$i]); break; default: $codeCim10sign = $tabd[$i]; break; } $mod->MxText('diagssign.diagsign.codeCim10sign', $codeCim10sign); $mod->MxBloc('diagssign.diagsign', 'loop'); } } if ($options->getOption('HprimXML_NomFic') and $options->getOption('HprimXML_NomModulo')) { $nomFic = $options->getOption('HprimXML_NomFic') . sprintf('%03d', $res['ID'][$deb] % 1000); } $this->genFile($mod->MxWrite("1"), $num, $nomFic, array(), "diagxml/"); }