class Doctor(db.Model): __tablename__ = 'cms_tbl_doctors' # __searchable=['name'] doctorId = db.Column(db.Integer, primary_key=True) employeeId = db.Column(db.Integer, db.ForeignKey('cms_tbl_employees.employeeId')) profession = db.Column(db.Integer, db.ForeignKey('cms_tbl_professions.id')) roomNumber = db.Column(db.Integer) fee = db.Column(db.Integer) visits = db.relationship('Visit', backref='cms_tbl_doctors', lazy='dynamic') def __init__(self): pass #wa.whoosh_index(app, Doctor) def __repr__(self): return '{0} {1} {2} {3} {4}'.format(self.doctorId, self.employeeId, self.profession, self.roomNumber, self.fee) def store(self, employeeId, profession, roomNumber, fee): self.employeeId = employeeId self.profession = profession self.roomNumber = roomNumber self.fee = fee with app.app_context(): db.session.merge(self) db.session.commit() def show(self): return self.query.all() def update(self, doctorId, employeeId, profession, roomNumber, fee): self.doctorId = doctorId self.employeeId = employeeId self.profession = profession self.roomNumber = roomNumber self.fee = fee with app.app_context(): db.session.merge(self) db.session.commit() def delete(self, doctorId): record = self.query.get(doctorId) db.session.delete(record) db.session.commit() def wsr(self, input_text): return self.query.whoosh_search(input_text, like=True, or_=True, limit=40).all()
class Test(db.Model): __tablename__ = 'cms_tbl_tests' # __searchable=['name'] testId = db.Column(db.Integer, primary_key=True) typeId = db.Column(db.Integer, db.ForeignKey('cms_tbl_testTypes.Id')) testDate = db.Column(db.DateTime, index=True, default=datetime.utcnow) action = db.Column(db.Text) tests = db.relationship('Payment', cascade="all, delete-orphan", backref='cms_tbl_patients', lazy='dynamic') createdDate = db.Column(db.DateTime, index=True, default=datetime.now()) attachment = db.Column(db.Text) def __init__(self): pass #wa.whoosh_index(app, Test) def __repr__(self): return '{0} {1} {2} {3} {4}'.format(self.testId, self.typeId, self.testDate, self.action, self.attachment) def store(self, typeId): self.typeId = typeId self.action = 'untested' with app.app_context(): db.session.merge(self) db.session.commit() def show(self): return self.query.all() def update(self, testId, typeId): self.testId = testId self.typeId = typeId self.action = 'tested' with app.app_context(): db.session.merge(self) db.session.commit() def delete(self, testId): record = self.query.get(testId) db.session.delete(record) db.session.commit() def wsr(self, input_text): return self.query.whoosh_search(input_text, like=True, or_=True, limit=40).all()
class TestType(db.Model): __tablename__ = 'cms_tbl_testTypes' # __searchable=['name'] Id = db.Column(db.Integer, primary_key=True) Name = db.Column(db.String(30), unique=True) Amount = db.Column(db.Float) tests = db.relationship('Test', backref='cms_tbl_testTypes', lazy='dynamic') createdDate = db.Column(db.DateTime, index=True, default=datetime.now()) def __init__(self): pass #wa.whoosh_index(app, Patient) def __repr__(self): return '{0} {1} {2}'.format(self.Id, self.Name, self.Amount) def store(self, Name, Amount): self.Name = Name self.Amount = Amount with app.app_context(): db.session.merge(self) db.session.commit() def show(self): return self.query.all() def update(self, Id, Name, Amount): self.Id = Id self.Name = Name self.Amount = Amount with app.app_context(): db.session.merge(self) db.session.commit() def delete(self, Id): record = self.query.get(Id) db.session.delete(record) db.session.commit() def wsr(self, input_text): return self.query.whoosh_search(input_text, like=True, or_=True, limit=40).all()
class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) employeeId = db.Column(db.Integer, db.ForeignKey('cms_tbl_employees.employeeId')) username = db.Column(db.String(50), nullable=False, unique=True) password = db.Column(db.String(255), nullable=False, server_default='') active = db.Column(db.Boolean(), nullable=False, server_default='0') roles = db.relationship('Role', secondary='user_roles') def delete(self, id): record = self.query.get(id) db.session.delete(record) db.session.commit()
class Visit(db.Model): __tablename__ = 'cms_tbl_visits' visitId = db.Column(db.Integer, primary_key=True) patientId = db.Column(db.Integer, db.ForeignKey('cms_tbl_patients.patientId')) doctorId = db.Column(db.Integer, db.ForeignKey('cms_tbl_doctors.doctorId')) action = db.Column(db.Text) payments = db.relationship('Payment', cascade="all, delete-orphan", backref='cms_tbl_visits', lazy='dynamic') visitDate = db.Column(db.DateTime, index=True, default=datetime.now()) def __init__(self): pass def __repr__(self): return '{0} {1} {2} {3} {4}'.format() def store(self, patientId, doctorId): self.patientId = patientId self.doctorId = doctorId self.action = "unvisited" with app.app_context(): db.session.merge(self) db.session.commit() def show(self): return self.query.all() def update(self, visitId, doctorId): self.visitId = visitId self.doctorId = doctorId with app.app_context(): db.session.merge(self) db.session.commit() def delete(self, visitId): record = self.query.get(visitId) db.session.delete(record) db.session.commit()
class Category(db.Model): __tablename__ = 'cms_tbl_categories' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text) drugs = db.relationship('Drug', backref='cms_tbl_categories', lazy='dynamic') def store(self, name): self.name = name with app.app_context(): db.session.merge(self) db.session.commit() def __repr__(self): return '{0} {1}'.format(self.id, self.name) def show(self): return self.query.all()
class Profession(db.Model): __tablename__ = 'cms_tbl_professions' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.LargeBinary) doctors = db.relationship('Doctor', backref='cms_tbl_professions', lazy='dynamic') def store(self, name): self.name = name.encode('utf-8') with app.app_context(): db.session.merge(self) db.session.commit() def __repr__(self): return '{0} {1}'.format(self.id, self.name) def show(self): return self.query.all()
class Drug(db.Model): __tablename__ = 'cms_tbl_drugs' #__searchable__=['drugName'] drugId = db.Column(db.Integer, primary_key=True) drugName = db.Column(db.Text) drugType = db.Column(db.Integer, db.ForeignKey('cms_tbl_drugTypes.id')) companyName = db.Column( db.Integer, db.ForeignKey('cms_tbl_companies.id', ondelete='RESTRICT')) categoryName = db.Column(db.Integer, db.ForeignKey('cms_tbl_categories.id')) barcode = db.Column(db.Text) purchases = db.relationship('Purchase', backref='cms_tbl_drugs', lazy='dynamic') sales = db.relationship('Sale', backref='cms_tbl_drugs', lazy='dynamic') createdDate = db.Column(db.DateTime, index=True, default=datetime.now()) def __init__(self): pass #wa.whoosh_index(app, Drug) def store(self, drugName, drugType, companyName, categoryName, barcode): self.drugName = drugName self.drugType = drugType self.companyName = companyName self.categoryName = categoryName self.barcode = barcode with app.app_context(): db.session.merge(self) db.session.commit() def __repr__(self): return '{0} {1} {2} {3} {4} {5}'.format(self.drugId, self.drugName, self.drugType, self.companyName, self.categoryName, self.barcode) def show(self): return self.query.all() def update(self, drugId, drugName, drugType, companyName, categoryName, barcode): self.drugId = drugId self.drugName = drugName self.drugType = drugType self.companyName = companyName self.categoryName = categoryName self.barcode = barcode with app.app_context(): db.session.merge(self) db.session.commit() def delete(self, drugId): record = self.query.get(drugId) db.session.delete(record) db.session.commit() def getBybcr(self, barcode): return self.query.filter(Drug.barcode == barcode).all() def wsr(self, input_text): return self.query.whoosh_search(input_text, like=True, or_=True, limit=40).all()
class Employee(db.Model): __tablename__ = 'cms_tbl_employees' # __searchable=['name'] employeeId = db.Column(db.Integer, primary_key=True) employeeName = db.Column(db.LargeBinary) phoneNumber = db.Column(db.Text) homeAddress = db.Column(db.LargeBinary) NIC_No = db.Column(db.Integer) employeeJob = db.Column(db.Integer, db.ForeignKey('cms_tbl_jobs.id')) employeeEmail = db.Column(db.Text) employeePhoto = db.Column(db.Text) users = db.relationship('User', backref='cms_tbl_employees', lazy='dynamic') sallaries = db.relationship('Salary', backref='cms_tbl_employees', lazy='dynamic') doctors = db.relationship('Doctor', backref='cms_tbl_employees', lazy='dynamic') def __init__(self): pass #wa.whoosh_index(app, Employee) def __repr__(self): return '{0} {1} {2} {3} {4} {5} {6} {7}'.format( self.employeeId, self.employeeName.decode('utf-8'), self.phoneNumber, self.homeAddress.decode('utf-8'), self.NIC_No, self.employeeJob, self.employeeEmail, self.employeePhoto) # return '{0}'.format(self.employeeName.decode('utf-8')) pass def store(self, employeeName, phoneNumber, homeAddress, NIC_No, employeeJob, employeeEmail): self.employeeName = employeeName self.phoneNumber = phoneNumber self.homeAddress = homeAddress self.NIC_No = NIC_No self.employeeJob = employeeJob self.employeeEmail = employeeEmail with app.app_context(): db.session.merge(self) db.session.commit() def show(self): return self.query.all() def showEmployeeNames(self): return Employee.query.with_entities( Employee.employeeName.decode('utf-8')) def showEmployeeByID(self, empName): return Employee.query.with_entities( Employee.employeeId).filter(Employee.employeeName == empName) def update(self, employeeId, employeeName, phoneNumber, homeAddress, NIC_No, employeeJob, employeeEmail): self.employeeId = employeeId self.employeeName = employeeName self.phoneNumber = phoneNumber self.homeAddress = homeAddress self.NIC_No = NIC_No self.employeeJob = employeeJob self.employeeEmail = employeeEmail with app.app_context(): db.session.merge(self) db.session.commit() def delete(self, employeeId): record = self.query.get(employeeId) db.session.delete(record) db.session.commit() def wsr(self, input_text): return self.query.whoosh_search(input_text, like=True, or_=True, limit=40).all()
class Patient(db.Model): __tablename__ = 'cms_tbl_patients' # __searchable=['name'] patientId = db.Column(db.Integer, primary_key=True) patientName = db.Column(db.LargeBinary) patientAge = db.Column(db.Integer) gender = db.Column(db.Text) phoneNumber = db.Column(db.String(10), unique=True) visitDate = db.Column(db.DateTime, index=True, default=datetime.utcnow) visits = db.relationship('Visit', backref='cms_tbl_patients', lazy='dynamic') # payments = def __init__(self): pass #wa.whoosh_index(app, Patient) def __repr__(self): return '{0} {1} {2} {3} {4}'.format(self.patientId, self.patientName.decode('utf-8'), self.patientAge, self.gender, self.phoneNumber) def store(self, patientName, patientAge, gender, phoneNumber): self.patientName = patientName self.patientAge = patientAge self.gender = gender self.phoneNumber = phoneNumber # self.visitDate=visitDate with app.app_context(): db.session.merge(self) db.session.commit() def show(self): return self.query.all() def update(self, patientId, patientName, patientAge, gender, phoneNumber): self.patientId = patientId self.patientName = patientName self.patientAge = patientAge self.gender = gender self.phoneNumber = phoneNumber with app.app_context(): db.session.merge(self) db.session.commit() def delete(self, patientId): record = self.query.get(patientId) db.session.delete(record) db.session.commit() def wsr(self, input_text): return self.query.whoosh_search(input_text, like=True, or_=True, limit=40).all()