Pilldroid

Bienvenue

Pilldroid est la résurrection d’un projet iOS qui s’appelait PillStock. En quittant le monde Apple et le confort d’ObjectiveC, je me suis mis à Android et à java. La route fut longue, mais enfin Pilldroid commence à être utilisable.

Pilldroid vous permet de gérer le stock théorique de vos médicaments.

J’ai conçu Pilldroid pour mes propres besoin, la quantité de médicaments que je dois prendre étant assez importante.

Pilldroid ne vous rappelle pas de prendre vos médicaments, ce n’est pas le but de l’application. D’autres font cela très bien.

Théorique parce que Pilldroid ne peut pas savoir si vous avez effectivement pris vos traitements;

L'usage de Pilldroid

Il y a des médicaments que Pilldroid ne gère pas parce que je ne sais pas comment les gérer. Qu’est-ce qu’une « noisette » de crème, une cuillère à soupe de sirop, Idem pour l’insuline dont l’injection n’est pas facilement prévisible. Les « médicaments » homéopathiques sont aussi exclus de la liste.

Toutefois Pilldroid embarque une base de données de près de 15 000 médicaments.

Facilité d’utilisation

J’ai essayé de faciliter au maximum l’utilisation de Pilldroid. Ainsi, pour éviter la recopie du nom d’un médicament, avec toutes les erreurs que cela peut engendrer, Pilldroid embarque une base de données, issue des fichiers du site du gouvernement base-donnees-publique.medicaments.gouv.fr

Pour ajouter un médicament à la liste de ceux que vous prenez, il suffit de scanner le code barre pour retrouver le code dit CIP 13 qui correspond à un médicament dans la base de donnée.

En cas de difficulté à scanner ce code barre, il est possible de rentrer le code CIP 13 à l’aide du clavier.

Calcul du stock

Tous les jours entre midi et quatorze heures, l’application se réveille et réalise le calcul du stock, retranchant ce que vous devriez prendre aujourd’hui.

Si le stock restant d’un des médicaments est en deçà du seuil d’alerte (qui est de 7 jours par défaut), une notification vous invitant à passer à la pharmacie vous est envoyée.

Visage renfrogné, fond rouge, Il
est nécessaire de passer à la pharmacie

Visuellement dans l'application, le fond est rouge et un visage renfrogné vous indique cet état.

Visage neutre, fond orange, le stock est ok

Un fond orange et un visage neutre vous indique que le stock se situe en le seuil de mise en garde (14 jours par défaut) et le seuil d'alerte (7 jours par défaut)

Visage souriant, fond vert, le stock est ok

Un fond vert et un visage souriant vous indique un stock suffisant.

Un médicament
barré, fond gris,le traitement est suspendu, la prise est mise à zero

Enfin, il est possible de suspendre un traitement en mettant la prise à zéro. Le stock n'est plus calculé, le fond est gris et l'icône d'un médicament barré vous indique cet état.



Cas pratique

Il arrive souvent que le prise d’un médicament varie d’un jour à l’autre (je pense aux anticoagulants). Comment quantifier que l’on en prend ¼ (0,25) un jour et ½ (0,50) le lendemain ? La solution que j’ai trouvée est d’additionner les variations (0,75) et de diviser par le nombre de variations (2) ce qui nous donne une prise quotidienne moyenne de 0,375 par jour.

Tutoriel

Au premier démarrage de l’application, un petit tutoriel de 12 écrans vous explique le fonctionnement de l’application. Vous pouvez passer ce tutoriel et y revenir plus dans le menu aide de l’application.

À propos de moi

Lovis IX, mon nom de guerre.

Je suis dans la vie professionnelle et associative Administrateur Système Unix BOFH.

Multi-malade, double transplantation cardiaque, diabétique, les reins qui partent en sucette, le foie ne devrait pas tarder à suivre et amputé de la jambe droite. Autant dire que des médicaments, j’en prends, des pelletés chaque jour.

C’est donc pour m’aider à gérer mon propre stock que PillStock puis Pilldroid ont vu le jour.

Je suis également co-fondateur et président de Exodus Privacy

Pilldroid et l'opensource

Une partie du code est disponible sur github.

Si vous souhaitez contribuer (je suis un mauvais développeur Java), proposer des améliorations, des corrections, vous êtes bien sûr les bienvenus.

Je developpe Pilldroid sur mon temps libre, ne vous impatienez pas si je tarde à répondre. Merci.

Attention

La base de données de médicaments est, malheureusement, franco-française. Rendre international cette base risque d’être compliqué (mais sait-on jamais).

Pilldroid est avant tout un projet pour moi, s’il satisfait d’autres utilisateur⋅trices, j’en serais ravi, mais le développement avance à un train de sénateur.

Avenir de Pilldroid

J’ai de nombreuses pistes d’amélioration de Pilldroid :

permettre une mise à jour de la base de médicament sans refaire une nouvelle version. Cela implique de demander une nouvelle autorisation et je ne suis pas très partisan de cette option ;

permettre une sauvegarde de la base de données des médicaments pris dans le nuage. Là encore si la fonctionnalité semble utile, sa mise en place demande des permissions qui ne me plaisent guère ;

 voir comment améliorer l’UX/UI avec un⋅e UX/UI designer ou designeuse. Pilldroid est loin de ce que j’avais fait pour PillStock ;

 améliorer l’accessibilité de l’application à des handicaps que je ne maitrise pas ;

 prendre les idées qui viendront des utilisateurs et utilisatrices.

