Foros del Web » Programando para Internet » PHP »

ayuda con asignar fecha a una cita medica

Estas en el tema de ayuda con asignar fecha a una cita medica en el foro de PHP en Foros del Web. hola que tal saludos para los amigos foreros este es mi primer post en este foro ojala me puedan ayudar , bueno les comento mi ...
  #1 (permalink)  
Antiguo 17/10/2010, 15:13
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
ayuda con asignar fecha a una cita medica

hola que tal saludos para los amigos foreros este es mi primer post en este foro ojala me puedan ayudar , bueno les comento mi situacion estoy realizando un sistema en php con mysql para un doctor todo marcha bien exepto cuando me dijo que tenia que asignar fechas a las citas medicas el problema es el siguiente:
El doctor quiere que por ejemplo hoy yo como paciente voy a consulta el doctor me registrara en el sistema como es la primera ves me dara de alta ok , dependiendo de lo que tenga me asignara el numero de semanas y el numero de sesiones que tomare durante esas semanas es decir ami me asignara 1 semana de tratamiento durante esa semana solo ire 2 veces en ese semana que serian las llamadas "sesiones" ok ahora lo que el doc quiere es que aya dos campos que diga fecha de inicio y fecha de terminacion y que en fecha de inicio me ponga la fecha en la que me ingreso al sistema osea la primera ves que fui a consulta , y en fecha de terminación la fecha en que se termina mis sesiones ya ven que el ejemplo que les mencione arriba va ser una semana durante esa semana ire 2 veces a tratamiento nada mas, y el quiere que en fecha de terminacion aparesca la fecha de mi ultima sesión. aparte que esa fecha de terminacion no me cuenta sabados ni domingos ya que esos dias no trabja como le puedo hacer
  #2 (permalink)  
Antiguo 18/10/2010, 01:30
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ayuda con asignar fecha a una cita medica

Hola trinipau, lo que necesitas es operar con las fechas, simplemente sumar dias.
Puedes hacerlo con PHP pero es mejor que lo hagas en la DB directamente, postea el código que tienes hecho para ver cómo lo has desarrollado. Saludos,
  #3 (permalink)  
Antiguo 18/10/2010, 10:53
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con asignar fecha a una cita medica

ok mi brother mira tengo un codigo sencillito que en contre en la red este codigo lo que hace es sumarle los dias a la fecha que es parte de lo que yo quiero pero hay un problema al sumarle los dias este suma parejo tomando sabado y domingos y es lo que yo no quiero como le puedo hacer para que no me cuente esos dias el codigo es este

<?php
$suma= 1; //con esta variable pienso contar los dias

$nueva = mktime() + (86400 * $suma);
echo $fecha = date("Y-m-d",$nueva);
?>
  #4 (permalink)  
Antiguo 18/10/2010, 11:42
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ayuda con asignar fecha a una cita medica

trini, te paso un ejemplo completo, una vez que lo hayas probado quita los echo y modifica como quieras.
El default_time_zona deberías dejarlo para evitar warnings.
Fíjate que utilizo time() en vez de mktime() porque así lo recomienda el manual.
A ver si sirve, saludos

Código PHP:
<?php

error_reporting 
E_ALL );
ini_set "display_errors");
date_default_timezone_set 'Europe/Madrid' );


/**
 * Establecemos unos días permitidos, o sea, los dias laborables
 * en este caso, de lunes a viernes, de 1 a 5. Esta combinación se puede cambiar a gusto.
 * El programa acepta cualquier combinación respetando el índice Lunes: 1, Domingo: 7
 */

$dias = array(1,2,3,4,5); //Los dias permitidos, en nuestro caso los laborables. Los dias se cuentan de 1 a 7 empezando por el Lunes
$suma 12//Los dias que se deben sumar

//Comprobamos los días válidos, es decir, si hoy + 1 dia es sábado, entonces no vale, hay que pasar el dia válido siguiente que es el lunes
$dias_validos = array();

//por cuantos dias quiero sumar, hago una pasada para comprobar si la suma cae en un día válido
for ($i=$suma;$i>0;$i--){
    if(!
in_array(date("N"time() + (86400 $i)), $dias)) {echo "<h3>El día ".date("D Y-m-d"time() + (86400 $i))." no es válido</h3>"; continue;}    //Si no está en la lista no es válido, paso al siguiente día
    //Este días es bueno, lo agrego a los dias validos
    
$dias_validos[] = time() + (86400 $i);
}

