algoritmicamente leible

Portafolio

Esta es una seccion de mi espacio donde coloco algunos proyectos que he realizado ya hace un buen tiempo, todos aplicaciones Desktop hechas en Visual Basic, lenguaje que ya no uso, por lo que ya toca que para el futuro otros anexos serian bajo ambiente web (en php), no indico el matenimiento que hice por un tiempo a una web sostenida en ASP.Net porque era a nivel interno y no lo expuesto al publico en general, asi que no cuenta.

Proyectos en los que he participado, sistemas cerrados, webs de otros pero mantenidas o donde he contribuido realmente no voy a indicarlos, solo y unicamente proyectos propios y completos de mi persona.

SAHIM (Sistema Administrativo de Historiales Medicos)

Area: Ginecologia y Obstetricia
Solicitado por: Dr. Manuel Martinez y en uso por igual al Dr. Jorge Leal.

Sistema Actual (version Desktop):

Realmente muchas ventanas (incluyendo esta) ya han evolucionado mas, con mas botones y funciones, nuevos reportes, ingreso de imagen de ecograma, etc. Pueden verse mas ventanas de este programita de escritorio aqui. Realmente el nombre que lo tilda como un sistema Administrativo no es exactamente que asi sea, aunque para un consultorio medico si, ademas que en las siglas del nombre tampoco se detalla a que area medica va dirigido, pero no veo obligacion alguna de tenerlo que ajustar, no se en el futuro. Este programa lo tengo pensado pasarlo a ambiente Web, para lo cual estudio un Framework para ello y colocarlo muy seguramente en este mismo hosting, es la idea. De esa forma evito trasladarme a distintas clinicas/hospitales y ofrecer asi un soporte mas rapido y mas centralizado. Aunque un mismo consultorio es usado por varios medicos, el duenio del PC no desea que otros medicos lo usen, pero es aqui en donde hay que educar al usuario o saber que no se podra tener mismos clientes de un mismo consultorio.

SAHIM cuenta con:

  • Ingreso de Pacientes (obviamente)
  • Ingreso, control de Historiales Medicos (claro esta!) el modulo mas importante del todo el programa y el mas grande.
  • Facturacion (tanto a pacientes como no pacientes, el que es medico entiende muy bien esto ultimo de no pacientes)
  • Constancias y Presupuestos
  • Ingreso de Medicamentos (no es necesario escribirlos, sino seleccionarlos para los recipes con sus indicaciones)
  • Examenes de Laboratorio
  • Proxima Cita
  • Evolucion Clinica
  • Informe para el Paciente de Resumen de su Historial Medico y Evolucion (algo verdaderamente interesante), si la Paciente Embarazada llega a Emergencia de otro lugar, con dar su Resumido informe medico Ginecologico, podran determinarle un mejor tratamiento para si situacion al momento.
  • Configuracion del Programa. El mismo medico o Secretaria puede alimentar al programa, agregandole nuevos Items de Diagnosticos, de Factura o Medicamentos.
  • Sesion de Usuario. Varios Doctores pueden usar el programa sin problema y el acceso no es igual para un Doctor que para su Secretaria.
  • Calculo de la Edad Gestacional
  • Informe de Ecogramas (Mamario, Renal, Obstetrico, Saco Gestacional)
  • Adjuntar imagenes de Ecograma vinculado al registro medico del Paciente. Archivos de imagen que el programa toma y guarda en una carpeta (que crea en caso de no existir), los nombres de los archivos son fecha_numhistorial_tipoecograma (ejemplo: 220210_46_6), fecha 22/02/2010 paciente de Id Historial 46, tipo de imagen de ecograma 6: Ecograma Mamario (por ejemplo). Pueden haber muchas imagenes por carpeta de historial y el al buscar la fecha, el programa sabe perfectamente que imagen es la que se desea consultar e imprimir.
  • Estimacion de uso de Medicamentos, cuantas veces se ha recetado X medicamento para que las Farmaceuticas o Consultores Medicos sepan que medicamentos son los que mas el Medico receta.
  • Anulacion de Pacientes y Facturas. Los registros medicos son algo muy delicados, por lo que en SAHIM existen cosas que nunca se borran de la base de datos, simplemente se anulan para que no se muestre mas.

SAHIM es un programa muy personalizable, lo que se requiera que deba tener, se crea, de ahi que este programa ha tenido su constante evolucion y siempre y cuando este dicha necesidad, claro.

1er Borrador (primera prueba) del Home de SAHIM Web (en desarrollo): quedo pendiente arreglarle lo del texto

2do Borrador y definitivo del Home de SAHIM Web (en desarrollo):

CHL (Control de Horario Laboral)

Area: Recursos Humanos
Solicitado por: Lic. Carlos Perez de Blindados del Zulia, pero para ser usado por Domesa.

