예제 #1
0
 function &loadDefaults()
 {
     global $gAddTodaySugrery;
     $vDB = GetDB();
     $vID = @$_GET['id'];
     if (!empty($vID)) {
         $vBaseInfo = $vDB->GetById('emst_cases', $vID);
         if (!is_array($vBaseInfo)) {
             $vBaseInfo = array();
         }
     } else {
         $vBaseInfo = array();
         $vBaseInfo['create_time'] = $vDB->ConvertToDateTime(time());
         $vBaseInfo['next_visit_date'] = $vDB->ConvertToDate(time());
         CopyRecordStrValue($vBaseInfo, $_GET, 'first_name');
         CopyRecordStrValue($vBaseInfo, $_GET, 'last_name');
         CopyRecordStrValue($vBaseInfo, $_GET, 'patr_name');
     }
     $vResult = array();
     $vResult['BaseInfo'] =& $vBaseInfo;
     if (!empty($vID)) {
         $vSurgeries =& $vDB->SelectList('emst_surgeries', '*', $vDB->CondEqual('case_id', $vID), 'date, id');
         // order
     } else {
         $vSurgeries = array();
     }
     $vNow = $vDB->ConvertToDateTime(time());
     $vToday = ExtractWord($vNow, ' ', 0);
     $vCount = count($vSurgeries);
     if ($gAddTodaySugrery && ($vCount == 0 || ExtractWord($vSurgeries[$vCount - 1]['date'], ' ', 0) != $vToday)) {
         $vSurgeries[] = array('date' => $vNow);
         if ($vCount == 0) {
             if (@DateIsEmpty($vBaseInfo['accident_datetime'])) {
                 $vBaseInfo['accident_datetime'] = $vToday;
             }
             $vBaseInfo['disability_from_date'] = $vToday;
             $vSurgeries[$vCount]['objective'] = 'Общее состояние удовлетворительное';
         } else {
             CopyValues($vSurgeries[$vCount], $vSurgeries[$vCount - 1], array('complaints', 'dynamic_id', 'diagnosis', 'diagnosis_mkb', 'disability', 'ill_refused', 'ill_sertificat', 'ill_doc', 'ill_doc_is_continue', 'ill_beg_date', 'ill_end_date', 'next_cec_date'));
             if (!empty($vSurgeries[$vCount - 1]['ill_doc_new'])) {
                 $vSurgeries[$vCount]['ill_doc'] = $vSurgeries[$vCount - 1]['ill_doc_new'];
                 $vSurgeries[$vCount]['ill_doc_is_continue'] = true;
             }
             if ($vSurgeries[$vCount - 1]['ill_end_date'] == $vToday) {
                 $vSurgeries[$vCount]['ill_beg_date'] = DateAddDay($vSurgeries[$vCount - 1]['ill_end_date']);
                 $vSurgeries[$vCount]['ill_end_date'] = '';
             }
             $vObjectiveList = array();
             $vClinicalOutcomeID = $vSurgeries[$vCount - 1]['clinical_outcome_id'];
             if (!empty($vClinicalOutcomeID)) {
                 $vList = GetClinicalOutcomesList();
                 $vObjectiveList[] = 'На предыдущем приёме был установлен исход "' . $vList[$vClinicalOutcomeID] . '". явку объясняет тем, что ... ';
             }
             $vNextVisitDate = $vSurgeries[$vCount - 1]['next_visit_date'];
             if ($vNextVisitDate != '0000-00-00' && $vNextVisitDate < $vToday) {
                 $vObjectiveList[] = 'На приём ' . Date2ReadableLong($vNextVisitDate) . " не явился, объясняет это тем, что ... ";
             }
             $vObjectiveList[] = 'Общее состояние удовлетворительное';
             $vSurgeries[$vCount]['objective'] = implode(".\n", $vObjectiveList);
             CopyValues($vSurgeries[$vCount], $vSurgeries[$vCount - 1], array('cure'));
             /*
                                 CopyValues($vSurgeries[$vCount],
                                            $vSurgeries[$vCount-1],
                                            array('objective',  'cure', 'notes'));
             */
             for ($i = $vCount - 1; $i >= 0; $i--) {
                 if ($vSurgeries[$i]['is_cec']) {
                     $vSurgeries[$vCount]['next_cec_date'] = $vSurgeries[$i]['cec_cureup_date'];
                     break;
                 }
             }
             if ($vSurgeries[$vCount - 1]['next_cec_date'] == $vToday) {
                 $vSurgeries[$vCount]['is_cec'] = 1;
             }
         }
         $vSurgeries[$vCount]['user_id'] = $_SESSION['User.ID'];
     }
     $vCount = count($vSurgeries);
     $vResult['surgeries'] =& $vSurgeries;
     for ($i = 0; $i < $vCount; $i++) {
         $vResult[DatePageName($i)] =& $vSurgeries[$i];
     }
     //            CopyValues($vSurgeries[0], $vBaseInfo, array('accident', 'accident_datetime', 'accident_place', 'antitetanus_id', 'antitetanus_series', 'phone_message_required', 'ice_trauma', 'animal_bite_trauma', 'ixodes_trauma', 'message_number', 'diagnosis', 'diagnosis_mkb', 'disability_from_date'));
     if ($vCount > 0) {
         CopyValues($vSurgeries[0], $vBaseInfo, array('accident', 'accident_datetime', 'accident_place', 'antitetanus_id', 'antitetanus_series', 'phone_message_required', 'ice_trauma', 'animal_bite_trauma', 'ixodes_trauma', 'message_number', 'disability_from_date'));
     }
     $vResult['MiscDocs']['studinfo_freed_beg_date'] = @$vBaseInfo['create_time'];
     $vResult['MiscDocs']['studinfo_freed_end_date'] = $vToday;
     $vResult['html_referer'] = $_SESSION['PrevPage'];
     return $vResult;
 }
예제 #2
0
파일: cases_table.php 프로젝트: uisluu/emst
function FormatClinicalOutcome($AID, $ANotes = '')
{
    //        $vDB = GetDB();
    //        $vRecord = $vDB->GetById('rb_clinical_outcomes', $AID);
    //        $vResult = trim(@$vRecord['name']);
    $vList = GetClinicalOutcomesList();
    $vResult = trim(@$vList[$AID] . ' ' . $ANotes);
    return $vResult;
}