Patient Manager Release: les fonctionnalités

January 3rd, 2010

L’analyse de la prochaine version de Phoenix est terminée! Il y a deux petites surprises par rapport au planning initial: le gestionnaire d’indices BMI sera de la partie avec le gestionnaire de liens familiaux. Mais faisons sans plus attendre une liste des nouvelles fonctionalités:

  • Ajout d’un patient.
  • Ajout rapide d’un patient. En d’autres termes, il suffit d’ajouter le nom, le prénom, la date de naissance et la date d’inscription du patient pour l’ajouter. En interne, cette fiche sera notée comme incomplète et l’utilisateur pourra la mettre à jour quand il aura plus de temps.
  • Modification des données d’un patient.
  • Gestion des données BMI (Body/Mass index) d’un patient avec affichage graphique des données et possibilité de les ajouter/modifier/supprimer.
  • Gestion des liens familiaux d’un patient. Il y a moyen d’enregistrer le fait que le patient A est le frère du patient B qui est le père du patient C. Comme pour la gestion BMI on peut ajouter/supprimer/supprimer des données.

Voici quelques liens pour avoir quelques informations supplémentaire:

  • Le document d’analyse est téléchargeable ICI (Document en anglais).
  • Vous pouvez laisser un commentaire pour formuler une requête ou poser une question.

Phoenix Suite – Session Release

December 17th, 2009

windows_usersLe sprint 2  de Phoenix Suite est sorti!!!

Cette version comprend le gestionnaire de sessions qui est l’entrée principale de Phoenix. A partir d’une session, il est possible de gérer les fiches médicales, les photos, les prescriptions, les pathologies et les rendez-vous d’un patient. Pour l’instant, vous pouvez chercher un patient, ouvrir une session, fermer une ou plusieurs sessions et configurer quelques paramètres pour le module de recherche.

Phoenix n’est pas encore utilisable en production mais est testé avec soin pour que les autres modules puissent s’ajouter avec harmonie. Vous pouvez cependant le télécharger ICI et jouer un peu afin de vous habituer à la nouvelle interface.

Dès maintenant, je commence l’analyse du 3ème sprint: le “Patient manager release“. Notez que je reporte le traitement du BMI pour la version 4: la “Medical Card manager release” puisque il me semble plus logique de noter ces données dans les informations médicales du patient.

Phoenix Suite a une adresse plus net(te)…

December 15th, 2009

Phoenix Suite est maintenant accessible via une adresse un peu plus humaine: www.phoenixsuite.net. N’est-ce pas une bonne occasion de mettre ses favoris à jour? Notez bien que le site est toujours accessible à partir de son ancienne adresse.

Session Release: les fonctionnalités

November 19th, 2009

Je viens de terminer l’analyse des fonctionnalités qui seront implémentées dans le prochain sprint.

Commençons par énoncer le but de cette version: créer un point d’entrée pour Phoenix Suite. Ce point d’entrée peut être subdivisé en trois parties: le “Phoenix’s Nest”, le module de recherche et la “session”.

Passons donc en revue ces concepts:

  • Phoenix’s Nest: Ce concept, qui se traduit par “nid du phoenix“, est la partie de l’interface graphique qui supportera tout, ce sont les fondations de l’application. Il est responsable  de mettre à disposition de l’utilisateur toutes les fonctionnalités et d’afficher toutes les informations importantes .  Ci-dessous, un croquis de ce à quoi il ressemblera:
  • Phoenix Nest

  • Module de recherche: Est un module qui permet de chercher un patient sur différents critères. La sélection d’un patient permettra de charger une session. Voici un croquis de ce que devrait donner le module de recherche:

    Searchbox

  • Session: Une session est constituée d’un patient et propose l’accès à tous les services de gestion d’un patient. Par exemple, gestion des rendez-vous, des prescriptions etc.

Voici quelques liens pour avoir quelques informations supplémentaire:

  • Le document d’analyse est téléchargeable ICI (Document en anglais).
  • La liste des tests de validations se trouve ICI (Document en anglais).
  • Vous pouvez laisser un commentaire pour formuler une requête ou poser une question.

Phoenix Suite – Tools Release

November 15th, 2009

Le Sprint 1 de Phoenix Suite 2 est sorti!!!

La version nommée “Tools Release” est sortie et elle comprend le module de log et de traduction. Bien que cette version ne comprend rien de visible pour l’utilisateur, elle n’en reste pas moins une des plus importantes.  Maintenant que cette grande étape est terminée, je m’attelle à la prochaine version nommée “Session Release“, d’ici pas trop longtemps je posterai la liste des fonctionnalités retenues (si une fonction demandée n’est pas retenue, cela ne veux pas dire qu’elle ne sera pas implémentée, ça veut dire qu’elle le sera pour une version ultérieure).

Voici la liste des liens:

  • Les fichiers binaires sont téléchargeable ICI.
  • Le code source est téléchargeable ICI.
  • La liste de tests et les spécifications  se trouve ICI [login: guest, mot de passe: guest].
  • La liste des bugs et de requêtes se trouve ICI.
  • Les spécifications du module de log sont téléchargeables ICI (Documents rédigés en anglais)
  • Les spécifications du module de traduction sont téléchargeables ici ICI (Documents rédigés en anglais)

