Esempio n. 1
0
    def buscar_citas(self, med_id, serv_id, fecha_desde):
        """
        Busca un registro de cita
        :param med_id:
        :param serv_id:
        :return:
        """
        fecha_db = fechas.format_cadena_db(fecha_desde)

        sql = """
        select cita_id, cita_fecha, cita_hora, cita_hora_fin,paciente_id, cita_obs, medico_id, cita_serv
        from tcita where medico_id = {0} and cita_serv = {1} and cita_fecha >= '{2}' order by cita_fecha, cita_hora asc   
        """.format(med_id, serv_id, fecha_db)

        tupla_desc = ('cita_id', 'cita_fecha', 'cita_hora', 'cita_hora_fin',
                      'paciente_id', 'cita_obs', 'medico_id', 'cita_serv')

        citas = self.all(sql, tupla_desc)
        for cita in citas:
            cita_fecha = cita['cita_fecha']
            cita_hora = cita['cita_hora']
            cita_hora_fin = cita['cita_hora_fin']
            cita_hora_str = fechas.num_to_hora(cita_hora)
            cita_fecha_str = fechas.get_fecha_letras_largo(
                fechas.parse_cadena(cita_fecha))
            cita_hora_fin_str = fechas.num_to_hora(cita_hora_fin)
            cita['cita_fecha_str'] = cita_fecha_str
            cita['cita_hora_str'] = cita_hora_str
            cita['cita_hora_fin_str'] = cita_hora_fin_str
Esempio n. 2
0
    def get_historia_porpaciente(self, per_ciruc):
        """
        Buscar todas las veces que se ha registrado una atencion para el paciente especificado
        :param per_ciruc:
        :return: ['cosm_id', 'cosm_fechacrea', 'per_ciruc', 'paciente', 'cosm_motivo']
        """

        sql = u"""select historia.cosm_id, historia.cosm_fechacrea, paciente.per_ciruc, 
                paciente.per_nombres||' '||paciente.per_apellidos as paciente, historia.cosm_motivo,
                historia.cosm_fechaproxcita 
                from tconsultamedica historia
                join tpersona paciente on historia.pac_id = paciente.per_id and 
                paciente.per_ciruc = '{0}' order by historia.cosm_fechacrea desc """.format(
            per_ciruc)
        tupla_desc = ('cosm_id', 'cosm_fechacrea', 'per_ciruc', 'paciente',
                      'cosm_motivo', 'cosm_fechaproxcita')

        historias = self.all(sql, tupla_desc)
        historias_fecha = []

        for item in historias:
            fecha_str = fechas.get_fecha_letras_largo(
                fechas.parse_cadena(item['cosm_fechacrea'],
                                    formato=ctes.APP_FMT_FECHA_HORA))
            item['fecha_crea_largo'] = fecha_str
            historias_fecha.append(item)

        return historias_fecha
