Un sitio para guardar lo que veo, hago, y lo que quisiera ver, hacer y aprender.

Mensajes etiquetados PHP

Pequeños Pasos: Base de Datos

Tengo que fusionar las dos bases de datos. Si fuera solo completar los datos de una tabla con los de otra, en la misma base de datos sería posible hacerlo desde mysql mismo, pero están en bases de datos diferentes y lo que tengo que hacer es: 1.- Tomar el primer nombre en la base de recetas 2.- Buscarlo en la base de datos milk, si existe, completar solo el RUT, si no existe, crear un nuevo registro con los datos de recetas. Me va a faltar la previsión.

Para eso voy a tener que hacer un programa en PHP.

Otro Proyecto

Todo se basa en suplir necesidades. La falta de música en la consulta lo solucioné usando un celular dado de baja, sin chip, el que sincronizo con Google Play Music usando el wifi de la casa, me permite descargar música para escucharla sin conexión y como lo mantengo en modo avión, la batería dura mucho más.
Ahora el problema está los certificados de GES. Hay oportunidades en que los datos del domicilio del paciente no están completos, y la página no permite completarlos uno mismo, así que hay que estar buscando el formulario, para rellenarlo manualmente. Si ya mantengo una base de datos de algunos pacientes, para el certificado de la leche, por qué no extenderla para esto también. Tengo que agregarle el campo del RUT del paciente, y eso me permitiría ademas, unirla con la de los certificados/recetas/exámenes. LEER MÁS »

Otra Cosa, Mariposa

Hace poco hice una nueva pagina en mi servidor para que me confeccionara certificados, o recetas u órdenes de examen, pero cometí el error de hacer una base de datos independiente de una casi completa que ya mantenía (Certificado de Leche), con lo que no solo estoy duplicando información sino que en forma ineficiente, así que que voy a tener que revisar eso y fundir o complementar las dos bases de datos de algún modo.

Un Nuevo Desafíos

Los cambios que las leyes introducen en la forma de trabajar, crean nuevos desafíos. Es el caso de la necesidad de incorporar el nombre del medicamento genérico de los meicamentos en la receta, y ya que en la Clínica Vespucio son algo lentos, voy a ver si puedo hacerlo antes.

La idea es hacer una base de datos de medicamentos, que en un campo indique si se trata de monodroga y de ser así añadir el nombre de la droga. Asi que tengo que investigar un poco en la forma de realizar formularios dinámicos, ya que al no saber cuántos medicamentos van a ser indicados, tengo que ir agregando campos en la medida que sean requeridos. Una forma de hacerlo sería con php puro, aunqe algo complicado y debe ser realizado enviando y re-enviando la página cada vez al servidor. Otra forma más práctica es con el uso de JavaScript que al ejecutarse en el ciente, genera cambios inmediatos.

Vamos  a ver.

Fichas 2.0 – Evaluación Nutricional

Bueno, uno de los quebraderos de cabeza que tenía era cómo hacer para implementar este tema. Hasta ahora estaba usando un popup al que se le pasaba la información del peso y la talla, además de un modo de obtener la edad y de ese modo evaluar (hasta ahora) el IMC y eventualmente el estado nutricional de acuerdo a las tablas de la OMS. El problema es que al invocar el popup se reseteaba la página de origen y me borraba toda la información que hasta ese momento tenía ingresada. La solución momentánea era que al momento de cerrar la ventana popup se hiciera un parent.history.back y se restablecía lo que allí había. Feo pero usable.

Traté de buscar un método de enviar sólo la info de peso y talla como formulario a otra página que se abriese en popup, pero tendría que haber dividido el form en tres, con tres botones de envío, un desastre, tampoco es posible usar formularios anidados en HTML, no hay modo de hacerlo.

Así que después de leer muchos blogs acerca de este problema, llegué a la conclusión de que mi problema está mal planteado. Y la hasta ahora ínica solución posible es hacer una doble evaluación del formulario, es decir, dividir la página en tres. Primero evaluar si se envío la primera parte del formulario (evaluar peso y talla) que ademas contiene la Anamnesis y Examen Físico, esta info se reusa y muesta en un nuevo formulario, a la vez que se evalúa el estado nutricional, mostrándose el resto del formulario (anteriormente oculto), luego, al reenviar ese formulario, se valida completamente si están los diagnósticos, y se guarda en la base de datos. La tercera parte es la que muestra el formulario inicial que contiene los campos de Anamnesis, Examen Físico, Peso, Talla y el botón de envío.

Vamos a ver cómo hacemos todo eso. Por lo menos es hasta ahora la solución más elegante que he encontrado.

Fichas 2.0 en Construcción

