本文整理汇总了PHP中CPatient::loadFromIPP方法的典型用法代码示例。如果您正苦于以下问题:PHP CPatient::loadFromIPP方法的具体用法?PHP CPatient::loadFromIPP怎么用?PHP CPatient::loadFromIPP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPatient
的用法示例。
在下文中一共展示了CPatient::loadFromIPP方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handle
/**
* Handle link/unlink patients message
*
* @param CHL7Acknowledgment $ack Acknowledgment
* @param CPatient $patient Person
* @param array $data Data
*
* @return string|void
*/
function handle(CHL7Acknowledgment $ack, CPatient $patient, $data)
{
$exchange_hl7v2 = $this->_ref_exchange_hl7v2;
$sender = $exchange_hl7v2->_ref_sender;
$sender->loadConfigValues();
$this->_ref_sender = $sender;
if (count($data["PID"]) != 2) {
return $exchange_hl7v2->setAckAR($ack, "E500", null, $patient);
}
foreach ($data["PID"] as $_PID) {
$patientPI = CValue::read($_PID['personIdentifiers'], "PI");
// Acquittement d'erreur : identifiants PI non fournis
if (!$patientPI) {
return $exchange_hl7v2->setAckAR($ack, "E100", null, $patient);
}
}
$patient_1_PI = CValue::read($data["PID"][0]['personIdentifiers'], "PI");
$patient_2_PI = CValue::read($data["PID"][1]['personIdentifiers'], "PI");
$patient_1 = new CPatient();
$patient_1->_IPP = $patient_1_PI;
$patient_1->loadFromIPP($sender->group_id);
// PI non connu (non fourni ou non retrouvé)
if (!$patient_1->_id) {
return $exchange_hl7v2->setAckAR($ack, "E501", null, $patient_1);
}
$patient_2 = new CPatient();
$patient_2->_IPP = $patient_2_PI;
$patient_2->loadFromIPP($sender->group_id);
// PI non connu (non fourni ou non retrouvé)
if (!$patient_2->_id) {
return $exchange_hl7v2->setAckAR($ack, "E501", null, $patient_2);
}
$function_handle = "handle{$exchange_hl7v2->code}";
if (!method_exists($this, $function_handle)) {
return $exchange_hl7v2->setAckAR($ack, "E006", null, $patient);
}
return $this->{$function_handle}($ack, $patient_1, $patient_2, $data);
}
示例2: importFile
/**
* import the patient file
*
* @param string $file path to the file
* @param int $start start int
* @param int $count number of iterations
* @param resource $file_import file for report
*
* @return null
*/
function importFile($file, $start, $count, $file_import)
{
$fp = fopen($file, 'r');
$csv_file = new CCSVFile($fp);
$csv_file->column_names = $csv_file->readLine();
if ($start == 0) {
$start++;
} elseif ($start > 1) {
$csv_file->jumpLine($start);
}
$group_id = CGroups::loadCurrent()->_id;
$treated_line = 0;
while ($treated_line < $count) {
$treated_line++;
$patient = new CPatient();
$_patient = $csv_file->readLine(true);
if (!$_patient) {
CAppUI::stepAjax('Importation terminée', UI_MSG_OK);
CApp::rip();
}
$patient->bind($_patient);
$patient->loadFromIPP($group_id);
if ($patient->_id) {
$start++;
continue;
}
$nom = $_patient['nom'] ? $_patient['nom'] : $_patient['nom_jeune_fille'];
if (!$patient->nom) {
if ($patient->nom_jeune_fille) {
$patient->nom = $patient->nom_jeune_fille;
} else {
CMbDebug::log("Ligne #{$start} : Pas de nom");
$start++;
continue;
}
}
$naissance = null;
if ($patient->naissance) {
$naissance = preg_replace('/(\\d{2})\\/(\\d{2})\\/(\\d{4})/', '\\3-\\2-\\1', $patient->naissance);
$patient->naissance = $naissance;
}
$patient->repair();
if (!$patient->naissance) {
CMbDebug::log($_patient);
CMbDebug::log("Ligne #{$start} : Date de naissance invalide ({$_patient['naissance']})");
$start++;
continue;
}
$patient->loadMatchingPatient();
if (!$patient->_id) {
$patient->bind($_patient);
$patient->nom = $nom;
$patient->naissance = $naissance;
$patient->tel = preg_replace("/[^0-9]/", "", $patient->tel);
$patient->tel_autre = preg_replace("/[^0-9]/", "", $patient->tel_autre);
$patient->sexe = strtolower($patient->sexe);
$patient->repair();
if ($msg = $patient->store()) {
CMbDebug::log($patient, null, true);
CMbDebug::log("Ligne #{$start} :{$msg}");
$start++;
continue;
}
}
$ipp = CIdSante400::getMatch($patient->_class, CPatient::getTagIPP($group_id), $patient->_IPP, $patient->_id);
if ($ipp->_id && $ipp->id400 != $patient->_IPP) {
CMbDebug::log("Ligne #{$start} : Ce patient possède déjà un IPP ({$ipp->id400})");
$start++;
continue;
}
if (!$ipp->_id) {
if ($msg = $ipp->store()) {
CMbDebug::log("Ligne #{$start} :{$msg}");
$start++;
continue;
}
}
CAppUI::setMsg('CPatient-msg-create', UI_MSG_OK);
}
echo CAppUI::getMsg();
}
示例3: array
$patient_prenom = $patVitale->prenom;
CValue::setSession("nom", $patVitale->nom);
CValue::setSession("prenom", $patVitale->prenom);
$cv->loadFromIdVitale($patVitale);
}
}
// Recherhche par IPP
if ($patient_ipp && !$useVitale && CModule::getInstalled("dPsante400")) {
// Initialisation dans le cas d'une recherche par IPP
$patients = array();
$patientsSoundex = array();
$patientsCount = 0;
$patientsSoundexCount = 0;
$patient = new CPatient();
$patient->_IPP = $patient_ipp;
$patient->loadFromIPP();
if ($patient->_id) {
CValue::setSession("patient_id", $patient->_id);
$patients[$patient->_id] = $patient;
}
} else {
$where = array();
$whereSoundex = array();
$ljoin = array();
$soundexObj = new soundex2();
// Limitation du nombre de caractères
$patient_nom_search = trim($patient_nom);
$patient_prenom_search = trim($patient_prenom);
if ($limit_char_search = CAppUI::conf("dPpatients CPatient limit_char_search")) {
$patient_nom_search = substr($patient_nom_search, 0, $limit_char_search);
$patient_prenom_search = substr($patient_prenom_search, 0, $limit_char_search);