Documentation Application métier PDS78 - Fédération PDS-78
Transcription
Documentation Application métier PDS78 - Fédération PDS-78
Application logicielle métier PDS-78 Docteur Dominique POUSSARD Août 2007 Application logicielle métier PDS78 - Dr Dominique POUSSARD Choix technologiques préalables La mise à disposition d’un système informatique performant pour l’activité de PDS des médecins libéraux exerçant au sein des MMG représentait un challenge : les informations et leur gestion devaient être accessibles simplement, sans installation logicielle sur plusieurs centaines de postes de médecins participant à la PDS sur le territoire des Yvelines. Chaque médecin devait pouvoir déposer ses propres informations et consulter l’ensemble des informations communes en temps réel, tant au sein des MMG que de leurs cabinets personnels ou de leur domicile. Le développement d’une solution basée sur Internet était donc le meilleur choix. Conception, fonctionnalités La phase de conception, que j’ai menée de Mars à Juin 2003 pour la seule MMG de Montigny, m’a permis de définir les fonctionnalités essentielles de l’application métier : Information au sein d’une zone Internet publique, destinée au public, aux collectivités locales, aux institutionnels et aux professionnels de santé : présentation de l'action et des intervenants de la Permanence des Soins sur le territoire des communes de Guyancourt, Montigny et Voisins le Bretonneux et mode d'emploi concis du recours aux soins en MMG. Accès sécurisé à la zone Internet professionnelle par identifiant et mot de passe personnel et confidentiel, changé régulièrement par l’usager. Cette zone, réservée aux médecins participants et aux personnes habilitées, ouvre sur de nombreuses fonctionnalités : gestion simplifiée des choix de gardes, gestion du tableau de gardes, gestion automatique et suivi des indemnisations de garde, suivi personnel d'activité de garde : actes, honoraires, indemnités, recueil des données et rédaction des observations des actes réalisés en MMG avec envoi automatique d'email à destination du médecin traitant du patient et du médecin effecteur pour archivage médico-légal personnel, consultation des observations exhaustive des actes effectués en MMG par date, statistiques graphiques en temps réel de l'activité médicale en MMG : provenance des patients, mode d'accès, démographie, motifs de consultation, pathologies diagnostiquées, devenir des patients... statistiques graphiques globales de gardes, statistiques sur les médecins participants, annuaire des médecins participants, forum d'échange, consultation en ligne des documents de formation issus des sessions de FMC organisées mensuellement par l'AM3V, consultation en ligne des dossiers FAQSV et des documents de synthèse publiés par l'AM3V, annuaire des professionnels et institutions. pages d'informations diverses : vie de l’association, EPU… commande et suivi des divers imprimés utilisés en MMG, gestion du digicode d'accès à la MMG et communication automatique par mail à la régulation, gestion des adhésions à l'association et des cotisations, gestion des droits d'accès aux pages professionnelles, suivi de fréquentation du site... Sécurisation des données personnelles par cryptage des données, anonymisation des données patients, protection de l’accès par identifiant/mot de passe personnels et confidentiels gérés par l’usager. 2 Application logicielle métier PDS78 - Dr Dominique POUSSARD logiciel serveur d'emails assurant l'envoi de rappels de gardes automatiques à destination du médecin participant, 7 jours, puis la veille de la garde, assurant également les tâches de maintenance et de sauvegarde automatiques quotidiennes de la base de données sur support externe. Outils de développement La richesse des fonctionnalités retenues dans la phase de conception et la brièveté des délais de production nécessitait des outils performants, faciles à mettre en œuvre et bien maîtrisés. Les coûts étaient réduits par ma possession des licences de nombre des outils. Les outils retenus furent donc : base de données client-serveur Firebird ® 1.5 open source (Interbase), requêtes SQL à la base de données, programmation de la DLL ISAPI et de l'EXE sous Delphi 7® Entreprise de Borland, composants internet Delphi 7® : o Atozed Intraweb®, o TMS-Software® pour Intraweb, o Indy®, o dP-software®, logos 3D sous Ulead Cool 3D® 3.0, images sous Macromedia Fireworks® MX 2004, animations sous Macromedia Flash® MX 2004 pro, pages statiques sous Macromedia Dreamweaver® MX 2004, serveur internet Microsoft IIS® 6.0, Développement L’application métier a été développée de Juillet à Novembre 2003. La définition et l’organisation de la base de données client-serveur SQL a été la première étape. La programmation visuelle objet sous Delphi 7 appuyée sur les composants Intraweb a beaucoup simplifié le développement des deux logiciels : Une DLL ISAPI (A***_ISAPI.dll) compilée à partir : o d’un module server controller Intraweb centralisant les accès users et gérant les pools mémoire des users connectés, o d’un data module gérant l’accès à la base de données et les requêtes SQL au travers de composants BDE et Interbase Delphi, o d’autant de modules sources que de pages web. Les pages statiques utilisent la technologie des templates alors que les pages dynamiques comportent une quantité variable de code et s’appuient sur les composants Intraweb, o de modules de code utilitaire. Un EXE (RappelGardes.exe) compilé à partir : o d’un module principal pour la fenêtre Windows principale et ses fonctionnalités, o d’un data module pour l’accès à la base de données et les requêtes SQL. Aucune difficulté particulière n’a été rencontrée dans le développement hormis une certaine instabilité des composants Intraweb obligeant à installer régulièrement des versions mises à jour sur la machine de production (instabilité qui perdure puisqu’il m’a fallu récemment revenir à la version 8.0.22 après installation des versions 9.0.15 puis 9.0.16). 3 Application logicielle métier PDS78 - Dr Dominique POUSSARD Déploiement L’application métier a été déployée en béta test en Novembre 2003 sous Microsoft IIS 6.0 sur une machine basique sous Windows XP Pro reliée à Internet par liaison câble grand public 1 Mo à mon domicile en DNS dynamique gratuit (dynu.com). Les 40 médecins de la MMG de Montigny (sauf un réfractaire à l’informatique) ont participé au béta test après une soirée de formation aux différentes fonctionnalités. Les dysfonctionnements relevés et signalés furent corrigés, pour la plupart dans les 24h. Les médecins se sont appropriés très facilement et rapidement l’application. Choix de garde et saisie des actes ont été réalisés à la MMG de Montigny d’emblée, dès Novembre 2003, grâce à l’application métier. A ce jour (Septembre 2007), le site de la MMG de Montigny a reçu 16.700 connexions à la zone professionnelle et délivré 53.500 pages web. L’hébergement à mon domicile et à mes frais a été abandonné après 6 mois de tests en vraie grandeur grâce à la location d’un serveur dédié AMD Sempron 2400+®, 512Mo de mémoire vive, sous Microsoft Windows Server 2003®, et l’achat du nom de domaine pds78.org auprès du fournisseur d'hébergement et d'accès au backbone Internet AMEN® (amen.fr). L’accès au serveur pose encore parfois quelques problèmes aux utilisateurs de façon tout à fait aléatoire et non reproductible sans qu’il me soit possible de savoir s’il s’agit d’un problème côté client, serveur ou Internet. Il arrive aussi de façon aléatoire que le délai de timeout soit raccourci sur le site. Evolution La MMG des Mureaux, puis la MMG Mobile ont adopté l’application PDS78, puis depuis la création de la Fédération PDS78, la MMG de Mantes et la Point de garde de Rambouillet. Bien qu’ayant le projet de regrouper l’ensemble dans une seule application et une seule base de données, j’ai choisi de développer des applications séparées. Cette option permettait un développement plus rapide et fiable sans perturber l’existant. Pour l’heure, la MMG des Mureaux utilise la fonctionnalité gardes. Depuis près de 3 ans, elle est utilisée systématiquement sans problème et à la satisfaction de tous. Les médecins pourraient utiliser l’ensemble des fonctions depuis plus d’un an. Une formation serait souhaitable. La MMG Mobile utilise les fonctionnalités gardes et actes mais cette dernière est utilisée en différé, les actes étant saisis par la secrétaire. La MMG de Mantes utilise depuis huit mois l’application. Beaucoup semblent peu motivés par la tenue des observations patients, sans doute par une information insuffisante. Le point de garde de Rambouillet a fait sa demande d’utilisation en Juillet 2007, le développement de l’application spécifique est en cours. La naissance de la Fédération PDS 78 a amené la nécessité d’une information départementale disponible au travers d’un site Internet spécifique, public et statique. La navigation dans les différents modules a été réorganisé autour d’une page portail qu’il faut maintenant repenser afin de faciliter l’accès à l’information recherchée par les usagers du site. Enfin, un nouveau logiciel est en développement, permettant aux personnels de la Fédération, une gestion facilitée : informations communales, annuaire des pharmacies du département et tableau de garde, etc., l’ensemble en lien avec les bases de données accessibles depuis le site Internet. 4 Application logicielle métier PDS78 - Dr Dominique POUSSARD Plan du Site Internet PDS-78 / AM3V 5 Application logicielle métier PDS78 - Dr Dominique POUSSARD Site PDS-78 / AM3V - Accueil public (Intraweb + template) Site PDS-78 / AM3V - Saisie des actes (Intraweb) 6 Application logicielle métier PDS78 - Dr Dominique POUSSARD Site PDS-78 / AM3V - Accueil professionnel (Intraweb) Site PDS-78 / AM3V - Statistiques sur connexions (Intraweb + TeeChart) 7 Application logicielle métier PDS78 - Dr Dominique POUSSARD library AM3V_ISAPI; uses ISAPIApp, IWInitISAPI, ServerController in 'ServerController.pas' {IWServerController: TIWServerControllerBase}, DatamoduleUnit in 'DatamoduleUnit.pas' {DataModule1: TDataModule}, IWUAccueil in 'IWUAccueil.pas' {FormAccueil: TIWAppForm}, IWUBureau in 'IWUBureau.pas' {FormBureau: TIWAppForm}, IWUChoixGardes in 'IWUChoixGardes.pas' {FormChoixGardes: TIWAppForm}, IWUFormations in 'IWUFormations.pas' {FormFormations: TIWAppForm}, IWUGardesLibres in 'IWUGardesLibres.pas' {FormGardesLibres: TIWAppForm}, IWUMesCoordonnees in 'IWUMesCoordonnees.pas' {FormMesCoordonnees: TIWAppForm}, IWUMesGardes in 'IWUMesGardes.pas' {FormMesGardes: TIWAppForm}, IWUMissions in 'IWUMissions.pas' {FormMissions: TIWAppForm}, IWUSoireesFMC in 'IWUSoireesFMC.pas' {FormSoireesFMC: TIWAppForm}, IWUStatuts in 'IWUStatuts.pas' {FormStatuts: TIWAppForm}, IWUTableauGardes in 'IWUTableauGardes.pas' {FormTableauGardes: TIWAppForm}, IWUUneCoordonnee in 'IWUUneCoordonnee.pas' {IWFormUneCoordonnee: TIWAppForm}, JoursFeries in 'JoursFeries.pas', IWUChercheGarde in 'IWUChercheGarde.pas' {FormChercheGarde: TIWAppForm}, IWUStatGardes1 in 'IWUStatGardes1.pas' {FormStatGardes1: TIWAppForm}, IWUGardesPrefs in 'IWUGardesPrefs.pas' {FormGardesPrefs: TIWAppForm}, IWUPrepaGardes in 'IWUPrepaGardes.pas' {FormPrepaGardes: TIWAppForm}, IWUSaisieActes in 'IWUSaisieActes.pas' {FormSaisieActes: TIWAppForm}, IWUIdentification in 'IWUIdentification.pas' {FormIdentification: TIWAppForm}, IWUMaisonMedicale in 'IWUMaisonMedicale.pas' {FormMaisonMedicale: TIWAppForm}, IWUAccueilPublic in 'IWUAccueilPublic.pas' {FormAccueilPublic: TIWAppForm}, IWUEnCasdUrgence in 'IWUEnCasdUrgence.pas' {FormEnCasdUrgence: TIWAppForm}, IWUConseilsPratiques in 'IWUConseilsPratiques.pas' {FormConseilsPratiques: TIWAppForm}, IWUsInscrire in 'IWUsInscrire.pas' {FormsInscrire: TIWAppForm}, IWUStatsMedecins in 'IWUStatsMedecins.pas' {FormStatsMedecins: TIWAppForm}, IWUAssemblee in 'IWUAssemblee.pas' {FormAssemblee: TIWAppForm}, IWUPlanDuSite in 'IWUPlanDuSite.pas' {FormPlanDuSite: TIWAppForm}, IWUFonctionnementMM in 'IWUFonctionnementMM.pas' {FormPratiqueGarde: TIWAppForm}, IWUCahierLiaison in 'IWUCahierLiaison.pas' {FormCahierLiaison: TIWAppForm}, UIWComptesRendusEPU in 'UIWComptesRendusEPU.pas' {FormComptesRendusEPU: TIWAppForm}, IWUStatsConnexions in 'IWUStatsConnexions.pas' {FormStatsConnexions: TIWAppForm}, IWUMessages in 'IWUMessages.pas' {FormMessage: TIWAppForm}, IWUCotisations in 'IWUCotisations.pas' {FormCotisations: TIWAppForm}, IWUStatGardes2 in 'IWUStatGardes2.pas' {FormStatGardes2: TIWAppForm}, IWUStatGardes3 in 'IWUStatGardes3.pas' {FormStatGardes3: TIWAppForm}, IWUStatGardes4 in 'IWUStatGardes4.pas' {FormStatGardes4: TIWAppForm}, IWUChercheActes in 'IWUChercheActes.pas' {FormChercheActes: TIWAppForm}, IWUStatActes1 in 'IWUStatActes1.pas' {FormStatActes1: TIWAppForm}, IWUStatActes2 in 'IWUStatActes2.pas' {FormStatActes2: TIWAppForm}, IWUAdressesUtiles in 'IWUAdressesUtiles.pas' {FormAdressesUtiles: TIWAppForm}, IWUStatActes3 in 'IWUStatActes3.pas' {FormStatActes3: TIWAppForm}, IWUStatActes4 in 'IWUStatActes4.pas' {FormStatActes4: TIWAppForm}, IWUStatActes5 in 'IWUStatActes5.pas' {FormStatActes5: TIWAppForm}, IWUActesToExcel in 'IWUActesToExcel.pas' {FormSendExcel: TIWAppForm}, IWUDigicode in 'IWUDigicode.pas' {FormDigicode: TIWAppForm}, IWUReapprovision in 'IWUReapprovision.pas' {FormReapprovision: TIWAppForm}, IWUSuiviConnexion in 'IWUSuiviConnexion.pas' {FormSuiviConnexion: TIWAppForm}, IWUGestionDesDroits in 'IWUGestionDesDroits.pas' {FormGestionDesDroits: TIWAppForm}, IWUIndemnisations in 'IWUIndemnisations.pas' {FormIndemnisation: TIWAppForm}, IWUDoublementGarde in 'IWUDoublementGarde.pas' {FormDoublementGarde: TIWAppForm}, IWUSiteCharges in 'IWUSiteCharges.pas' {FormSiteCharges: TIWAppForm}, IWLicenseKey in 'IWLicenseKey.pas'; {$R *.RES} exports GetExtensionVersion, HttpExtensionProc, TerminateExtension; begin IWRun; end. Site PDS-78 - Code source du projet AM3V_ISAPI.dll (liste des modules sources) 8
Documents pareils
Rapport d`audit Informatique externe - Fédération PDS-78
par une société d’informatique aurait sûrement demandé des moyens plus importants.
Cette application est devenue une application majeure du système d’information.
La mise en place à Mantes a été un...