Permissions

Pour fonctionner Pilldroid a besoin des permissions suivantes:

  • Camera → pour permettre le scan du code barre ;
  • Stockage → pour stocker les deux bases de données de l’application ;
  • Notification → pour vous avertir de passer à la pharmacie ;
  • vibration → en complèment de la notificaton ;

Pilldroid embarque le SDK com.journeyapps:zxing-android-embedded:4.1.0 pour la lecture et l’interprétation du code barre.

Et bien évidement, Pilldroid n’embarque aucun pisteur.

Remerciements

PillStock puis Pilldroid n’auraient pu voir le jour sans l’aide de Frank, Benoît, Aurélien, Dominique pour la partie PillStock.

Mais aussi de Schoumi, Lolo et Erwan qui fut le premier testeur de Pilldroid.

La relecture et le début d’accessibilité est dû à Stéphane Deschamp, camarade du fediverse.

J'ai bien conscience qu'il y a encore du boulot à faire

Un grand merci aussi à toutes les personnes que j’ai fait suer avec ce projet.

Enfin, merci au Dr Kauffman qui, du temps où l’application s’appelait PillStock, a grandement participé à son amélioration, par ces suggestions judicieuses de professionnel de santé.

Dons

Si vous aimez le projet, si vous utilisez l’application au quotidien ou simplement si vous voulez mes soutenir, vous pouvez faire un don sur Liberapay.

Merci d’avance.

ChangeLogs

Les changements dans les différentes version du projet.

V0.350-beta - Nouvelle base de données

  • Mise à jour de la base de données drugs.db pour insclure de nouveaux médicaments ;
  • Petite mise à jour du fichier about.html

V0.302-beta - Déverminage et menus changement dans l’interface

  • Résolution de la bogue qui empéchait la calcul du stock et l’émission de l’alarme, bogue qui est apparu dans la version v0.201-beta. Je suis désolé pour cette bogue et le temps que j’ai mis à la corriger ;
  • Suppression de vieux code et vieux commentaires ;
  • Changement dans le dialogue de saisie d’un CIP13, vous n’avez plvs qve les 7 derniers chiffres à entrer ;
  • Changement dans l’apparence de la saisie des valeurs, j’ai supprimé les coins arrondis.

De nombreux autres bogues restent présentes, mais je ne les ai pas encore trouvé.

Ce serait sympa de me faire une petit coucou :

v0.301-beta - Correction de bogues

  • Une bogue majeur faisait que le calcul du stock était plus réalisé à l’appel de Pilldroid en tâche de fond. Cette bogue est corrigé, sous réserve de l’apparition d’autres bogues. Merci pour votre aide et votre patience. Un petit mot fait toujours plaisir.

v0.300-beta - Nouvelles fonctionnalités

  • La gestion de la liste des prescriptions (les médicaments que vous permet) à été revue ;
    • un glissement de la droite vers la gauche supprime le médicament de la liste ET de la base données ;
    • un glissement de la gauche vers la droite permet de modifier les détails du médicament, tout comme le tapotage sur la flèche à la droite de la ligne.

Ces changements vont vous permettre de supprimer les médicaments dont la prise est à zéro (0) depuis longtemps et que vous ne prendrez plus. Ils vont également me permettre d’avancer sur la prochaine étape qui est de plus présenter les noms des médicaments, mais la molécule (doliprane, efferalgant, daflagant deviendront paracétamol). Je vous en dirais plus prochainement.

Merci de me faire des retours sur ces nouveautés, Pilldroid Pilldroidou pilldroid@foucry.net.

v0.201-beta - déverminage dans alarmReceiver

L’alarmReceiver utilisait encore l’anciennt base de données qui devait être vide. J’utilise désormais la gestionroom pour la base données.

v0.200 – Nouvelle numérotation sémantique (VMajor.Minor.Patch)

Malgré de nombreux tests et une utilisation quotidienne, tout est à tester.

Nouveautés

Pas grand-chose de visible pour les personnes utilisatrices :

  • Ajout d’une demande explicite de non-responsabilité de l’auteur en cas de problème ;
  • Utilisation de Room pour gérer les bases de données ;
  • Migration de l’ancienne base de données à la nouvelle, vous ne devriez rien voir ;
  • Nettoyage du code.

Ce qui devrait fonctionner

  • le scan de QR-code sur un fond foncé. La bibliothèque utilisée a un paramètre pour cela.

beta-0.100 – Première version publique

Malgré de nombreux tests et une utilisation quotidienne, tout est à tester.

Ce qui ne fonctionne pas

  • le scan de QR-code sur un fond foncé. La bibliothèque utilisée n’arrive pas à les repérer.

Ce qui n’est pas implémenté

  • la suppression d’un médicament de la liste ;
  • le rappel de prise de médicament (et ne le sera sans doute jamais par moi).

ATTENTION, Pilldroid ne sait pas gérer les crèmes, les liquides (l’insuline par exemple).

Merci d’utiliser github pour rapporter des bogues et demander des fonctionnalités.

Je fais Pilldroid sur mon temps libre et accessible. Il est inutile et contre-productif de me « mettre la pression ».

Pilldroid ne sera diffusé que par f-droid