Пример #1
0
 def update(self, add = False):
     cv = csv_manage(self.authority + ".csv")
     if (add == True):
         res = cv.write_data(self.get_line())
         return res 
     else:
         return cv.edit_data([[0, self.email]], self.get_line())
Пример #2
0
 def get_all_list(self):
     cv = csv_manage("health_centres.csv")
     center_list = cv.get_all_data()
     result = []
     for line in center_list:
         result.append(self.get_center(line[2]))
     return result
Пример #3
0
 def get_center_list(self, provider):
     cv = csv_manage("provider_health_centre.csv")
     center_list = cv.search_data([[0, provider]])
     result = []
     for line in center_list:
         result.append(self.get_center(line[1]))
     return result
Пример #4
0
 def save(self, provider_email, center_name, start_time, end_time):
     cv = csv_manage("provider_health_centre.csv")
     line = [
         provider_email, center_name,
         start_time.strftime('%H:%M:%S'),
         end_time.strftime('%H:%M:%S')
     ]
     cv.write_data(line)
Пример #5
0
 def get_center(self, centerName):
     cv = csv_manage("health_centres.csv")
     provide_list = cv.search_data([[2, centerName]])
     if provide_list == []:
         return None
     provide_list = provide_list[0]
     return Center(provide_list[0], provide_list[1], provide_list[2],
                   provide_list[3], provide_list[4])
Пример #6
0
 def check(self):
     if (self.authority == None):
         return False
     cv = csv_manage(self.authority + ".csv")
     result = cv.search_data([[0, self.email]])
     if (result != []):
         return True
     return False
Пример #7
0
 def get_user(self, user_id):
     patient = csv_manage("patient.csv")
     data_patient = patient.search_data([[0, user_id]])
     if data_patient != []:
         data_patient = data_patient[0]
         user = Patient(data_patient[0], data_patient[1], data_patient[2],
                        data_patient[3], data_patient[4])
         return user
     provider = csv_manage("provider.csv")
     data_provider = provider.search_data([[0, user_id]])
     if data_provider != []:
         data_provider = data_provider[0]
         user = Provider(data_provider[0], data_provider[1],
                         data_provider[2], data_provider[3],
                         data_provider[4], data_provider[5])
         return user
     return None
Пример #8
0
 def get_provider_list(self, center):
     cv = csv_manage("provider_health_centre.csv")
     provide_list = cv.search_data([[1, center]])
     result = []
     uc = user_check()
     for line in provide_list:
         result.append(uc.get_user(line[0]))
     return result
Пример #9
0
    def update_rating(self, rating):
        cs = csv_manage("rating.csv")
        add_list = [[0, rating.patient]]
        if rating.provider != None:
            add_list.append([1, rating.provider])
        if rating.centre != None:
            add_list.append([1, rating.centre])

        if (cs.search_data(add_list) != []):
            return cs.edit_data(add_list, rating.get_list())
        else:
            return cs.write_data(rating.get_list())
 def search_edit(self, search_list):
     cv = csv_manage("record.csv")
     uc = user_check()
     cm = Center_management()
     result = cv.search_data(search_list)
     return_list = []
     for line in result:
         return_list.append(
             Record(
                 uc.get_user(line[0]), uc.get_user(line[1]),
                 cm.get_center(line[2]), line[3],
                 datetime.datetime.strptime(line[4], '%d-%m-%Y %H:%M:%S'),
                 datetime.datetime.strptime(line[5], '%d-%m-%Y %H:%M:%S'),
                 line[6], line[7]))
     return return_list
Пример #11
0
    def get_rating(self, patient=None, provider=None, centre=None):
        cs = csv_manage("rating.csv")
        add_list = []
        if patient != None:
            add_list.append([0, patient])
        if provider != None:
            add_list.append([1, provider])
        if centre != None:
            add_list.append([1, centre])
        search_result = cs.search_data(add_list)
        average = 0
        if (search_result == []):
            return 5

        for line in search_result:
            average = average + int(line[2])
        average = average / len(search_result)
        return average
 def update_record(self, record, provider=None):
     if record.check() == False:
         return False
     if provider != None:
         if provider.email != record.provider.email:
             return False
     cv = csv_manage("record.csv")
     search_list = [[0, record.patient.email], [1, record.provider.email],
                    [2, record.center.name],
                    [4, record.start_time.strftime('%d-%m-%Y %H:%M:%S')],
                    [5, record.end_time.strftime('%d-%m-%Y %H:%M:%S')]]
     result = cv.search_data(search_list)
     if result == []:
         if record.write_check() == False:
             return False
         cv.write_data(record.get_list())
     else:
         cv.edit_data(search_list, record.get_list())
     return True
