gestion-de-datos's People
gestion-de-datos's Issues
sp_modificar_usuario( user_id, pers_dire varchar(255), pers_telnumeric(18,0), pers_mail varchar(255), pers_sexo char(1) , afil_estado numeric(18,0))
sp_get_funciones_por_rol(id) => func_id, func_descrip
sp_set_resultado_consulta(cons_id, sintomas, enfermedades) => retorna resultado.
Agregar bono fecha impresion
cambiar sp_get_top5_prof_horas consultados para que filtre tambien por anio, semestre y mes (1-6)
sp_agregar funcion a un rol (id_rol, funcnueva_id)
revisar en la migracion el bono_consulta_nro, esta dando siempre un numero y deberia ser secuencial
cambiar documento y telefono a long int
Todos los usuarios llevan la password 'w23e'
sp_del_funciones_rol(id) borrar todas las funcionalidades asociadas al rol, retorno como siempre
sp_crear_agenda(prof_id, dia_id, hora desde, hora hasta, especialidad, fecha desde, fecha hasta) :: creo que irian esos parametros, habria que verlo dependiendo de como hacemos los plazos de 30'
sp_set_matricula(profesional_id, matricula)
Insert de bono no cuenta bien
COUNT(BC.bonoc_id) da siempre el mismo numero
- da error de fk
sp_crear_afiliado() son muchos campos, asique puede dividirse en crear usuario->crear persona->crear afiliado, solamente necesitaria que crear_usuario tenga retorno del id que dio el identity y que maneje errores igual que sp_login; los campos son: user_id numeric(18,0) user_tipodoc numeric(18,0) user_username varchar(255) user_pass varchar(255) pers_id numeric(18,0) pers_nombre varchar(255) pers_apellido varchar(255) pers_tipo_doc numeric(18,0) pers_doc numeric(18,0) pers_dire varchar(255) pers_tel numeric(18,0) pers_mail varchar(255) pers_sexo char(1) pers_fecha_nac datetime afil_id numeric(18,0) afil_estado numeric(18,0) afil_plan_med numeric(18,0) afil_nro_afiliado numeric(18,0) afil_familiares tinyint afil_nro_consulta numeric(18,0)
sp_roles_disponibles(username, tipo_doc);;; devolver el rol_descrip pero tener en cuenta si el rol esta habilitado o no, asi no tengo que validarlo
Ir armando estrategia.pdf
cancelar turnos al dar de baja - trigger 2
cambiar sp_get_top5_afil_bonos para que filtre tambien por anio, semestre y mes (1-6)
sp_del_rol(id) => Elimina en Rol_funcionalidad y en Rol => Devuelve si lo hizo o no
agregar en la migracion en la tabla tipo cancelacion 'cancelacion de parte del medico' y 'cancelacion de parte del afiliado'
Tenes una posible vista entre turno y consulta, un right join
sp_get_turnos_pedidos(user_id, nro_afil, datetime desde, datetime hasta, profesional, especialidad) :: turnos pedidos por ese afiliado
cambiar a todos de plan
sp_agregar_a_grupo_familiar(user_id, nuevoNroAfiliado), ver
sp_upd_rol(id, descrip, habilitado) => devuelve si lo hizo bien o no
sp_registrar_llegada(user_id, nro_afil, fecha, profesional, especialidad, bono) :: para validar todo me faltaria un sp que me mande todos los bonos disponibles por grupo familiar, asi despues a ese bono solo le asignas nro de consulta y el usado.
NUL.sp_new_bono(@id_user numeric(18,0), @fecha datetime, @cantidad numeric(18,0), @monto numeric(16,2), @plan numeric(18,0), @result int output)
Agenda fecha hasta el ultimo turno del medico
agregar vista de agenda
Conexion sql -> queryes
sp_login(username, tipo_doc, pass)
cambiar sp_get_top5_prof_consultados para que filtre tambien por anio, semestre y mes (1-6)
sp_new_rol(descrip) => devuelve identity del rol.
ver sp_get_disp_profesional + agregar validacion cada vez que se trabaja con turnos si NOT IN (turnos cancelados)
sp_rol_habilitado(nombre_rol) retorna 1 o 0
Comentarios - DER
1- Relación Usuario-Persona: ¿ un usuario no necesariamente pertenece a una persona ? Está como opcional del lado de la persona
¿ o sería al revés: que una persona puede NO tener un usuario ?
2- Relación Profesional-PErsona: ¿ un profesional puede no estar en la entidad Persona ? Está como opcional del lado de la persona
¿ o sería al revés: que una persona puede NO ser un profesional ?
Del lado del afiliado me parece que está bien y debería ser así del lado del profesional.
3- No entiendo bien la relación Agenda-Dia-Agenda_día: ¿ por qué quedó el FK vacío ? ¿ la PK sería dia_id y agenda_id(en la tabla Agenda_dia) ?
no entiendo bien qué representa esto, pero debo ser yo, así que lo único que corregiría es el tema de las FK vacías o desfasadas, no sé(ésto aplica a casi todo el DER).
4- En turno: ¿ no faltan un par de FK ? Por ej: turno_afiliado supongoq ue es el ID del afiliado. turno_profesional supongo que es el ID del profesional, etc.
5- Relación Cancelación-Tipo cancelación: Yo pondría opcional del lado de cancelación porque algún tipo de cancelación puede no haberse dado nunca.
sp_cancelar turno (user_id, nro_afil, datetime, profesional, especialidad)
agregar el nuevo campo de afiliado + ponerle default NULL
sp_del_usuario(id) => Devuelve si lo hizo o no
sp_set_pedir_turno(user_id, nro_afil, profesional, especialidad, fecha) :: datetime tiene fecha y hora, no se si hora del turno este al pedo
un sp que le pase user_id y haga un insert en user_rol para que ese user_id sea rol afiliado
Turnos disponibles: NUL.sp_get_disp_profesional(@id_prof numeric(18,0), @esp_id numeric(18,0), @fec_inicio datetime, @fec_fin datetime)
declare @fec_inicio datetime, @fec_fin datetime
set @fec_inicio = '2015-01-01 08:00:00.000'
set @fec_fin = '2015-01-01 17:00:00.000'
--Limito los registros que salen al día actual y los dos siguientes, entre las 8 y las 17 horas
select @fec_inicio, @fec_fin
--Construcción de un registro cada 15 minutos
;with FECHAS(fecha) AS (
SELECT cast(@fec_inicio as datetime) fecha
UNION ALL
SELECT DATEADD(mi, 30, fecha) fecha
FROM FECHAS
WHERE fecha < @fec_fin
)
,Agenda_filtrada as (--Rango de horas en función de la tabla Cronos
select AD.agenda_id, AD.dia_id, A.agenda_prof_id, A.agenda_prof_esp_id, F.Fecha,
HORA_DESDE = AD.dia_hora_inicio,
HORA_HASTA = AD.dia_hora_fin
from NUL.Agenda_dia AD, NUL.Agenda A, FECHAS F
where
@fec_inicio > GETDATE() --> Sólo se muestran los registros que aún no han empezado
--and F.fecha between --> Sólo las horas que estén agendadas
--cast(convert(char(8), @fec_inicio, 112) + ' ' + AD.dia_hora_inicio as smalldatetime) and
--cast(convert(char(8), @fec_fin, 112) + ' ' + dateadd(MI, -30, AD.dia_hora_fin) as smalldatetime)
--> El último turno no es el de la hora final, sino 15 minutos antes de la hora final
)
-- Muestro empleado y actividad para facilitar la asignación posterior, realmente el combo no lo mostraría
select
Profesional = min(AF.agenda_prof_id), Especialidad = min(AF.agenda_prof_esp_id), FECHA = AF.fecha,
Dato_Combo = CONVERT(char(5), AF.fecha, 114) + ' - ' + CONVERT(char(5), dateadd(MI, 30, AF.fecha), 114)
from Agenda_filtrada AF
left join NUL.Turno T on T.turno_fecha_hora = convert(char(8), AF.fecha, 112) + CONVERT(char(5), AF.fecha, 114) + ' - ' + CONVERT(char(5), dateadd(MI, 30, AF.fecha), 114)
where
T.turno_id is null --> Las horas ya cogidas no han de mostrarse
group by --> Se agrupa para no mostrar duplicados, hay turnos que se solapan
AF.FECHA, CONVERT(char(5), AF.FECHA, 114) + ' - ' + CONVERT(char(5), dateadd(MI, 30, AF.FECHA), 114)
order by Fecha, Dato_Combo
OPTION (MaxRecursion 0);
sp_set_funcion_rol(id, id_func) => Agrega una funcionalidad EXISTENTE a un rol => devuelve si lo hizo
sp get disp profesional solo toma la primer agenda
sp_buscar_usuarios(username, tipo_doc, nombre, apellido, documento, direccion, telefono, mail, sexo, fechaNac, plan, nroAfiliado)
cambiar sp_get_top5_esp_bonos para que filtre tambien por anio, semestre y mes (1-6)
sp_turnos_profesional(profesional_id, fecha desde, fecha hasta); aca necesito todos los turnos que tiene por atender un medico en esa franja
Bono farmacia
storeds para el listado estadistico de la pagina 12
sp_cambiar_plan(user_id) + sin trigger para el historial
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.