def enregistrer_patient(self, nom_patient, prenom_patient, date_patient, date_teste, nss, adresse_postale, telephone, e_mail): p = patient.Patient() p.set_nom(nom_patient) p.set_prenom(prenom_patient) p.set_date_de_naiss(date_patient) p.set_nss(nss) p.set_date_teste(date_teste) p.set_id_medecin(model_global.get_user_id()) #Coordonnées du patient coord = p.get_coordonnees() coord.set_adresse_postale(adresse_postale) coord.set_telephone(telephone) coord.set_adresse_mail(e_mail) #Enregistrement et récupère l'id id = dao_patient.dao_Patient().insert_patient(p) #Recherche la personne dans la base pliste = dao_patient.dao_Patient().get_patient(id) page = super().header() page = page + '''<fieldset class="cadre"> <legend> Enregistrement d'un nouveau patient </legend>''' page = page + "<br>Nouveau patient <b>" + pliste.get_prenom( ) + " " + pliste.get_nom() + "</b> ajouté.<br>" page = page + "Votre patient peut désormais se connecter à l'aide des identifiants ci-dessous : <br>" page = page + super().get_acces_utilisateur(pliste.get_id_personne()) page = page + ''' <div><a href="liste_patients">Liste des patients</a> <a href="accueil_medecin">Accueil</a></div></fieldset>''' page = page + super().footer() return page
def get_patients_medecin_non_analyses(self, id_medecin): base = db.SQLiteManager() cursor = base.connect() req = '''SELECT DISTINCT(pat.id), pat.id_personne, pers.nom, pers.prenom, pers.date_de_naissance, pat.nss, pat.id_medecin FROM patients AS pat JOIN personnes AS pers ON pers.id = pat.id_personne JOIN questionnaires AS quest ON quest.id_patient = pat.id WHERE pat.id_medecin = ''' + str( id_medecin) + ''' AND quest.etat_patient = -1''' print(req) cursor.execute(req) result = cursor.fetchall() p = [] pcur = None for cur in result: #id_patient, id_personne, nom, prenom, daten, nss, id_medecin pcur = patient.Patient() pcur.set_patient(cur[0], cur[1], cur[2], cur[3], cur[4], cur[5], cur[6]) p.append(pcur) base.close() return p
def get_patients_medecin(self, id_medecin, recherche): base = db.SQLiteManager() cursor = base.connect() cursor.execute( '''SELECT pat.id, pat.id_personne, pers.nom, pers.prenom, pers.date_de_naissance, pat.nss, pat.id_medecin FROM patients AS pat JOIN personnes AS pers ON pers.id = pat.id_personne WHERE pat.id_medecin = ''' + str(id_medecin) + ''' AND (pers.nom LIKE '%''' + recherche + '''%' OR pers.prenom LIKE '%''' + recherche + '''%' OR pat.nss LIKE '%''' + recherche + '''%') ''') result = cursor.fetchall() p = [] pcur = None for cur in result: #id_patient, id_personne, nom, prenom, daten, nss, id_medecin pcur = patient.Patient() pcur.set_patient(cur[0], cur[1], cur[2], cur[3], cur[4], cur[5], cur[6]) p.append(pcur) base.close() return p
def connexion(self, login, passe): #Mise en commentaire du cryptagepour l'exercice #passe = passe.encode() #passe = hashlib.sha1(passe).hexdigest() base = db.SQLiteManager() cursor = base.connect() sql = '''SELECT pat.id, pat.nss, pat.id_personne, pat.id_medecin FROM patients AS pat JOIN personnes AS pers ON pat.id_personne = pers.id JOIN acces AS acc ON acc.id_personne = pers.id ''' sql = sql + "WHERE acc.login LIKE '" + login + "' AND acc.mot_de_passe LIKE '" + passe + "'" print(sql) cursor.execute(sql) result = cursor.fetchall() base.close() if len(result) > 0: ac = patient.Patient() ac.set_id(result[0][0]) ac.set_nss(result[0][1]) ac.set_id_personne(result[0][2]) ac.set_id_medecin(result[0][3]) return ac else: return None
def get_patient(self, id): base = db.SQLiteManager() cursor = base.connect() cursor.execute( "SELECT id, nss, id_personne, id_medecin, date_teste FROM patients WHERE id = " + str(id)) result = cursor.fetchall() base.close() p = None if len(result) > 0: p = patient.Patient() p.set_id(result[0][0]) p.set_nss(result[0][1]) p.set_id_personne(result[0][2]) p.set_id_medecin(result[0][3]) p.set_date_teste(result[0][4]) pers = super().get_personne(p.get_id_personne()) p.set_nom(pers.get_nom()) p.set_prenom(pers.get_prenom()) p.set_date_de_naiss(pers.get_date_de_naiss()) coord = dao_coordonnees.dao_Coordonnees().get_coordonnees_personne( p.get_id_personne()) p.set_coordonnees2(coord) return p