Exemplo n.º 1
0
    def post(self, _id=None):
        try:
            data = AppointmentDoctor.parser.parse_args()

            if DoctorModel.find_by_id(_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})
            elif AppointmentModel.find_by_appointment_date(
                    data['appointmentDate']):
                return BaseResponse.bad_request_response(
                    'An appointment is already scheduled in that date.', {})

            appointment = AppointmentModel(
                doctor_id=_id,
                patient_id=data['patientId'],
                appointment_date=data['appointmentDate'],
                reason=data['reason'],
                created_at=None,
                canceled_at=data['canceledAt'],
                updated_on=None,
                status=None)

            appointment.save_to_db()

            return BaseResponse.created_response(
                'Appointment created successfully.',
                appointment.json(role_id=1))
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 2
0
    def put(self, doctor_id=None, patient_id=None, _id=None):
        try:
            data = PrescriptionDoctor.parser.parse_args()

            if DoctorModel.find_by_id(doctor_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})
            elif PatientModel.find_by_id(patient_id) is None:
                return BaseResponse.bad_request_response(
                    'Patient does not exists.', {})

            prescription = PrescriptionModel.find_by_id(_id)

            if prescription:
                prescription.frequency = data['frequency'] if (data['frequency'] is not None) \
                    else prescription.frequency
                prescription.quantity = data['quantity'] if (
                    data['quantity'] is not None) else prescription.quantity
                prescription.durationInDays = data['durationInDays'] if (data['durationInDays'] is not None) \
                    else prescription.durationInDays
                prescription.description = data['description'] if (data['description'] is not None) \
                    else prescription.description
                prescription.finishedAt = data['finishedAt'] if (data['finishedAt'] is not None) \
                    else prescription.finishedAt

                prescription.save_to_db()

                return BaseResponse.created_response(
                    'Prescription updated successfully.',
                    prescription.json(role_id=1))
            else:
                return BaseResponse.not_acceptable_response(
                    'Prescription does not exists.', {})
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 3
0
    def post(self, _id=None):
        try:
            data = AppointmentPatient.parser.parse_args()

            if PatientModel.find_by_id(_id) is None:
                return BaseResponse.bad_request_response(
                    'Patient does not exists.', {})
            elif AppointmentModel.find_by_appointment_date(
                    data['appointmentDate']):
                return BaseResponse.bad_request_response(
                    'An appointment already exists in that date.', {})

            appointment = AppointmentModel(
                doctor_id=data['doctorId'],
                patient_id=_id,
                appointment_date=data['appointmentDate'],
                reason=data['reason'],
                created_at=None,
                canceled_at=data['canceledAt'],
                updated_on=None,
                status='INA')

            appointment.save_to_db()

            return BaseResponse.created_response(
                'Appointment registered successfully.',
                appointment.json(role_id=2))
        except Exception as e:
            return BaseResponse.server_error_response(str(e))
Exemplo n.º 4
0
    def delete(self, patient_id=None, doctor_id=None, _id=None):
        try:
            if PatientModel.find_by_id(patient_id) is None:
                return BaseResponse.bad_request_response(
                    'Patient does not exists.', {})
            elif DoctorModel.find_by_id(doctor_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})

            prescription = PrescriptionModel.find_by_id(_id)

            if prescription:
                prescription.status = 'INA'
                prescription.finishedAt = datetime.now().strftime(
                    '%Y-%m-%d %H:%M:%S')

                prescription.save_to_db()

                return BaseResponse.ok_response(
                    'Prescription deleted successfully.', {})
            else:
                return BaseResponse.not_acceptable_response(
                    'Prescription does not exists.', {})
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 5
0
    def post(self, doctor_id=None, patient_id=None):
        try:
            data = PrescriptionDoctor.parser.parse_args()

            if DoctorModel.find_by_id(doctor_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})
            elif PatientModel.find_by_id(patient_id) is None:
                return BaseResponse.bad_request_response(
                    'Patient does not exists.', {})

            prescription = PrescriptionModel(
                doctor_id=doctor_id,
                patient_id=patient_id,
                prescription_type_id=data['prescriptionTypeId'],
                frequency=data['frequency'],
                quantity=data['quantity'],
                duration_in_days=data['durationInDays'],
                description=data['description'],
                created_at=None,
                started_at=data['startedAt'],
                finished_at=None,
                status=None)

            prescription.save_to_db()

            return BaseResponse.created_response(
                'Prescription created successfully.',
                prescription.json(role_id=1))
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 6
0
 def get(self, _id=None, ):
     if _id:
         address = AddressModel.find_by_id(_id)
         doctors_list = True if 'doctors' in request.path else False
         if address:
             return BaseResponse.ok_response('Successful.', address.json(doctors_list=doctors_list))
         return BaseResponse.bad_request_response('Address does not exists.', {})
     else:
         return BaseResponse.bad_request_response('It is necessary an address id.', {})