Bueno, lo estoy haciendo. Ni idea de por qué, ya que lo único que quiero es dejar esa consulta, pero que le vamos a hacer, la necesidad tiene cara de hereje. 🙂
He reciclado gran parte del código, y deshice el sistema previo de una ‘maqueta’ que carga el código para cada ‘panel’ izquierdo y derecho, ya que es confuso y difícil de seguir y editar en caso de error. Ahora está todo en una misma página para cada necesidad, modifiqué además el menú, haciéndolo más sencillo, todo en un solo nivel y ya no como una función en que cada parámetro daba el nivel y tipo de menú que necesitaba, con enlaces fijos y poca flexibilidad. Además que lo moví a la derecha.
El calendario ahora sólo el visible en la primera página, el la edición de una nueva ficha se muestra en su lugar el nombre completo del paciente, la edad y las alergias en un fondo desatcado si las hubiera, seguido hacia abajo, las consultas anteriores del paciente si las hay.
Agregué un ingreso con clave y en cada página se chequea que esté inciada la sesion para el usuario y si no es así, te envía a la pantalla de login.
Cosas importantes que faltan, una búsqueda por fecha, con calendario en la página y no en pop-up, como está en las licencias, y lo de la evaluación del estado nutricional. Para esto estoy usando actualmente una script javascript que abre una ventana pop-up, pero que me borra todos los datos que tengo en la página inicial, así que tengo que probar algunas otras cosas. Una idea es tener un formulario aparte para evaluar el peso y talla, que en caso de ser enviado, me guarde toda la información en el resto de la página no sé, a lo mejor en una cookie, trabajar en los datos y evaluar el estado nutricional, y recargar la página inicial (‘parent’) y al hacerlo, evaluar si existe esa cookie, rescatar los datos y recargarlos en la página. Parece difícil. Lo otro es usar script javascript que evalúe constantemente los campos involucrados y ejecute los cálculos necesarios actualixando otros campos, no sé si se puede hacer algo así y cómo hacerlo ya que debería acceder a datos en la base mysql.
Uf!
Parece que lo estoy rehaciendo más que nada como un desafío y por las ganas de aprender algo nuevo.
🙂

Fichas 2.0

Esto es HORRIBLE! Hay que hacer todo de nuevo, casi desde cero. Sólo alcanzo a reciclar algo del código para acceder a la base de datos y procesar los datos, pero todo lo que es la plantilla CSS la estoy haciendo desde cero, ya que no hay nada que se le parezca, o al menos no lo he encontrado aún en la red.
Creo que me voy a tradar mucho más de lo que yo pensaba.
LEER MÁS »

Busqueda por fecha

Necesito implementarla. Pronto.
YA!!

Codificar, codificar que el mundo se va a acabar

Bien, ahora solo queda escribir y escribir líneas y líneas de código para hacer las respectivas comparaciones. Ya probé con el peso y funciona bien. Ahora solo hay que trasladar lo hecho hacia la página definitiva, agregar lo que falta (entre ello, una tabla de talla para las niñas de 5 a 19 años… que descuido, por suerte el original en texto lo encontré en un respaldo, ahora solo hay que averiguar cómo hice para copiar todo eso en una tabla de mysql).

Esto es lo que hasta ahora va hecho:


//Comenzamos a crear el nombre de la tabla a abrir
//Para pacientes de menos de 5 años
if ($edades[0]<=5){ //Si son de sexo masculino if ($gender == 'M'){ $t_talla = 'talla_boys_0a5'; $t_peso = 'peso_boys_0a5'; $t_pesotalla = 'pesotalla_boys_0a5'; $t_pc = 'pc_boys_0a5'; } //Si son de sexo femenino if ($gender == 'F'){ $t_talla = 'talla_girls_0a5'; $t_peso = 'peso_boys_0a5'; $t_pesotalla = 'pesotalla_girls_0a5'; $t_pc = 'pc_girls_0a5'; } } //Para pacientes mayores de 5 años if ($edades[0]>5){
//Si son de sexo masculino
if ($gender == 'M'){
$t_talla = 'talla_boys_5a19';
$t_peso = 'peso_boys_5a10';
$t_pesotalla = 'pesotalla_boys_5a19';
$t_bmi = 'bmi_boys_5a19';
}
//Si son de sexo femenino
if ($gender == 'F'){
$t_talla = 'talla_girls_5a19';
$t_peso = 'peso_girls_5a10';
$t_pesotalla = 'pesotalla_girls_5a19';
$t_bmi = 'bmi_girls_5a19';
}
}
//Buscamos la información adecuada segun la edad
//en menores de 5 años incluye el perímetro craneal
//se muestra el valor promedio, +1 y -1 ds.
if ($edades[0]<=5){ $sql = 'SELECT * FROM '. $t_peso . ' WHERE day=' . $dias; open_now(); $cueri = @mysql_query($sql); $sel = @mysql_fetch_array($cueri); $menos3ds = $sel['SD3neg']; $menos2ds = $sel['SD2neg']; $menos1ds = $sel['SD1neg']; $sd0 = $sel['SD0']; $sd1 = $sel['SD1']; $sd2 = $sel['SD2']; close_now(); } //Procedemos hacer la comparación, esta vez con el peso y emitir el diagnóstico echo $menos2ds . ' - ' . $menos1ds . ' - ' . $sd0 . ' - ' . $sd1 . ' - ' . $sd2 . '
';
if ($peso < $menos3ds): echo 'Denutrido severo
';
elseif ($peso > $menos3ds && $peso < $menos2ds): echo 'Desnutrido moderado
';
elseif ($peso > $menos2ds && $peso < $menos1ds): echo 'Desnutrido leve
';
elseif ($peso > $menos1ds && $peso < $sd1): echo 'Eutrófico
';
elseif ($peso > $sd1 && $peso < $sd2): echo 'Sobrepeso
';
elseif ($peso > $sd2):
echo 'Obesidad
';
endif;

Vamos asegurándonos

Solo para estar seguros que los valores van a tener el formato adecuado:


$peso = $_GET['pe'];
$talla = $_GET['ta'];
$mom_id = $_GET['id'];
$peso = str_replace(',', '.', $peso);
$talla = str_replace(',', '.', $talla);
$peso = number_format($peso, 3);
$talla = number_format($talla/100, 2);

Y vamos avanzando.