//Ordenos los resultados
asort($dias_validos);

//Salida por pantalla
echo "<h3>Los días válidos son</h3>";
foreach (
$dias_validos as $f){
    echo 
date("D Y-m-d"$f)."<br>";
}
?>
  #5 (permalink)  
Antiguo 18/10/2010, 12:44
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con asignar fecha a una cita medica

hola mi brother antes que nada muchas gracias por la atencion brinda mira no quiero que pienses mal pero conforme puse el codigo que me pediste que cual usaba, me puse abuscar en google alguna funcion que me permitiera hacer lo que necesito ya que el trabajo que estoy realizando ya me lo estan pidiendo y pues pense que tardarias en contestar y encontre este que hace lo que necesito al igual que el tuyo , solo que este ya lo adapte a lo que necesito por el momento ya le sumo dias ala fecha y no me cuenta ni sabados ni domingos ahora mi brother hasta ahorita ya calculo el inicio de la cita y el final de la cita ok , pero como le puedo hacer para asignarle una fecha acada cita con este codigo? si me entiendes? osea por ejmplo hoy estamos a 2010-10-18 esta sera mi dia de inicio y mi primera sesion ok pero la terapia constara de 3 sesiones la segunda sesion ponle tu que sea el dia de mañana que seria esta fecha 2010-10-19 y la tercera sesion sera el miercoles que sera 2010-10-20
aki yo puedo saber cuando inicia y cuando termina las sesiones del paciente ya que el dia de inicio sera esta fecha 2010-10-18 y la terminacion sera el 2010-10-20 pero como puedo sacar la fecha de la segunda sita que es esta 2010-10-19 osea practicamente la que queda enmedio de las dos fechas de inicio y terminacion para que asi el doctor pueda saber que esa fecha esta ocupada y no puede realizar ni una programaciond e cita para esa fecha

Código PHP:
<?php

function sumasdiasemana($fecha,$dias)
{
$datestartstrtotime($fecha);
$diasemana date('N',$datestart);//es para obtener el dia de la semana (Jueves = 4)

$totaldias $diasemana+$dias;

$findesemana =  intval$totaldias/5) *

