Example #1
0
def addDiagnosis(url, driver):
    '''
    Main Logic behind addition of diagnosis for patient

    Arguments:
        url(str): Target URL
        driver(obj): firefox webdriver instance in python 
    
    Returns:
        None
    '''
    patientCredentials = getPatientCredentials()
    therapistCredentials = getTherapistCredentials()
    driver.get(url + "Therapist/My-Patients/View")
    driver.find_element_by_id('BodyContent_TextboxSearch').send_keys(
        patientCredentials[0])
    driver.find_element_by_id('BodyContent_ButtonSearch').click()
    time.sleep(10)
    driver.find_element_by_id(
        'BodyContent_GridViewPatient_LinkButtonViewDiagnosis_0').click()
    time.sleep(10)
    driver.find_element_by_id('BodyContent_TextboxSearchDiagnosis').send_keys(
        therapistCredentials[2])
    driver.find_element_by_id('BodyContent_ButtonSearchDiagnosis').click()
    time.sleep(10)
    addDiagnosisScript = "__doPostBack('ctl00$BodyContent$GridViewPatientDiagnosisAdd$ctl02$ctl00','')"
    driver.execute_script(addDiagnosisScript)
    time.sleep(10)
    logoutScript = "__doPostBack('ctl00$ctl13','')"
    driver.execute_script(logoutScript)
    driver.close()
    driver.quit()
    print(" -Therapist has created a new diagnosis")
Example #2
0
def assignTherapist(url, driver):
    '''
    Main Logic behind assigning therapist for the patient

    Arguments:
        url(str): Target URL
        driver(obj): firefox webdriver instance in python 
    
    Returns:
        None
    '''
    patientCredentials = getPatientCredentials()
    therapistCredentials = getTherapistCredentials()
    driver.get(url + 'Admin/Manage-Accounts/View')
    driver.find_element_by_id('BodyContent_TextboxSearch').send_keys(
        patientCredentials[0])
    driver.find_element_by_id('BodyContent_ButtonSearch').click()
    time.sleep(10)
    patientScript = "__doPostBack('ctl00$BodyContent$GridViewAccounts$ctl02$ctl02','')"
    driver.execute_script(patientScript)
    time.sleep(10)
    driver.find_element_by_id('BodyContent_TextboxSearchTherapist').send_keys(
        therapistCredentials[0])
    driver.find_element_by_id('BodyContent_ButtonSearchTherapist').click()
    therapistScript = "__doPostBack('ctl00$BodyContent$GridViewTherapists$ctl02$ctl00','')"
    driver.execute_script(therapistScript)
    time.sleep(10)
    logoutScript = "__doPostBack('ctl00$ctl13','')"
    driver.execute_script(logoutScript)
    driver.close()
    driver.quit()
    print(" -Therapist assigned to patient")
Example #3
0
def requestPermissions(url, driver):
    '''
    Main Logic behind requesting permission for therapist to access patient records

    Arguments:
        url(str): Target URL
        driver(obj): firefox webdriver instance in python 
    
    Returns:
        None
    '''
    try:
        patientCredentials = getPatientCredentials()
        therapistCredentials = getTherapistCredentials()
        information = str(patientCredentials[9]).lower()
        driver.get(url + 'Therapist/My-Patients/New-Request')
        driver.find_element_by_id('BodyContent_TextboxSearch').send_keys(
            patientCredentials[0])
        driver.find_element_by_id('BodyContent_ButtonSearch').click()
        time.sleep(10)
        driver.find_element_by_id(
            'BodyContent_GridViewPatient_LinkButtonRequest_0').click()
        if information == "height":
            driver.find_element_by_id('CheckBoxTypeHeightMeasurement').click()
        elif information == "weight":
            time.sleep(10)
            weightBox = driver.find_element_by_id(
                'CheckBoxTypeWeightMeasurement').click()
        elif information == "temperature":
            time.sleep(10)
            driver.find_element_by_id(
                'CheckBoxTypeTemperatureMeasurement').click()
        elif information == "bp":
            time.sleep(2)
            driver.find_element_by_id(
                'CheckBoxTypeBloodPressureMeasurement').click()
        else:
            print("No such permissions")
            return
        driver.find_element_by_id('BodyContent_buttonRequest').click()
        logoutScript = "__doPostBack('ctl00$ctl13','')"
        driver.execute_script(logoutScript)
        driver.close()
        driver.quit()
        print(" -Therapist request for permission")
    except:
        driver.close()
        driver.quit()
        print("Permission already obtained")
