function ConstructCaseQuery(&$ADB, $AParams) { $vFilter = array(); $vTable = 'emst_cases'; $vCaseID = @$AParams['case_id']; if (!empty($vCaseID)) { $vFilter[] = $ADB->CondEqual('id', $vCaseID); } AddQueryParamLike($ADB, $vFilter, $AParams, 'first_name'); AddQueryParamLike($ADB, $vFilter, $AParams, 'last_name'); AddQueryParamLike($ADB, $vFilter, $AParams, 'patr_name'); if (array_key_exists('paytype', $AParams) && $AParams['paytype'] >= 0) { $vFilter[] = $ADB->CondEqual('paytype', $AParams['paytype']); } if (array_key_exists('beg_date', $AParams) && IsValidDate($AParams['beg_date'])) { $vFilter[] = $ADB->CondGE('create_time', $AParams['beg_date']); } if (array_key_exists('end_date', $AParams) && IsValidDate($AParams['end_date'])) { $vFilter[] = $ADB->CondLT('create_time', DateAddDay($AParams['end_date'])); } if (array_key_exists('doctor_id', $AParams) && !empty($AParams['doctor_id'])) { $vFilter[] = 'id IN (SELECT case_id FROM emst_surgeries WHERE ' . $ADB->CondEqual('user_id', $AParams['doctor_id']) . ')'; } $vFilter = implode(' AND ', $vFilter); $vOrder = 'emst_cases.id'; return array($vTable, $vFilter, $vOrder); }
function ConstructSurgeriesQuery(&$ADB, $AParams) { $vFilter = array(); $vTable = 'emst_surgeries ' . ' LEFT JOIN emst_cases ON emst_surgeries.case_id = emst_cases.id' . ' LEFT JOIN rb_employment_categories ON rb_employment_categories.id = emst_cases.employment_category_id' . ' LEFT JOIN rb_clinical_outcomes ON emst_surgeries.clinical_outcome_id = rb_clinical_outcomes.id'; $vFilter[] = '(emst_surgeries.disability=2 OR ' . ' (emst_surgeries.disability=0 AND rb_employment_categories.need_ill_doc!=0))'; $vFilter[] = 'emst_surgeries.ill_refused=0'; $vFilter[] = 'ill_sertificat=0'; $vFilter[] = '(emst_surgeries.clinical_outcome_id IS NULL OR rb_clinical_outcomes.can_skip_ill_doc_on_disability=0)'; $vFilter[] = 'emst_cases.disability_from_date = DATE(emst_surgeries.date)'; if (array_key_exists('beg_date', $AParams) && IsValidDate($AParams['beg_date'])) { $vFilter[] = $ADB->CondGE('date', $AParams['beg_date']); } if (array_key_exists('end_date', $AParams) && IsValidDate($AParams['end_date'])) { $vFilter[] = $ADB->CondLT('date', DateAddDay($AParams['end_date'])); } $vFilter = implode(' AND ', $vFilter); $vOrder = 'emst_surgeries.date, emst_surgeries.id'; return array($vTable, $vFilter, $vOrder); }
function ConstructCaseQuery(&$ADB, $AParams) { $vFilter = array(); $vTable = 'emst_cases'; $vCaseID = @$AParams['case_id']; if (!empty($vCaseID)) { $vFilter[] = $ADB->CondEqual('id', $vCaseID); } $vFilter[] = $ADB->CondEqual('next_visit_date', $ADB->ConvertToDate(time())); AddQueryParamLike($ADB, $vFilter, $AParams, 'first_name'); AddQueryParamLike($ADB, $vFilter, $AParams, 'last_name'); AddQueryParamLike($ADB, $vFilter, $AParams, 'patr_name'); if (array_key_exists('beg_date', $AParams) && IsValidDate($AParams['beg_date'])) { $vFilter[] = $ADB->CondGE('create_time', $AParams['beg_date']); } if (array_key_exists('end_date', $AParams) && IsValidDate($AParams['end_date'])) { $vFilter[] = $ADB->CondLT('create_time', DateAddDay($AParams['end_date'])); } $vFilter = implode(' AND ', $vFilter); $vOrder = 'emst_cases.id'; return array($vTable, $vFilter, $vOrder); }
function ConstructSurgeriesQuery(&$ADB, $AParams) { $vFilter = array(); $vTable = 'emst_surgeries LEFT JOIN emst_cases ON emst_cases.id=emst_surgeries.case_id'; $vCaseID = @$AParams['case_id']; if (!empty($vCaseID)) { $vFilter[] = $ADB->CondEqual('case_id', $vCaseID); } AddQueryParamLike($ADB, $vFilter, $AParams, 'first_name'); AddQueryParamLike($ADB, $vFilter, $AParams, 'last_name'); AddQueryParamLike($ADB, $vFilter, $AParams, 'patr_name'); if (array_key_exists('beg_date', $AParams) && IsValidDate($AParams['beg_date'])) { $vFilter[] = $ADB->CondGE('date', $AParams['beg_date']); } if (array_key_exists('end_date', $AParams) && IsValidDate($AParams['end_date'])) { $vFilter[] = $ADB->CondLT('date', DateAddDay($AParams['end_date'])); } if (array_key_exists('doctor_id', $AParams) && !empty($AParams['doctor_id'])) { $vFilter[] = $ADB->CondEqual('user_id', $AParams['doctor_id']); } $vFilter = implode(' AND ', $vFilter); $vOrder = 'emst_surgeries.case_id, emst_surgeries.date, emst_surgeries.id'; return array($vTable, $vFilter, $vOrder); }
function ConstructSurgeriesQuery(&$ADB, $AParams) { $vFilter = array(); $vTable = 'emst_surgeries ' . ' LEFT JOIN emst_cases ON emst_cases.id=emst_surgeries.case_id' . ' LEFT JOIN rb_employment_categories ON emst_cases.employment_category_id = rb_employment_categories.id' . ' LEFT JOIN rb_clinical_outcomes ON emst_surgeries.clinical_outcome_id = rb_clinical_outcomes.id'; $vCaseID = @$AParams['case_id']; if (!empty($vCaseID)) { $vFilter[] = $ADB->CondEqual('case_id', $vCaseID); } AddQueryParamLike($ADB, $vFilter, $AParams, 'first_name'); AddQueryParamLike($ADB, $vFilter, $AParams, 'last_name'); AddQueryParamLike($ADB, $vFilter, $AParams, 'patr_name'); if (array_key_exists('beg_date', $AParams) && IsValidDate($AParams['beg_date'])) { $vFilter[] = $ADB->CondGE('date', $AParams['beg_date']); } if (array_key_exists('end_date', $AParams) && IsValidDate($AParams['end_date'])) { $vFilter[] = $ADB->CondLT('date', DateAddDay($AParams['end_date'])); } if (array_key_exists('doctor_id', $AParams) && !empty($AParams['doctor_id'])) { $vFilter[] = $ADB->CondEqual('user_id', $AParams['doctor_id']); } if (array_key_exists('is_primary', $AParams)) { $vFilterPart = gSurgeryIsPrimary; if ($AParams['is_primary'] === '0') { $vFilter[] = 'NOT ' . $vFilterPart; } else { if ($AParams['is_primary'] === '1') { $vFilter[] = $vFilterPart; } } } if (array_key_exists('empty_diagnosis_mkb', $AParams) && $AParams['empty_diagnosis_mkb']) { $vFilter[] = 'emst_surgeries.diagnosis_mkb = \'\''; } if (array_key_exists('is_bad_doc', $AParams)) { $vFilterPart = gCaseWithBadDoc; if ($AParams['is_bad_doc'] === '0') { $vFilter[] = 'NOT ' . $vFilterPart; } else { if ($AParams['is_bad_doc'] === '1') { $vFilter[] = $vFilterPart; } } } if (array_key_exists('is_bad_illdoc', $AParams)) { $vFilterPart = gSurgeryWithBadIllDoc; if ($AParams['is_bad_illdoc'] === '0') { $vFilter[] = 'NOT ' . $vFilterPart; } else { if ($AParams['is_bad_illdoc'] === '1') { $vFilter[] = $vFilterPart; } } } if (array_key_exists('eisoms_status', $AParams) && $AParams['eisoms_status'] !== '') { $vFilter[] = $ADB->CondEqual('eisoms_status', $AParams['eisoms_status']); $vFilter[] = 'emst_cases.paytype = 0'; } if (array_key_exists('is_lost_outcome', $AParams) && $AParams['is_lost_outcome']) { $vFilter[] = gLostOutcome; } $vFilter = implode(' AND ', $vFilter); $vOrder = 'emst_surgeries.date, emst_surgeries.id'; return array($vTable, $vFilter, $vOrder); }