Glossaire

November 15th, 2009

Il m’arrive, en temps qu’informaticien, d’utiliser des mots totalement incompréhensibles qui pourrait me faire paraître pour un extra-terrestre. Pour que vous continuiez à me comprendre, j’ai commencé à lister tous ces mots barbare dans un glossaire que je mettrai à jour régulièrement. Pour l’heure, c’est ICI que ça se passe…

Phoenix 2 – Bonnes pratiques.

October 4th, 2009

Pour porter à bien un projet, il ne suffit pas d’être développeur.  Il faut aussi être analyste, testeur, écrivain, administrateur, release manager et chef de projet (même si on est seul ) pour coordonner le tout.

Les quatre dernières casquettes m’occupent pour l’instant.  Je suis en train d’instaurer des règles de bonnes pratiques, une liste de tâches est en place et  j’ai également installé sur mon vieux serveur un serveur de build (qui compile et distribue automatiquement  Phoenix sur base du dernier code source), un serveur de gestion de bugs et un serveur de test pour une gestion fine du testing. J’ai d’ailleurs remis à jour le liste des remerciements pour inclure nouveaux outils open source que j’utilise.

Pendant que j’étais en train de rédiger ma liste de choses à faire, j’ai décidé de m’y prendre autrement pour Phoenix 2: il y aura 12 pré-sorties avant de passer en version 2 et que l’application quitte son titre de “Beta“. Pourquoi douze pré-versions? Simplement parce que cette façon de faire à deux grandes qualités. D’une part, l’utilisateur plonge calmement dans Phoenix pour appréhender simplement la philosophie et les fonctionalités. D’autre part, l’utilisateur pourra se rendre compte du manque de l’une ou l’autre fonction très rapidement dans le développement. Dans le monde du logiciel, plus un changement est demandé tôt dans le développement, moins il est coûteux en temps et en effort.

Voici l’ordre dans lequel Phoenix sortira:

  1. Tools release.
    Vérification des fonctionnalités et test des outils de Phoenix (traducteur et logeur)
  2. Session release.
    Une session c’est le point d’entrée de toutes les fonctionnalités liées à un patient particulier.
  3. Patient manager release.
    Le gestionnaire de patient permet de modifier les caractéristiques d’un patient.  Certains ont demandé de stocker les informations pour calculer l’indice BMI, je les ai entendus!
  4. Medical card manager release.
    Ce module traite et gère les fiches médicales. Ce module contient entre autre, le gestionnaire de macro pour insérer du texte pré-formaté et la coloration syntaxique.
  5. Picture manager release.
    C’est le gestionnaire qui permet de lier des photos au patient.
  6. Meeting manager release.
    Le gestionnaire de rendez-vous est un agenda mais qui ne permet que de créer des rendez-vous avec la patient de la session courante.
  7. Prescription manager release.
    Ce module permet de gérer les prescriptions avec un patient.
  8. Pathology manager release.
    Le gestionnaire de pathologie permet de garder et de mettre à jour l’historique des pathologies du patient de la session courante.
  9. Administration release.
    Ici seront regroupé la gestion de toutes les informations connexes comme par exemple l’ajout-suppression-modification d’une maladie ou d’un type de maladie.
  10. Meeting administrator release.
    C’est l’autre facette de l’agenda. Ce module permettra de gérer ses rendez-vous avec n’importe quel patient sans tenir compte de la session courante.
  11. Statistics manager release.
    Étant donné que phoenix est construit sur une base de données, il est très simple d’en tirer toutes sortes de statistiques. C’est dans ce module qu’elle seront regroupées.
  12. Traductions et pré-configuration.
    Phoenix est étudié pour être multilangue mais le monde du logiciel n’a pas encore inventé d’outils pour traduite tout seul (et correctement) du texte d’une langue vers l’autre… Donc c’est mon boulot (pour l’anglais) et celui me ma douce fiancée hispanophone  (qui corrigera mon espagnol qu’elle décrit comme “divino, tan lindo“, traduisez: “bourré de fautes“). Pour le néerlandais, il va falloir attendre un peu parce mon niveau n’est plus tout à fait à la hauteur ;) D’autre part, je pré-configurerai Phoenix pour qu’il soit utilisable “out of the box“, c’est à dire tout de suite, sans passer par la case “options“.

Chaque version devra passer par 5 étapes:

  1. Analyse et liste des fonctionnalités.
    J’arrêterai une liste des fonctionnalités que je publierai avant l’implémentation. J’écrirai également les scénarii de test à exécuter lors de la phase de debugging.
  2. Implémentation des fonctionnalités.
    C’est pour mon côté programmeur ;)
  3. Sortie d’une version de test.
    Compilation de la version avec les options de débugging activées.
  4. Testing.
    Passage au crible de tous les scénarii de test afin de mettre en évidence les bugs qui serait toujours là.
  5. Correction de bugs.
    Cette étape est facultative si le testing n’a mis en évidence aucun bug.
  6. Sortie de la version finale.
    Mise en téléchargement de la version. Même si cette version porte le nom de “version finale“, il ne faut pas oublier que ce n’est qu’au niveau des fonctionnalités puisque Phoenix restera en version Beta tant que tout ne sera pas implémenté.