Es increible, pero siento este un programa sumamente pequenio, dio muchos problemas. No recomende desde un principio que esto existiese, porque es la manera mas absurda de hacerle seguimiento al horario de los empleados. Aunque la idea y adquisicion del programa la compro Domesa o Blindados de Barquisimeto (no recuerdo bien ya que son filiales), por un gerente que paso al Dpto de esta empresa en dicha region (Barquisimeto, Venezuela), esto era algo manual. Es decir, te registran el horario de entrada/salida, turno “visualmente”, es decir, vi que llegaste, te ingreso la hora, (en pocas palabras WTF!!?). Tuve varios problemas para terminar este programa. No me daban el horario de los empleados, todo algoritmo que hacia para determinar las horas fallaba porque no podia referenciarme por un horario de contrato, necesitaba comparar tu hora de entrada y salida con tu horario de trabajo “asignado” y asi calcular si tuvo o no horas extras. Estas empresas de mensajeria de paquetes trabajan las 24 horas, por lo que hay horarios no solo Diurno, Vespertino y Nocturno, sino tambien Horarios Mixtos, lo cual se me hacia algo dificil determinar bien a que horario pertenecia el empleado y en base a ello, hacer unos calculos de pago por X horas trabajadas en X horario apegado todo a unas normas o leyes de la LOT (Ley Organiza del Trabajo). Termine odiando a este programita.  A la final el enorme algoritmo que calculaba las horas, termino reducido a una formula que es incluso usada en Excel.

=SI(B1>A1;B1-A1;B1+(1-A1)) esta formula usada en Excel me ayudo a hacer un algoritmo mucha mas corto e igual de eficiente, ya que antes, habia roto uno de los principios de la programacion, el principio KISS, pero con esto, volvi al buen camino, pasando algo que ya estaba complejo a algo simple, como debe ser. Asi el programa no se equivocaba invirtiendo las fechas, por creer que son horas del mismo dia, dando un estimado de tiempo de horas trabajas irreal.

Finalmente el codigo se redujo a esto:

Hrs1 = 0: Hrs2 = 0
If CmbEntradaD1 "" And CmbSalidaD1 "" Then
Hr1 = CmbEntradaD1 & " " & dtpHED1
Hr2 = CmbSalidaD1 & " " & dtpHSD1
LbHorasTurnoD1 = Mid(CDate(Hr2) + (1 - CDate(Hr1)), 12, 5)
Else
LbHorasTurnoD1 = 0
End If
'Horas Extra:
HoraTope = "05:00"
If CDate(LbHorasTurnoD1) > CDate(HoraTope) Then
HrLimiteD1 = Mid(CDate(LbHorasTurnoD1) + (1 - CDate(HoraTope)), 12, 5)
LbHorasTurnoD1 = "05:00"
Else
HrLimiteD1 = 0
End If
If HrLimiteD1 = 0 And HrLimiteD2 = 0 Then
A = 0
Else
A = CDate(HrLimiteD1) + CDate(HrLimiteD2)
End If
LbTotalHrsExtD(0) = Mid(A, 1, 5)
'...
C = CDate(LbHorasTurnoD1) + CDate(LbHorasTurnoD2) + CDate(LbHorasTurnoN1) + CDate(LbHorasTurnoN2) + CDate(LbTotalHrsExtD(0)) + CDate(LbTotalHrsExtN)
LbTotalHrsLb = Mid(C, 1, 5)

Es maravillo como ayudando a otros en ocasiones se ayuda uno mismo, y todo gracias a una sencilla formula de Excel.

SGOp (Sistema de Gestion Operativa)

Area: Empresa Envio de Paquetes
Solicitado por: Domesa Maracaibo (Ing. William Guete)

Domesa no tiene mucha material ‘visual’ de variadas imagenes a usar, por lo que desde la propia web armando algo que sirviece forme esta presentacion. Esto indica un control de paquetes y algo sobre la flotilla de vehiculos de la empresa.

SIG (Sistema de Impresion de Guias)

Area: Empresa de Envio de Paquetes
Solicitado por: Domesa Maracaibo.

Programa desarrollado para automatizar el ingreso de datos de guias que realizan manualmente lo cual ocasiona retrasos y problemas de entender el nombre, direcciones, etc en vista de ser llenado a mano/escritura de la recepcionista, y en donde en ocasiones se llenaba nuevamente los mismos datos, recordando que en ocasiones un mismo cliente envia varios paquetes y cada uno tiene su guia.

Misma presentacion que el anterior??, si asi se quiso, no hubo problemas, ademas de que estos son uns trabajos/proyectos que no involucran a mas nadie, solo al programador, ningun disenador grafico ni nada mas, siendo la idea principal la funcionalidad sobre la estetica. Este programa es para la impresion de guias (las cuales se identifican cada una por su color), tuve problemas con la impresion en una impresora de punto, cuadrando los datos para lo cual en Crystal Report v8.5 scanie las guias, coloque la image en la hoja de reporte, coloque los campos donde van y retire la imagen, el programa tambien genera una secuencia de numeraciones de guia donde se indica el inicio y numeracion final ya que estas guias las tienen por lotes en cajas.