Example #1
0
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);
}
Example #2
0
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);
}
Example #3
0
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);
}
Example #4
0
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);
}
Example #5
0
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);
}