Phoenix 2 – Mise à jour de la couche métier…

September 8th, 2009

Étant donné que je suis en plein dans la phase d’analyse de la couche métier, il est normal que cela change. Voici donc les modifications apportées ces derniers jours…

Deux petites choses:

  • Les pathologies sont maintenant classifiées par type.
  • Les factures ont temporairement disparues.

Après discussion avec un ostéopathe, nous somme arrivé à la conclusion qu’il est inutile de relier une facture à un rendez-vous. De plus, Phoenix se concentre d’abord sur la gestion des patients.

Veuillez noter que, de part la phase d’analyse du module métier, je reste ouvert à toute proposition relative à la gestion des patients.  Puisque je suis en train de travailler dans ce module, tout demande à ce sujet sera implémentée quasi en temps réel ;) Pour ce faire, il suffit de laisser un commentaire sur ce billet.

Ci dessous, le schéma modifié:

Domain

(Cliquez sur l’image pour la voir en grand)

Phoenix 2 – Log, traduction et logique métier…

September 6th, 2009

Hier soir, j’étais au téléphone avec ma belle et tendre fiancée quand elle me dit que cela faisait un long moment que je n’écrivais plus rien au sujet de Phoenix Suite.  J’écris donc ce billet pour corriger cette erreur!

Cette fois-ci, je ne pourrais pas montrer de jolis  screenshots de l’interface graphique puisque le code que j’ai écris fait partie de la partie dite de “sous le capot“. J’ai fais quelques ajouts dans la logique métier, j’ai implémenté deux nouveaux modules et  j’ai reciblé les différentes technologies utilisées afin de rendre Phoenix le plus stable et adaptable possible.

Voici un résumer des derniers changements:

  • Module de Log:
    J’ai rafraîchi toute la partie liée au logging afin de pouvoir cibler le plus facilement possible toutes les erreur et les bugs.  Une fois en production, c’est le dernier lien que j’aurais avec Phoenix pour chasser les bugs… C’est donc un module très sensible et qui doit être bien écrit!
  • Module de Traduction:
    Initialement Phoenix est écrit en anglais mais il contient déjà un module de traduction qui comprendra au moins trois langues (peut-être quatre) dès sa sortie: Anglais, Français, Espagnole et peut-être Néerlandais. Ce module est finalisé et est prêt à subir la batterie de test avant d’être apte à la mise en production.
  • Phoenix Core:
    C’est le cœur de Phoenix, c’est lui qui contient toute la logique métier. Après une discussion avec un ostéopathe,  j’ai ajouté un lien familial entre les patients. En d’autres termes, il sera possible de refaire un arbre généalogique de vos patients.  Ce module est toujours en travaux et peut donc subir quelques changements, mais ils resteront subtiles. Vous pourrez voir ci-dessous la schéma du module:

Domain

(Cliquez sur l’image pour la voir en grand)

Pour conclure  je vais rappeler les différents but que Phoenix 2 cible

  • Versatilité du point de vue de son interface graphique, il sera donc très facile de créer de nouvelles interface graphique voire même laisser la possibilité à l’utilisateur de choisir laquelle il désire.
  • Indépendance par rapport à la base de données. Une fois mature, Phoenix suivra la mode des systèmes distribués: une base de données centrale et des clients qui accède cette base de données. Bref une optique ou l’ostéopathe ne sera plus seul mais accompagné d’une secrétaire ou de collègues. La base de données de ce nouveau système ne sera plus SQLite mais probablement MySQL (ou n’importe quelle base de données qui gère les connexion multiples).

Phoenix 2 – Un module de recherche plus intuitif.

June 10th, 2009

Je viens de terminer le code du moteur de recherche de Phoenix 2. Je vais en profiter pour donner quelques mots d’explication sur celui-ci.

Comme vous pouvez le voir sur l’image ci-dessous, l’interface graphique est sobre et complète.  La fenêtre se divise en deux parties. La moitié supérieure comprend les critères de recherche, il suffit de cocher les critères désirés et ensuite cliquer sur le bouton “rechercher“. Le moitié inférieure contient les résultats de la recherche et pour sélectionner un élément du résultat, il suffit de le double-cliquer ou de le sélectionner à la souris et de confirmer par le bouton “sélectionner“. L’utilisateur peut également changer à tout moment la taille des deux parties de la fenêtre.

J’ai programmé ce module pour le rendre adaptable facilement à n’importe quelle partie de la base de données (même celle qui n’existe pas encore!). Je pourrais très facilement donner la main à l’utilisateur pour qu’il choisisse lui même, via une interface de configuration, les critères qu’il souhaite utiliser pour ses recherche. Donc si je rencontre une demande dans cette voie, j’implémenterai cette fonctionnalité!

tb_searchengine(Cliquez sur l’image pour la voir en grand)