Exemplo n.º 7
0
    def put(self, _id=None, appointment_id=None):
        try:
            data = AppointmentDoctor.parser.parse_args()

            if DoctorModel.find_by_id(_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})

            appointment = AppointmentModel.find_by_id(appointment_id)
            if appointment:
                appointment.appointmentDate = data['appointmentDate'] if (data['appointmentDate'] is not None) \
                    else appointment.appointmentDate
                appointment.reason = data['reason'] if (
                    data['reason'] is not None) else appointment.reason
                appointment.canceledAt = data['canceledAt'] if (data['canceledAt'] is not None) \
                    else appointment.canceledAt
                appointment.updatedOn = datetime.now().strftime(
                    '%Y-%m-%d %H:%M:%S')

                appointment.save_to_db()

                return BaseResponse.created_response(
                    'Appointment updated successfully.',
                    appointment.json(role_id=1))
            else:
                return BaseResponse.not_acceptable_response(
                    'Appointment does not exists.', {})
        except Exception as e:
            return BaseResponse.server_error_response(str(e))
    def put(self, _id=None, doc_spec_id=None):
        try:
            data = DoctorSpeciality.parser.parse_args()

            if DoctorModel.find_by_id(_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})

            doctor_speciality = DoctorSpecialityModel.find_by_id(doc_spec_id)
            if doctor_speciality:
                doctor_speciality.doctorId = data['doctorId'] if (data['doctorId'] is not None) \
                    else doctor_speciality.doctorId
                doctor_speciality.medicalSpecialityId = data['medicalSpecialityId'] \
                    if (data['medicalSpecialityId'] is not None) else doctor_speciality.medicalSpecialityId

                doctor_speciality.save_to_db()

                return BaseResponse.created_response(
                    'Doctor speciality updated successfully.',
                    doctor_speciality.json(only_spec=False))
            else:
                return BaseResponse.not_acceptable_response(
                    'Doctor speciality does not exists.', {})
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 9
0
    def put(self, doctor_id=None, _id=None):
        try:
            data = MembershipDoctor.parser.parse_args()

            if DoctorModel.find_by_id(doctor_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})

            membership = MembershipModel.find_by_id(_id)

            if membership:
                membership.expiresAt = data['expiresAt'] if (
                    data['expiresAt'] is not None) else membership.expiresAt
                membership.updatedOn = datetime.now().strftime(
                    '%Y-%m-%d %H:%M:%S')

                membership.save_to_db()

                return BaseResponse.created_response(
                    'Membership updated successfully.',
                    membership.json(role_id=1))
            else:
                return BaseResponse.not_acceptable_response(
                    'Membership does not exists.', {})
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 10
0
    def put(self, patient_id=None, _id=None):
        try:
            data = MembershipPatient.parser.parse_args()

            if PatientModel.find_by_id(patient_id) is None:
                return BaseResponse.bad_request_response(
                    'Patient does not exists.', {})

            membership = MembershipModel.find_by_id(_id)
            if membership:
                membership.accessCode = data['accessCode'] if (data['accessCode'] is not None) \
                    else membership.accessCode
                membership.updatedOn = datetime.now().strftime(
                    '%Y-%m-%d %H:%M:%S')

                membership.save_to_db()

                return BaseResponse.created_response(
                    'Membership updated successfully.',
                    membership.json(role_id=2))
            else:
                return BaseResponse.not_acceptable_response(
                    'Membership does not exists.', {})
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 11
0
    def get(self, _id=None, appointment_id=None):
        patient = PatientModel.find_by_id(_id)
        if patient is None:
            return BaseResponse.bad_request_response(
                'Patient does not exists.', {})

        if appointment_id:
            appointment = AppointmentModel.find_by_id(appointment_id)
            if appointment:
                return BaseResponse.ok_response('Successful.',
                                                appointment.json(role_id=2))
            return BaseResponse.bad_request_response(
                'Appointment does not exists.', {})
        else:
            appointments = list(
                map(lambda x: x.json(role_id=2), patient.appointments))

            return BaseResponse.ok_response('Successful.', appointments)
