Software de administracion hospitalaria
StareMedic es un programa para administrar las admisiones clinicas al hospital, imprimir las hojas de admision para la firma del paciente/fiador, y sirve como cliente para generar remisiones consumiendo el SDK de Contpaqi, a traves de SDKService.
![Main Page View](https://private-user-images.githubusercontent.com/52047942/331938631-fe573a66-d890-4ed6-ab68-fecbd2083125.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMjkyNzgsIm5iZiI6MTczOTMyODk3OCwicGF0aCI6Ii81MjA0Nzk0Mi8zMzE5Mzg2MzEtZmU1NzNhNjYtZDg5MC00ZWQ2LWFiNjgtZmVjYmQyMDgzMTI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDAyNTYxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBiZWJmNzg2MmIxZGE4Yzg1YjRhNTljNTIzYTMzZmY0ZTBlMWY5OTczMTE4MTczYmZjNGIzYjRmMTNkYmYwNWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rfRuwNmNm82dn66ACs5nzvwlnUIXjPZEDh7s1gNs1BE)
Este proyecto surgio por la necesidad de modernizar el software de admisiones actual de un hospital local, que a su vez, como extra, fuese compatible con su sistema administrativo (Contpaqi Comercial). Fue asi que por mero gusto propio, decidi probar .Net MAUI, que personalmente nos llama mucho la atencion. Primero planificamos la estructura de las entidades involucradas para considerar sus relaciones, y construir la base de datos. La base de datos esta contextualizada con Entity Framework, donde se mapearon las tablas con sus respectivas relaciones.
La base de datos corre en Postgres 16, y tanto la conexion a la misma, como la conexion al sdk son configurables desde el archivo config.json.
el SDKService corre con .net 4 en 32 bits, es por eso que no pude implementarlo directamente con este framework, y despues de realizar una gran cantidad de pruebas con distintas tecnologias, decidi que lo mas apto seria levantar un servicio en segundo plano, para descartar problemas de dependencias, y que a su vez, me sera util para futuros proyectos, consumiendo solamente un usuario de contpaq, y estando disponible desde cualquier plataforma.
Las entidades fueron algo simple, simplemente seguimos el modelo que habiamos establecido para las db, y las reglas del negocio estan bien establecidas. Para exponer los metodos del contexto de la base de datos, utilizamos el manejo del repositorio principal.
Si bien existen varias formas mas ordenadas de estructurar los proyectos, trate de hacecrlo mas navegable separando las views y los controles de las entidades lo mejor que pude, nos funciono asi, sin embargo, en futuras actualizaciones y proyectos, implementare las mejores practicas de clean code.
Para la generacion del documento de admision clinica, utilice iTextSharp, que al probarlo, senti que estaba usando LaTex. El documento fue generado en base a la hoja de admision que manejan actualmente en el hospital, que no es mas que una plantilla membretada que sale mal impresa, pero ahora todo es generado digitalmente:
![Generacion de admision clinica](https://private-user-images.githubusercontent.com/52047942/331950784-320b2258-2092-4650-87d4-1107d5943907.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMjkyNzgsIm5iZiI6MTczOTMyODk3OCwicGF0aCI6Ii81MjA0Nzk0Mi8zMzE5NTA3ODQtMzIwYjIyNTgtMjA5Mi00NjUwLTg3ZDQtMTEwN2Q1OTQzOTA3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDAyNTYxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJhNjcxMGE3YzAwMjY4ODQ2M2ViN2YyOTM4OTI5OGEwYmY0NGZiMjYzNmE0YTNhNGQ1NDhhMjlkMGI1MjI5MGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cOLBiOgWRpUXrSrE0dEuSvpNbklj_bfLpZq0AT91dXo)
![Generacion de sumario clinico](https://private-user-images.githubusercontent.com/52047942/331951059-df664e0e-45b1-4c46-b99f-667d9eb9cb4a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMjkyNzgsIm5iZiI6MTczOTMyODk3OCwicGF0aCI6Ii81MjA0Nzk0Mi8zMzE5NTEwNTktZGY2NjRlMGUtNDViMS00YzQ2LWI5OWYtNjY3ZDllYjljYjRhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDAyNTYxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRlOGYxMzFiMzgzNDgyMmI5ZDhiYWI3NmIzMDY2Yzk4MzQ4ZDhhZWY2MWY0YzA5OGVmZGUwOTU1YTc5ZWE4MDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.DmidNIXIGySMv8t-5KkiYh8LN0cPL9VBg2T3b7fOQ9o)