$diasabado $totaldias 
if (
$diasabado==6$findesemana++;
if (
$diasabado==0$findesemana=$findesemana-2;//para que no me tome el viernes como fin de semana
$total = (($dias+$findesemana) * 86400)+$datestart ;  

return 
$twstart=date('Y-m-d'$total);
}
 
$una=date("Y-n-j");
echo 
sumasdiasemana($una,5)

?>
  #6 (permalink)  
Antiguo 18/10/2010, 13:06
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ayuda con asignar fecha a una cita medica

Vamos por parte, para sumar y restar fechas puedes utilizar cualquier función de las que ya tienes, esto está solucionado.
Ahora bien, supongamos que el paciente tiene cita hoy y tiene que regresar dos veces más, entonces:
Cita 0 18-10-2010
Cita 1 20-10-2010
Cita 2 22-10-2010

Ya tienes el algoritmo que calcula estos días sin que caigan en fin de semana y todo eso. Ahora tu problema es otro, tu problema es saber qué dias tiene que volver el paciente, pero esto no es un tema de programación sino de logica empresarial.
Tu programa tiene que dar la cita 0 y a continuación determinar cuántas veces y qué dias tiene que volver. Por ejemplo:
Paciente A, tiene: gripe. Corresponde volver 2 veces más cada 3 dias, entonces:
Cita 0 (hoy) 18-01-2010
Cita 1 (hoy mas dos) 20-10-2010
Cita 2 (hos mas cuatro) 22-10-2010
tu problema ahora mismo es obtener esta secuencia, para eso tienes que hacer un análisis. Si tienes una función de sumar dias como la que ya tienes, tendrías que hacer:
Código PHP:
$cita0 sumasdiasemana($fecha0);
$cita1 sumasdiasemana($fecha2);
$cita2 sumasdiasemana($fecha4); 
¿pero como sabemos que para este paciente hay que hacer 2 sesiones con diferencia de dos días? Bueno, esta información tiene que estar guardada en alguna parte de donde se pueda leer. SABIENDO ESTO entonces podemos pasar a hacer un algoritmo que sume los dias, etc, etc.
A ver si te sirve, saludos
  #7 (permalink)  
Antiguo 18/10/2010, 14:29
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con asignar fecha a una cita medica

¿pero como sabemos que para este paciente hay que hacer 2 sesiones con diferencia de dos días? Bueno, esta información tiene que estar guardada en alguna parte de donde se pueda leer. SABIENDO ESTO entonces podemos pasar a hacer un algoritmo que sume los dias, etc, etc.
[/QUOTE]

Hola mi brother mira el numero de sesiones en las que tiene que ir el paciente lo definira el doctor para eso yo ya tengo una caja de texto que me pide numero de semanas en los que ira el paciente, otro campo que tengo que me pìde sesiones por semana en los que ira el paciente y un ultimo campo que es total de sesiones que este campo se llenara el multiplicar el numero de semanas*sesiones por semana y asi me arojara el total de las sesiones ejmplo

Numero de semanas=4
numero de sesiones por SEMANA=2
Total de sesiones por semana=8 //este 8 sale al multiplicar N de semanas por N de sesiones por semana

el codigo es este ahorita solo estoy ocupadno variables que estoy definiendo yo digamos que estoy asiendo pruebas ok

Código PHP:
<?php

function sumasdiasemana($fecha,$dias)
{
$datestartstrtotime($fecha);
$diasemana date('N',$datestart);//es para obtener el dia de la semana (Jueves = 4)

$totaldias $diasemana+$dias;

$findesemana =  intval$totaldias/5) *

$diasabado $totaldias &#37; 5 ; 
if ($diasabado==6$findesemana++;
if (
$diasabado==0$findesemana=$findesemana-2;//para que no me tome el viernes como fin de semana
$total = (($dias+$findesemana) * 86400)+$datestart ;  

return 
$twstart=date('Y-m-d'$total);
}
 
$fecha=date("Y-n-j");
 
$diashabiles=5;//esta variable es lo que contiene una semana esta asi estara definida ya con el numero 5 
 //y sera multilpicado por el numero de semanas que escoga el doctor para asi sacar el total de dias y a la ves la fecha final.
 
$numerodesemanas=$diashabiles*1;//aqui mi variable $numerodesemanas sera el que el doctor decida para el paciente para esta prueba puse un 1 lo que equivale a una semana y estara multiplicado por los dias que se trabaja que son  5
echo sumasdiasemana($fecha,$numerodesemanas)

?>
ahora ponle tu que hoy empiesa a usar el sistema el doctor ok tu eres el primer paciente tu yegas le dices al doc que es lo que tienes etc el doc te va decir sabes que te voy aprogramar en el sistema para que vengas aconsultas durante 2 semanas en la cual te estare atentiendo 2 veces por semana entonces ponle que te programa para el dia de mañana tu registro quedara asi en el sistema

Numero de semanas=2
numero de sesiones por SEMANA=2 //este numero lo definira el doc
Total de sesiones por semana=4 //este 4 sale al multiplicar N de semanas por N de sesiones por semana


fecha de inicio quedara asi
Fecha de inicio=2010-10-19 //tomando como sita el dia de mañana
Fecha de terminacion=2010-10-26// en esta fecha tambien iras y se terminan tus consultas con el doc

ahora mañana empiesa tu primera cita de dos que debes tomar durante la primera semana ahora como le puedo hacer para arojar la fecha de la segunda sita de esta semana ponle tu que sea el miercoles como le ago para saber la fecha del miercoles espero que me ayas entendido mi brother
  #8 (permalink)  
Antiguo 18/10/2010, 14:40
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 7 meses
Puntos: 80
Respuesta: ayuda con asignar fecha a una cita medica

y que pasa si hay días feriados....
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #9 (permalink)  
Antiguo 18/10/2010, 15:00
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con asignar fecha a una cita medica

p no habia pensado en eso bueno pero lo que me urge ahorita es eso mi brother el calcular los dias de la cita en el que tiene que ir el paciente no se como hacerle

Última edición por trinipau; 18/10/2010 a las 15:14

Etiquetas: asignar, cita, fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:04.