Archive for Febrero 2007
Un reves potente
Hasta ahora iba a buen ritmo en el desarrollo. Habia programado casi todos los modulos con dependencia total de la base de datos, la autentificacion de usuarios, los niveles de acceso y con la impresion estaba teniendo bastantes buenos resultados:
Aqui se ve el Print Preview
Incluso habia programado algo de ayuda – cutre, eso si. Seguire el cosejo dado por Christian López(gracias por la sugerencia) y metere RTF, si se puede en algun control de Mono claro esta -
Ademas las cosas programadas seguian funcionando normalmente. La vida era fácil. Utilizaba Mono-1.1.18 para compilar y todo parecia ir bien despues de desactivar la optimizacion del codigo en el SharpDevelop.
Hace 2 dias tuve la brillante idea de cambiar a una version de la rama 1.2, puesto que tenia el soporte completo de WinForms 1.1, cosa bastante necesaria para el programa. Desde entonces todo mal…
- Los DataBindings hacen lo que quieren. No se puede modificar el contenido de ningun TextBox y los DataValues y esas cosas de los listbox no estan implementados (Exception extraña), por no hablar del CurrencyManager y cosas de las sentencias SQL de Update que dejan de funcionar misteriosamente.
- El Application.Exit(), no tira como se espera.
- La aplicacion hace extraños en Linux de vez en cuando con Exceptions muy muy raras.
Asi que me he puesto a reescribir parte de los modulos para rodear la necesidad de los DataBindings y el CurrencyManager, para ello me he tenido que meter con la documentacion de los DataTables y DataRows y pegarme con las actualizacion de las Rows maracadas con Deleted que no se quieren borrar del todo.
El tema de los extraños esta por ver al igual que el del Application.Exit() pero parece ser que las cosas se empiezan a arreglar en el ultimo commit del svn con el nuevo prototipo de modulo que funciona bastante bien con el runtime de mono en win32 (sin probar en Linux. No, hoy no me apetece reiniciar ni arrancar la maquina virtual) y parece que no se cae:
Aqui se ve que he tenido que llevarme por delante el DataGrid porque no le hace caso al DataMember en los Bindings. He optado por desdoblar en dos formularios.
Aqui borrando (POR FIN!!!) por un chungo extraño de evento RowDeleted+metodo RemoveAt de RowsCollection (hey, pero funciona)
Aqui se le ve funcionando modificando los datos (realmente a pelo sobre la Row del dataset)
Espero que en el proximo commit del svn lo tengo totalmente controlado para facultativos, pacientes y demas, y que no me retrase mucho en mi camino hacia “el modulo de tasacion” verdadero objetivo del programa.
Add comment Febrero 20, 2007
Leyes
Bueno, hace tiempo que tenía este post pendiente, y hoy, por fin, me he decidido a escribir sobre las leyes que regulan la elaboración de formulas magistrales.
Basicamente son estas leyes las que me han indicado el camino a seguir ya que no he cursado todavía ninguna asignatura de formulación (puede que no lo haga nunca) y tampoco he tenido experiencia profesional de este tipo.
- Primero. Las formulas magistrales están definidas en la flamante “nueva” ley de Garantias y uso racional de los medicamentos y productos sanitarios de 2006 como “el medicamento destinado a un paciente individualizado, preparado por un farmacéutico, o bajo su dirección, para cumplimentar expresamente una prescripción facultativa detallada de los principios activos que incluye, según las normas de correcta elaboración y control de calidad establecidas al efecto, dispensado en oficina de farmacia o servicio farmacéutico y con la debida información al usuario en los términos previstos en el artículo 42.5“
(En los articulos 42, 43 y 44 de dicha ley se ponen ciertas condiciones a la formulas magistrales y se habla sobre el Formulario Nacional y los preparados oficinales)
Todo lo anterior esta bien pero no indica demasiada información sobre como se hacen las cosas realmente y que hay que documentar y gestionar para facilitar la vida al boticario que de eso es lo que se trata. Para ello esta el Real Decreto 175/2001.
- Segundo. Real Decreto 175/2001 del 23 de Febrero por el que se aprueban las normas de la correcta elaboración y control de calidad de formulas magistrales y preparados oficinales.
En este decreto se especifica de una manera exhaustiva toda la información que hay que mantener en los registros y de los procedimientos para llevar un control de todas las operaciones y garantizar así la calidad. Se habla desde el registro de las materias primas, hasta las advertencias a incluir en el prospecto al paciente.
Es el capítulo III de esta ley sobre documentación en el que he basado absolutamente todos mis modelos de datos iniciales que posteriormente según avanzaba el desarrollo he tenido que ir modificando ligeramente al descubrir errores o imprecisiones.
- Tercero. No todo iba a ser tan bonito. En España existen comunidades autonomas. Desde hace varios años las competencias de sanidad se han cedido desde el estado a dichas comunidades con lo que cada una a pretendido legislar lo que le parecía oportuno. Así uno se encuentra con una gran variedad de leyes que solo afectan a una pequeña parte del territorio y donde se varían cosas tan importantes como el factor P y los precios de principios activos y excipientes.
Me he quedado agusto. Esto es un breve resumen de todas las leyes que me he comido y que tienen poco aplicación real sobre la actividad del programa pero que es necesario leer para asegurarse de que “cumplen con la legislacion actual” (Requisito planteado inicialmente).
Add comment Febrero 16, 2007
Ayuda “Inteligente”
Por fin he terminado los examenes!!!!
Ya han sido festejados y ahora toca ponerse a trabajar otra vez plenamente. Mientras estaba concentrado en Farmacologia, Microbiologia y demás implemente unas cuantas cosas que por lo que sea no recuerdo muy bien (cosas que pasan) , pero entre ellas esta la ayuda “inteligente”. Digo “Inteligente” y no inteligente porque para ello tendría que ser un conjunto de redes neurales que aprendieran de las acciones del usuario y dedujeran la accion mas apropiada a sugerir.
Pues bien, aunque el requisito inicial se definio como “algo parecido al asistente de openoffice-m$office-etc-offfice” más bien se referia a algo a lo que pudieras preguntar claramente y obtener un tema relacionado y mostrar la información de la acción. Asi que el resultado es algo que cumple con el requisito, funciona, pero de lo que probablemente necesitaría una mayor puesta a punto (si no una reescritura, ¿¿los vapores de clorhidrico??). Sea como sea aquí esta el enjendro (MWAHAHAHA):
Aqui se le ve respondiendo a una pregunta tipica de concursante de Gran Hermano (si, yo querer poder responder mejor):
Aquí mostrando una ayuda un poco corta(posiblemente mejorable con cosas HTML, pero requiere navegador y mas tiron de ordenador para ejecutar el mono y un firefox). Hey y ademas esta en las tablas de la base de datos asi que no se le puede pedir mucho.
Lo mas probable es que referencie en la base de datos a un archivo HTML, o de otro tipo que contenga la ayuda mas clara y asi juntar toda la documentacion de una forma facil.
Pero bueno, no se puede pedir mas mientras estaba estudiando, que encima he aprobado Farma!!!!!!
1 comment Febrero 14, 2007
Sexto commit
Aunque sigo enfrascado en examenes y dije claramente que no iba a programar más mientras los tuviera(ya me arrepentiré cuando me las den todas seguidas en la cara), he tenido algo de tiempo de implementar y hacer algunas cosillas.
- Sexto commit
- Los modulos clónicos de pacientes, facultativos, proveedores, etc … ya casi son definitivos con algún que otro detalle por implementar (creo que solo busqueda).
- El control de acceso es simple pero efectivo: 4 acciones por módulo, nuevo, modificar, borrar y acceder. Cada accion de cada módulo es independiente. Y los módulos especiales como el de tasación y la impresión quedan por extender (simplemente añadirlos en la tabla de la base de datos).
- El módulo de control de calidad (controles y ensayos realizados sobre materiales del registro) esta practicamente acabado, solo queda el control de acciones y un problemilla de concurrencia misterioso con los dos CurrencyManager y datarelations, pero facil de arreglar.
- En breve
- He estado investigando sobre nant y pronto tendre unos builds para poder compilar con mono en distintas plataformas y no solo con el SharpDevelop como hasta ahora.
- No se si podre contenerme antes de que terminen lo examenes o me pondre ya finalemente con la impresión y tasacion-materiasprimas-envases (eje del programa). Pero eso si, lo siguiente va a ser el modulo de ayuda inteligente.
- Ademas, tengo pendiente un post de las actuales leyes que rigen la formulación magistral y los preparados oficinales.
A ver si tengo suerte en farmacologia mañana…..
Add comment Febrero 1, 2007