Exemplo n.º 12
0
    def get(self, _id=None, appointment_id=None):
        doctor = DoctorModel.find_by_id(_id)
        if doctor is None:
            return BaseResponse.bad_request_response('Doctor does not exists.',
                                                     {})

        if appointment_id:
            appointment = AppointmentModel.find_by_id(appointment_id)
            if appointment:
                return BaseResponse.ok_response('Successful.',
                                                appointment.json(role_id=1))
            return BaseResponse.bad_request_response(
                'Appointment does not exists.', {})
        else:
            appointments = list(
                map(lambda x: x.json(role_id=1), doctor.appointments))

            return BaseResponse.ok_response('Successful.', appointments)
Exemplo n.º 13
0
    def get(self, doctor_id=None, _id=None):
        doctor = DoctorModel.find_by_id(doctor_id)
        if doctor is None:
            return BaseResponse.bad_request_response('Doctor does not exists.',
                                                     {})

        if _id:
            membership = MembershipModel.find_by_patient_id(_id)
            if membership:
                return BaseResponse.ok_response('Successful.',
                                                membership.json(role_id=1))
            return BaseResponse.bad_request_response(
                'Membership does not exists.', {})
        else:
            memberships = list(
                map(lambda x: x.json(role_id=1), doctor.memberships))

            return BaseResponse.ok_response('Successful.', memberships)
Exemplo n.º 14
0
    def get(self, patient_id=None, _id=None):
        patient = PatientModel.find_by_id(patient_id)
        if patient:
            return BaseResponse.bad_request_response(
                'Patient does not exists.', {})

        if _id:
            membership = MembershipModel.find_by_doctor_id(_id)
            if membership:
                return BaseResponse.ok_response('Successful.',
                                                membership.json(role_id=2))
            return BaseResponse.bad_request_response(
                'Membership does not exists.', {})
        else:
            memberships = list(
                map(lambda x: x.json(role_id=2), patient.memberships))

            return BaseResponse.ok_response('Successful.', memberships)
Exemplo n.º 15
0
    def get(self, _id=None):
        if _id:
            device = DeviceModel.find_by_id(_id)
            if device:
                return BaseResponse.ok_response('Successful.', device.json())
            return BaseResponse.bad_request_response('Device does not exists.', {})
        else:
            devices = list(map(lambda x: x.json(), DeviceModel.find_all()))

            return BaseResponse.ok_response('Successful.', devices)
Exemplo n.º 16
0
    def get(self, _id=None):
        if _id:
            role = RoleModel.find_by_id(_id)
            if role:
                return BaseResponse.ok_response('Successful.', role.json())
            return BaseResponse.bad_request_response('Role does not exists.', {})
        else:
            roles = list(map(lambda x: x.json(), RoleModel.find_all()))

            return BaseResponse.ok_response('Successful.', roles)
Exemplo n.º 17
0
    def get(self, _id=None):
        if _id:
            doctor = DoctorModel.find_by_id(_id)
            if doctor:
                return BaseResponse.ok_response('Successful.', doctor.json())
            return BaseResponse.bad_request_response('Doctor does not exists.', {})
        else:
            doctors = list(map(lambda x: x.json(), DoctorModel.find_all()))

            return BaseResponse.ok_response('Successful.', doctors)
