예제 #1
0
 public function deleteUser($userid)
 {
     $loggedInUser = CxSessionHandler::getItem('userid');
     // check if user has permission to delete users
     if (!RoleController::hasRole($loggedInUser, ADMINISTRATOR)) {
         $response_array = array(JsonResponse::P_STATUS => JsonResponse::STATUS_ERROR, JsonResponse::P_MESSAGE => 'You are not authorized to delete users!');
         return $response_array;
     }
     $user_deleted = $this->user->deleteUser($userid);
     if ($user_deleted) {
         // log user out from database level, once delete is succesful
         $authenticator = new AuthenticationController();
         $authenticator->flagUserOffline($userid);
     }
     return $user_deleted;
 }
예제 #2
0
 public function addPatient($patient, $doctor)
 {
     $arrival = new ArrivalModel();
     $response = array();
     $is_doctor = RoleController::hasRole($doctor, DOCTOR);
     $is_general_queue = $doctor == GENERAL_QUEUE;
     if (!$is_doctor && !$is_general_queue) {
         $response[P_STATUS] = STATUS_ERROR;
         $response[P_MESSAGE] = "Error!!! Invalid doctor!";
         return $response;
     }
     //CHECK IF PATIENT IS NOT ALREADY ON A QUEUE
     if ($arrival->patientOnQueue($patient)) {
         $response[P_STATUS] = STATUS_ERROR;
         $response[P_MESSAGE] = "Error!!! Patient already on queue";
         return $response;
     }
     $arrival_data = array();
     $arrival_data[PatientQueueTable::patient_id] = $patient;
     $arrival_data[PatientQueueTable::doctor_id] = $doctor;
     $feedback = $arrival->add($arrival_data);
     return $feedback;
 }
예제 #3
0
<?php

require_once '../_core/global/_require.php';
Crave::requireAll(GLOBAL_VAR);
Crave::requireAll(UTIL);
Crave::requireFiles(MODEL, array('BaseModel', 'RoleModel', 'PatientModel', 'PharmacistModel'));
Crave::requireFiles(CONTROLLER, array('RoleController', 'PharmacistController'));
$pharm_id = CxSessionHandler::getItem('userid');
if (RoleController::hasRole($pharm_id, PHARMACIST)) {
}
if (isset($_REQUEST['intent'])) {
    $intent = $_REQUEST['intent'];
} else {
    echo JsonResponse::error('Intent not set!');
    exit;
}
if ($intent == 'getPatientQueue') {
    // Retrieve Out Patient Queue
    $queue = (new PharmacistController())->getPatientQueue();
    if (is_array($queue) && !empty($queue)) {
        echo JsonResponse::success($queue);
        exit;
    } else {
        echo JsonResponse::error("No patient on queue");
        exit;
    }
} elseif ($intent == 'getPrescription') {
    $treatmentId = isset($_REQUEST['treatmentId']) ? $_REQUEST['treatmentId'] : null;
    $encounterId = isset($_REQUEST['encounterId']) ? $_REQUEST['encounter_id'] : 0;
    if ($treatmentId) {
        // Retrieve Patient Prescription
예제 #4
0
            }
        } else {
            echo JsonResponse::accessDenied();
            exit;
        }
    } else {
        echo JsonResponse::error("No lab type chosen");
        exit;
    }
} elseif ($intent == 'getLabDetails') {
    if (isset($_REQUEST['labType']) && isset($_REQUEST['treatment_id'])) {
        $labType = $_REQUEST['labType'];
        $treatmentId = $_REQUEST['treatment_id'];
        $encounterId = isset($_REQUEST['encounter_id']) ? $_REQUEST['encounter_id'] : 0;
        $role = isset($labType_Role[$labType]) ? $labType_Role[$labType] : null;
        if ($role && RoleController::hasRole($lab_attendant_id, $role)) {
            $lab = new LaboratoryController();
            $details = $lab->getLabDetails($labType, $treatmentId, $encounterId);
            if (is_array($details) && !empty($details)) {
                echo JsonResponse::success($details);
                exit;
            } else {
                echo JsonResponse::error("This patient has no lab data yet!");
                exit;
            }
        } else {
            echo JsonResponse::accessDenied();
            exit;
        }
    } else {
        echo JsonResponse::error("No lab type or treatment id chosen");
예제 #5
0
        exit;
    }
} elseif ($intent == 'loadGenQueue') {
    //Load general queue
    $usher = new ArrivalController();
    $queue = $usher->getGenQueue();
    if (is_array($queue)) {
        echo JsonResponse::success($queue);
        exit;
    } else {
        echo JsonResponse::error("Queue is empty!");
        exit;
    }
} elseif ($intent == 'loadDoctorQueue') {
    $doctor_id = CxSessionHandler::getItem(UserAuthTable::userid);
    $is_doctor = RoleController::hasRole($doctor_id, DOCTOR);
    if ($is_doctor) {
        $usher = new ArrivalController();
        $response = $usher->getDoctorQueue($doctor_id);
        if (is_array($response)) {
            echo JsonResponse::success($response);
            exit;
        } else {
            echo JsonResponse::error("Doctorr queue is empty!");
            exit;
        }
    } else {
        echo JsonResponse::error("Logged in user is not a doctor!");
        exit;
    }
} elseif ($intent == 'addToQueue') {
<?php

require_once '../_core/global/_require.php';
Crave::requireAll(GLOBAL_VAR);
Crave::requireAll(UTIL);
Crave::requireFiles(MODEL, array('BaseModel', 'AdmissionModel', 'RoleModel'));
Crave::requireFiles(CONTROLLER, array('AdmissionController', 'RoleController'));
if (isset($_REQUEST['intent'])) {
    $intent = $_REQUEST['intent'];
} else {
    echo JsonResponse::error('Intent not set!');
    exit;
}
if ($intent == 'requestAdmission') {
    $userid = CxSessionHandler::getItem(UserAuthTable::userid);
    if (!RoleController::hasRole($userid, DOCTOR)) {
        echo JsonResponse::error("User does not have privilege to request admission.");
        exit;
    }
    if (isset($_REQUEST[TreatmentTable::treatment_id])) {
        $response = AdmissionController::requestAdmission($_REQUEST[TreatmentTable::treatment_id]);
        if ($response) {
            echo JsonResponse::message(STATUS_OK, "Admission request successful!");
            exit;
        } else {
            echo JsonResponse::error("Unable to request admission!");
            exit;
        }
    } else {
        echo JsonResponse::error("Incomplete request parameters!");
        exit;