Esempio n. 3
0
    def listar_citas(self, med_id, fecha_desde):
        sql_fecha = ''
        if fecha_desde is not None and len(fecha_desde) > 0:
            fecha_db = fechas.format_cadena_db(fecha_desde)
            sql_fecha = "and cita_fecha >= '{fecha}'".format(fecha=fecha_db)

        sql = u"""
                select cita.cita_id, cita.cita_fecha, cita.cita_hora, cita.cita_hora_fin,cita.paciente_id, cita.cita_obs, cita.medico_id, cita.cita_serv,
                cita.cita_estado,
                case cita.cita_estado 
                when 0 then 'Pendiente'
                when 1 then 'Atendido'
                when 2 then 'Cancelado'
                else ''
                end as estado,                
                tuserpac.up_email,
                tuserpac.up_tipo,
                tuserpac.up_pasword,
                tuserpac.up_estado,
                tuserpac.up_fechacrea,
                tuserpac.up_nombres,
                tuserpac.up_celular,
                tuserpac.up_photourl
                
                from tcita cita
                join tuserpaciente tuserpac on cita.paciente_id = tuserpac.up_id  
                where medico_id = {0} {1} order by cita_fecha, cita_hora asc   
                """.format(med_id, sql_fecha)

        tupla_desc = ('cita_id', 'cita_fecha', 'cita_hora', 'cita_hora_fin',
                      'paciente_id', 'cita_obs', 'medico_id', 'cita_serv',
                      'cita_estado', 'estado', 'up_email', 'up_tipo',
                      'up_pasword', 'up_estado', 'up_fechacrea', 'up_nombres',
                      'up_celular', 'up_photourl')

        citas = self.all(sql, tupla_desc)
        for cita in citas:
            cita_fecha = cita['cita_fecha']
            cita_hora = cita['cita_hora']
            cita_hora_fin = cita['cita_hora_fin']
            cita_hora_str = fechas.num_to_hora(cita_hora)
            cita_fecha_str = fechas.get_fecha_letras_largo(
                fechas.parse_cadena(cita_fecha))
            cita_hora_fin_str = fechas.num_to_hora(cita_hora_fin)
            cita['cita_fecha_str'] = cita_fecha_str
            cita['cita_hora_str'] = cita_hora_str
            cita['cita_hora_fin_str'] = cita_hora_fin_str

        return citas
Esempio n. 4
0
    def get_form(self, dia, sec_id):
        tk_nro = self.get_next_ticket(fechas.format_cadena_db(dia), sec_id)

        dia_str = fechas.get_fecha_letras_largo(fechas.parse_cadena(dia))

        return {
            'tk_id': 0,
            'per_id': 0,
            'tk_nro': tk_nro,
            'tk_obs': '',
            'tk_costo': 1.0,
            'tk_dia': dia,
            'tk_servicios': '',
            'dia_str': dia_str
        }
Esempio n. 5
0
    def listar_citas_paciente(self, up_email):
        sql = u"""
                select cita.cita_id, cita.cita_fecha, cita.cita_hora, cita.cita_hora_fin,cita.paciente_id, cita.cita_obs, cita.medico_id, cita.cita_serv,
                cita.cita_estado,
                case cita.cita_estado 
                when 0 then 'Pendiente'
                when 1 then 'Atendido'
                when 2 then 'Cancelado'
                else ''
                end as estado,                
                tuserpac.up_email,
                tuserpac.up_tipo,                
                tuserpac.up_estado,
                tuserpac.up_fechacrea,
                tuserpac.up_nombres,
                tuserpac.up_celular,
                tuserpac.up_photourl,
                medico.per_nombres ||' '|| medico.per_apellidos as nombres_medico 
                from tcita cita
                join tuserpaciente tuserpac on cita.paciente_id = tuserpac.up_id  
                join tpersona medico on medico.per_id = cita.medico_id
                where tuserpac.up_email = '{0}' order by cita_fecha, cita_hora asc   
                """.format(up_email)
        tupla_desc = ('cita_id', 'cita_fecha', 'cita_hora', 'cita_hora_fin',
                      'paciente_id', 'cita_obs', 'medico_id', 'cita_serv',
                      'cita_estado', 'estado', 'up_email', 'up_tipo',
                      'up_estado', 'up_fechacrea', 'up_nombres', 'up_celular',
                      'up_photourl', 'nombres_medico')

        citas = self.all(sql, tupla_desc)
        for cita in citas:
            cita_fecha = cita['cita_fecha']
            cita_hora = cita['cita_hora']
            cita_hora_fin = cita['cita_hora_fin']
            cita_hora_str = fechas.num_to_hora(cita_hora)
            cita_fecha_str = fechas.get_fecha_letras_largo(
                fechas.parse_cadena(cita_fecha))
            cita_hora_fin_str = fechas.num_to_hora(cita_hora_fin)
            cita['cita_fecha_str'] = cita_fecha_str
            cita['cita_hora_str'] = cita_hora_str
            cita['cita_hora_fin_str'] = cita_hora_fin_str

        return citas