Exemplo n.º 18
0
    def get(self, _id=None, doc_spec_id=None):
        if DoctorModel.find_by_id(_id) is None:
            return BaseResponse.bad_request_response('Doctor does not exists.',
                                                     {})

        if doc_spec_id:
            doctor_speciality = DoctorSpecialityModel.find_by_id(doc_spec_id)
            if doctor_speciality:
                return BaseResponse.ok_response(
                    'Successful.', doctor_speciality.json(only_spec=False))
            return BaseResponse.bad_request_response(
                'Doctor speciality does not exists.', {})
        else:
            doctor = DoctorModel.find_by_id(_id)
            doctor_specialities = list(
                map(lambda x: x.json(only_spec=True),
                    doctor.doctorSpecialities))

            return BaseResponse.ok_response('Successful.', doctor_specialities)
Exemplo n.º 19
0
    def get(self, _id=None):
        if _id:
            patient = PatientModel.find_by_id(_id)
            if patient:
                return BaseResponse.ok_response('Successful.', patient.json())
            return BaseResponse.bad_request_response(
                'Patient does not exists.', {})
        else:
            patients = list(map(lambda x: x.json(), PatientModel.find_all()))

            return BaseResponse.ok_response('Successful.', patients)
Exemplo n.º 20
0
    def get(self, _id=None):
        if _id:
            plan = PlanModel.find_by_id(_id)
            if plan:
                return BaseResponse.ok_response('Successful.', plan.json())
            return BaseResponse.bad_request_response('Plan does not exists.',
                                                     {})
        else:
            plans = list(map(lambda x: x.json(), PlanModel.find_all()))

            return BaseResponse.ok_response('Successful.', plans)
        pass
Exemplo n.º 21
0
    def get(self, _id=None):
        if _id:
            district = DistrictModel.find_by_id(_id)
            if district:
                return BaseResponse.ok_response('Successful.', district.json())
            return BaseResponse.bad_request_response(
                'District does not exists.', {})
        else:
            districts = list(map(lambda x: x.json(), DistrictModel.find_all()))

            return BaseResponse.ok_response('Successful.', districts)
        pass
Exemplo n.º 22
0
    def get(self, _id=None):
        if _id:
            user = UserModel.find_by_id(_id)
            if user:
                return BaseResponse.ok_response('Successful.',
                                                user.json(is_long=True))
            return BaseResponse.bad_request_response('User does not exists.',
                                                     {})
        else:
            users = list(
                map(lambda x: x.json(is_long=True), UserModel.find_all()))

            return BaseResponse.ok_response('Successful.', users)
Exemplo n.º 23
0
    def get(self, _id=None):
        if _id:
            prescription_type = PrescriptionTypeModel.find_by_id(_id)
            if prescription_type:
                return BaseResponse.ok_response('Successful.',
                                                prescription_type.json())
            return BaseResponse.bad_request_response(
                'Prescription type does not exists.', {})
        else:
            prescriptions_type = list(
                map(lambda x: x.json(), PrescriptionTypeModel.find_all()))

            return BaseResponse.ok_response('Successful.', prescriptions_type)
Exemplo n.º 24
0
    def get(self, _id=None):
        if _id:
            indicator_type = IndicatorTypeModel.find_by_id(_id)
            if indicator_type:
                return BaseResponse.ok_response('Successful.',
                                                indicator_type.json())
            return BaseResponse.bad_request_response(
                'Indicator type does not exists.', {})
        else:
            indicators_type = list(
                map(lambda x: x.json(), IndicatorTypeModel.find_all()))

            return BaseResponse.ok_response('Successful.', indicators_type)