Пример #13
0
def search_provider(name):
    provider_data = []
    center_data = []
    f_provider = csv_manage("provider.csv")
    provider_data = f_provider.search_data([[0, name]], 0, 1)

    cm = health_center.Center_management()
    uc = login_check.user_check()
    class_list_provider = []
    class_list_center = []
    for line in provider_data:
        class_list_provider.append(uc.get_user(line[0]))
    for line in center_data:
        class_list_center.append(cm.get_center(line[2]))
    return render_template("search_result.html",
                           provider_data=class_list_provider,
                           center_data=class_list_center,
                           rating=rating_record.Rating_Management(),
                           get_workingTime=cm.get_workingTime)
    def exist_record(self, patient, provider):
        if (patient == None):
            return False
        if (provider == None):
            return False
        cv = csv_manage("record.csv")
        search_list = []
        if (type(patient) == str):
            search_list.append([0, patient])
        else:
            search_list.append([0, patient.email])

        if (type(provider) == str):
            search_list.append([1, provider])
        else:
            search_list.append([1, provider.email])
        result = cv.search_data(search_list)
        if result == []:
            return False
        else:
            return True
Пример #15
0
 def get_workingTime(self, provider_, center_):
     if (provider_ == None):
         return False
     if (center_ == None):
         return False
     cv = csv_manage("provider_health_centre.csv")
     if (type(provider_) == str or type(provider_) == unicode):
         provider = str(provider_)
     else:
         provider = provider_.email
     if (type(center_) == str or type(center_) == unicode):
         center = str(center)
     else:
         center = center_.name
     time = cv.search_data([[0, provider], [1, center]])
     if (time == []):
         return False
     time = time[0]
     return datetime.datetime.strptime(
         time[2],
         '%H:%M:%S'), datetime.datetime.strptime(time[3], '%H:%M:%S')
    def write_check(self):
        if (self.check() == False):
            return False
        cv = csv_manage("record.csv")
        search_list = [[1, self.provider.email]]
        result = cv.search_data(search_list)
        overlap_time = 0
        for line in result:

            line_start_time = datetime.datetime.strptime(
                line[4], '%d-%m-%Y %H:%M:%S')
            line_end_time = datetime.datetime.strptime(line[5],
                                                       '%d-%m-%Y %H:%M:%S')
            if (self.start_time <= line_start_time
                    and self.end_time >= line_start_time):
                overlap_time = 1
            if (self.start_time <= line_end_time
                    and self.end_time >= line_end_time):
                overlap_time = 1
            if (self.start_time >= line_start_time
                    and self.end_time <= line_end_time):
                overlap_time = 1
            if overlap_time == 1:
                print("overlap_time fail")
                print(self.get_list())
                print(
                    "line_start: %s line_end: %s" %
                    (datetime.datetime.strptime(line[4], '%d-%m-%Y %H:%M:%S'),
                     datetime.datetime.strptime(line[5], '%d-%m-%Y %H:%M:%S')))
                print("self start: %s, self end : %s" %
                      (self.start_time, self.end_time))
                print("---")
                return False

        if datetime.datetime.now() > self.start_time:
            return False
        return True
Пример #17
0
import app.src.rating_record as rating_record
import app.src.appointment_record as appointment_record
import os

REMOVE_FILE = False
csv_management.prefix = ""
csv_management.prefix = "test"
open(csv_management.prefix + "record.csv", "w+").close()
open(csv_management.prefix + "rating.csv", "w+").close()
open(csv_management.prefix + "provider_health_centre.csv", "w+").close()
open(csv_management.prefix + "provider.csv", "w+").close()
open(csv_management.prefix + "patient.csv", "w+").close()
open(csv_management.prefix + "health_centres.csv", "w+").close()

if (True):
    record = csv_management.csv_manage("record.csv")
    rating = csv_management.csv_manage("rating.csv")
    provider_health_centre = csv_management.csv_manage(
        "provider_health_centre.csv")
    provider = csv_management.csv_manage("provider.csv")
    patient = csv_management.csv_manage("patient.csv")
    health_centres = csv_management.csv_manage("health_centres.csv")

    new_patient0 = user_class.Patient("*****@*****.**", "123456", "Mark",
                                      "0456789", "1234567")
    flag = new_patient0.update(add=True)
    new_provider0 = user_class.Provider("*****@*****.**", "123456",
                                        "Mark", "0456789", "1234567", "GP")
    new_provider0.update(add=True)

    print(type(new_patient0))
Пример #18
0
 def check(self):
     cv = csv_manage("health_centres.csv")
     data = cv.search_data([[2, self.name]])
     if data == []:
         return False
     return True
Пример #19
0
 def save(self):
     cv = csv_manage("health_centres.csv")
     line = [self.type, self.Abn, self.name, self.phone, self.location]
     cv.write_data(line)