Пример #1
0
def query():
    form = QueryForm()
    if form.validate_on_submit():
        cmp = form.cmp.data.strip().upper()
        # Return doctor object if it already exists in database
        try:
            doctor = Doctor.get(Doctor.id == cmp)
        except Doctor.DoesNotExist:
            doctor = Doctor.create(id=cmp)
            high_queue.enqueue(scrap_cmp, doctor)
        return redirect(url_for('cmp.view_doctor', id=doctor.id))
    return render_template('cmp/query.html', form=form)
Пример #2
0
def create_doctor():
    """Creates a doctor
    :return: a success message
    """
    details = json.loads(request.data)

    doctor = Doctor(
        first_name=details["first_name"],
        last_name=details["last_name"]
    )

    doctor.save()
    return make_response(jsonify({"message": "Doctor added successfully"}), 201)
Пример #3
0
def process_from_csv(input_file):
    stream = io.StringIO(input_file.read().decode('utf-8'))
    csvfile = csv.reader(stream)
    inserted = 0
    invalid = 0
    duplicated = 0
    records = []

    for row in csvfile:
        try:
            cmp = row[0].strip().upper()
            if len(cmp) == 6:
                with db.atomic():
                    doctor = Doctor.create(id=cmp)
                # Add to process queue
                result = default_queue.enqueue(scrap_cmp, doctor)
                inserted += 1
            else:
                invalid += 1
        except peewee.IntegrityError:
            duplicated += 1
        except Exception as e:
            invalid += 1

    return inserted, duplicated, invalid
Пример #4
0
def view_doctor(id):
    try:
        doctor = Doctor.get(Doctor.id == id)
        specialties = doctor.specialties.order_by(DoctorSpecialty.name)
    except Doctor.DoesNotExist:
        return redirect(url_for('cmp.home'))
    form = DoctorForm(obj=doctor)
    if form.validate_on_submit():
        if form.submit.data:
            form.populate_obj(doctor)
            doctor.status = 1
            doctor.save()
            flash('Registro actualizado', 'success')
            return redirect(url_for('cmp.view_doctor', id=doctor.id))
        elif form.reprocess.data:
            # Unset all fields
            doctor.name = None
            doctor.surname = None
            doctor.state = None
            doctor.email = None
            doctor.region = None
            doctor.notes = None
            doctor.status = 0
            doctor.save()
            # Delete existing specialties
            for specialty in specialties:
                specialty.delete_instance()
            high_queue.enqueue(scrap_cmp, doctor)
            flash('Registro enviado a la cola de proceso', 'info')
            return redirect(url_for('cmp.view_doctor', id=doctor.id))
    return render_template('cmp/view_doctor.html',
                           doctor=doctor,
                           specialties=specialties,
                           form=form)
Пример #5
0
def get_doctor():
    """
    :return: A list of objects of all the doctors available
    """
    doctors = Doctor.get_all()
    if doctors:
        get_results = []
        for doctor in doctors:
            doctor_object = {
                "doctor_id": doctor.id,
                "first_name": doctor.first_name,
                "last_name": doctor.last_name
            }
            get_results.append(doctor_object)

        return make_response(jsonify({"doctors": get_results})), 200
    else:
        return make_response(jsonify({"message": "No doctor records found"}), 404)
    def get(self):

        if connection is None:
            return {'message': 'No Connection'}, HTTPStatus.SERVICE_UNAVAILABLE

        data = []

        with connection.cursor() as cur:
            cur.execute('select * from doctor')
            records = cur.fetchall()

            if len(records) == 0:

                return {'message': "Not Found"}, HTTPStatus.NOT_FOUND

            for row in records:
                doctor = Doctor(*list(row))
                data.append(doctor.data)

        return {'data': data}, HTTPStatus.OK
    def get(self, specialization):

        data = []
        if connection is None:
            return {'message': 'No Connection'}, HTTPStatus.SERVICE_UNAVAILABLE

        data = []

        with connection.cursor() as cur:
            cur.callproc("doctor_pkg.read_doctor_specialization", [
                specialization,
            ])
            records = get_listformat(cur)

            if records is None:
                return {'message': "Not Found"}, HTTPStatus.NOT_FOUND

            for row in records:
                doctor = Doctor(*list(row))
                data.append(doctor.data)

        return {'data': data}, HTTPStatus.OK
    def get(self, doctor_id):

        doctor = None
        if connection is None:
            return {'message': 'No Connection'}, HTTPStatus.SERVICE_UNAVAILABLE

        data = []

        with connection.cursor() as cur:
            # cur.execute('select * from doctor where doctor_id = :id',{'id':doctor_id})
            cur.callproc("doctor_pkg.read_doctor_id", [
                doctor_id,
            ])

            record = get_listformat(cur)

            if record is None:
                return {'message': "Not Found"}, HTTPStatus.NOT_FOUND
            else:
                [record] = record
                doctor = Doctor(*record)

        return {'data': doctor.data}, HTTPStatus.OK
Пример #9
0
 def get_doctor(cls, user_id):
     return Doctor.find_doctor(user_id)
Пример #10
0
 def register_doctor(cls, specialty, phone):
     user_id = User._get_last_registered_status_doctor()
     return Doctor.create_new_doctor(user_id, specialty, phone)