Exemplo n.º 25
0
    def post():
        try:
            data = User.parser.parse_args()

            if UserModel.find_by_email(data['email']):
                return BaseResponse.bad_request_response(
                    'This email already exists.', {})
            elif UserModel.find_by_phone(data['phoneNumber']):
                return BaseResponse.bad_request_response(
                    'This phone number already exists.', {})

            hash_password = UserModel.hash_password(data['password'])
            user = UserModel(role_id=data['roleId'],
                             email=data['email'],
                             password=hash_password,
                             full_name=data['fullName'],
                             last_name=data['lastName'],
                             phone_number=data['phoneNumber'],
                             profile_picture=data['profilePicture'],
                             last_ip_connection=data['lastIPConnection'],
                             created_at=None,
                             updated_on=None,
                             status=None)

            user.save_to_db()

            if user.lastIPConnection and DeviceModel.find_by_ip(
                    user.lastIPConnection) is None:
                device = DeviceModel(
                    user_id=user.id,
                    ip=user.lastIPConnection,
                    created_at=datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
                device.save_to_db()

            return BaseResponse.created_response('User created successfully.',
                                                 user.json(is_long=True))
        except Exception as e:
            return BaseResponse.server_error_response(str(e))
Exemplo n.º 26
0
    def get(self, doctor_id=None, patient_id=None, _id=None):
        if DoctorModel.find_by_id(doctor_id) is None:
            return BaseResponse.bad_request_response('Doctor does not exists.',
                                                     {})
        elif PatientModel.find_by_id(patient_id) is None:
            return BaseResponse.bad_request_response(
                'Patient does not exists.', {})

        if _id:
            prescription = PrescriptionModel.find_by_id(_id)
            if prescription:
                return BaseResponse.ok_response('Successful.',
                                                prescription.json(role_id=1))
            return BaseResponse.bad_request_response(
                'Prescription does not exists.', {})
        else:
            prescriptions = list(
                map(
                    lambda x: x.json(role_id=1),
                    PrescriptionModel.find_by_doctor_and_patient_id(
                        doctor_id, patient_id)))

            return BaseResponse.ok_response('Successful.', prescriptions)
Exemplo n.º 27
0
    def post(self, _id=None):
        try:
            data = DoctorSpeciality.parser.parse_args()

            if DoctorModel.find_by_id(_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})
            elif DoctorSpecialityModel.verify_doctor_speciality(
                    _id, data['medicalSpecialityId']):
                return BaseResponse.bad_request_response(
                    'This doctor already have this specialities.', {})

            doctor_speciality = DoctorSpecialityModel(
                doctor_id=_id,
                medical_speciality_id=data['medicalSpecialityId'])

            doctor_speciality.save_to_db()

            return BaseResponse.created_response(
                'Doctor speciality created successfully.',
                doctor_speciality.json(only_spec=False))
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 28
0
    def get(self, _id=None):
        if _id:
            unit_of_measure = UnitOfMeasureModel.find_by_id(_id)
            if unit_of_measure:
                return BaseResponse.ok_response('Successful.',
                                                unit_of_measure.json())
            return BaseResponse.bad_request_response(
                'Unit of measure does not exists.', {})
        else:
            units_of_measure = list(
                map(lambda x: x.json(), UnitOfMeasureModel.find_all()))

            return BaseResponse.ok_response('Successful.', units_of_measure)
        pass
Exemplo n.º 29
0
    def post(self, doctor_id=None):
        try:
            data = MembershipDoctor.parser.parse_args()
            supposed_membership = MembershipModel.find_by_doctor_id(doctor_id)

            if DoctorModel.find_by_id(doctor_id) is None:
                return BaseResponse.bad_request_response(
                    'Doctor does not exists.', {})
            elif supposed_membership.patientId == data['patientId']:
                if supposed_membership.status == 'INA':
                    supposed_membership.status = 'ACT'

                    supposed_membership.save_to_db()

                    return BaseResponse.ok_response(
                        'Membership activated.',
                        supposed_membership.json(role_id=1))
                return BaseResponse.bad_request_response(
                    'A membership with this patient already exists.', {})

            membership = MembershipModel(
                doctor_id=doctor_id,
                patient_id=data['patientId'],
                referenced_email=data['referencedEmail'],
                access_code=None,
                created_at=None,
                expires_at=None,
                updated_on=None,
                status=None)

            membership.save_to_db()

            return BaseResponse.created_response(
                'Membership created successfully.', membership.json(role_id=1))
        except Exception as e:
            return BaseResponse.server_error_response(unicode(e))
Exemplo n.º 30
0
    def get(self, _id=None):
        if _id:
            medical_speciality = MedicalSpecialityModel.find_by_id(_id)
            if medical_speciality:
                return BaseResponse.ok_response('Successful.',
                                                medical_speciality.json())
            return BaseResponse.bad_request_response(
                'Medical speciality does not exists.', {})
        else:
            medical_specialities = list(
                map(lambda x: x.json(), MedicalSpecialityModel.find_all()))

            return BaseResponse.ok_response('Successful.',
                                            medical_specialities)
        pass