Example #4
0
def registerPatientAccount(url, driver):
    '''
    Main Logic used for registering a patient account

    Arguments:
        url(str): Target URL
        driver(obj): firefox webdriver instance in python 
    
    Return:
        None
    '''
    patientCredentials = getPatientCredentials()
    driver.get(url + "Admin/Manage-Accounts/Register")
    nric = patientCredentials[0]
    dob = patientCredentials[1]
    firstName = patientCredentials[2]
    lastName = patientCredentials[3]
    address = patientCredentials[4]
    email = patientCredentials[5]
    postalcode = patientCredentials[6]
    contactNumber = patientCredentials[7]
    password = patientCredentials[8]
    driver.find_element_by_id('BodyContent_inputNRIC').send_keys(nric)
    dateBox = driver.find_element_by_id('BodyContent_inputDoB')
    dateBox.click()
    dateBox.send_keys(dob)
    driver.find_element_by_id('BodyContent_inputFirstName').send_keys(
        firstName)
    driver.find_element_by_id('BodyContent_inputLastName').send_keys(lastName)
    driver.find_element_by_id('BodyContent_inputAddress').send_keys(address)
    driver.find_element_by_id('BodyContent_inputPostalCode').send_keys(
        postalcode)
    driver.find_element_by_id('BodyContent_inputEmail').send_keys(email)
    driver.find_element_by_id('BodyContent_inputContactNumber').send_keys(
        contactNumber)
    driver.find_element_by_id('BodyContent_inputPassword').send_keys(password)
    driver.find_element_by_id('BodyContent_inputPasswordConfirm').send_keys(
        password)
    driver.find_element_by_id('BodyContent_inputCountryofBirth').send_keys(
        'Afghanistan')
    driver.find_element_by_id('BodyContent_inputNationality').send_keys(
        'Afghan')
    driver.find_element_by_id('BodyContent_buttonRegister').click()
Example #5
0
def main(url):
    '''
    Logic behind the main function

    Arguments:
        url(str) : Target URL

    Returns:
        None
    '''
    driver = None
    try:
        adminCredentials = getAdminCredentials()
        therapistCredentials = getTherapistCredentials()
        patientCredentials = getPatientCredentials()
        driver = getDriver(url)
        adminLogin(url, driver, adminCredentials[0], adminCredentials[1])
        registerPatientAccount(url, driver)
        assignTherapist(url, driver)
        driver = getDriver(url)
        patientLogin(url, driver, patientCredentials[0], patientCredentials[8])
        createNewRecord(url, driver)
        driver = getDriver(url)
        therapistLogin(url, driver, therapistCredentials[0],
                       therapistCredentials[1])
        requestPermissions(url, driver)
        driver = getDriver(url)
        patientLogin(url, driver, patientCredentials[0], patientCredentials[8])
        approvePermissions(url, driver)
        driver = getDriver(url)
        therapistLogin(url, driver, therapistCredentials[0],
                       therapistCredentials[1])
        addDiagnosis(url, driver)
        driver = getDriver(url)
        patientLogin(url, driver, patientCredentials[0], patientCredentials[8])
        viewDiagnosis(url, driver)
    except:
        if (getDriverStatus(driver) == "alive"):
            driver.quit()
            print("Invalid hostname. Please try again!")
        else:
            print("Invalid hostname. Please try again!")
Example #6
0
def createNewRecord(url, driver):
    '''
    Main Logic behind creating new records for patient

    Arguments:
        url(str): Target URL
        driver(obj): firefox webdriver instance in python 
    
    Returns:
        None
    '''
    driver.get(url + 'Patient/My-Records/New-Record')
    patientCredentials = getPatientCredentials()
    information = str(patientCredentials[9]).lower()
    data = patientCredentials[10]
    if information == "height":
        driver.find_element_by_id('RadioButtonTypeHeightMeasurement').click()
    elif information == "weight":
        driver.find_element_by_id('RadioButtonTypeWeightMeasurement').click()
    elif information == "temperature":
        driver.find_element_by_id('RadioButtonTypeTemperatureReading').click()
    elif information == "bp":
        driver.find_element_by_id('RadioButtonBloodPressureReading').click()
    else:
        print(
            "Invalid data type! Please use a valid data type(height/weight/temperature/bp)"
        )
        return
    driver.find_element_by_id('BodyContent_inputContent').send_keys(data)
    driver.find_element_by_id('BodyContent_inputTitle').send_keys('Test Data')
    driver.find_element_by_id('BodyContent_buttonSubmit').click()
    logoutScript = "__doPostBack('ctl00$ctl13','')"
    driver.execute_script(logoutScript)
    driver.close()
    driver.quit()
    print(" -Records created for new patient")