Skip to content

Instantly share code, notes, and snippets.

@revolunet
Last active November 24, 2022 12:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save revolunet/0a9583ba456615ba02df9de4edf70e8b to your computer and use it in GitHub Desktop.
Save revolunet/0a9583ba456615ba02df9de4edf70e8b to your computer and use it in GitHub Desktop.
test publicode covid
# implémentation de démo https://github.com/Delegation-numerique-en-sante/covid19-algorithme-orientation/blob/master/pseudo-code.org
### Symptômes
symptômes: oui
symptômes . température:
question: Quelle a été votre température la plus élevée ces dernières 48 heures ?
symptômes . toux:
question: Avez-vous une toux ou votre toux habituelle s’est-elle modifiée ces derniers jours ?
symptômes . anosmie:
question: Avez-vous noté une perte ou une forte diminution de votre goût ou de votre odorat ces derniers jours ?
symptômes . douleurs:
question: Avez-vous un mal de gorge ou des douleurs musculaires ou des courbatures inhabituelles ou des maux de tête inhabituels ces derniers jours ?
symptômes . douleurs . notification:
applicable si: douleurs = oui
notification: |
Si vous avez des maux de tête qui ne disparaissent pas après la prise de médicaments anti-douleurs (dont paracétamol) et que vous décririez comme intolérables : Appelez le 15
symptômes . diarrhée:
question: Avez-vous de la diarrhée ces dernières 24 heures (au moins 3 selles molles) ?
symptômes . fatigue:
question: Avez-vous une fatigue inhabituelle ces derniers jours ?
symptômes . fatigue importante:
applicable si: fatigue = oui
question: Cette fatigue vous oblige-t-elle à vous reposer plus de la moitié de la journée ?
symptômes . alimenter ou boire impossible:
question: Êtes-vous dans l'impossibilité de vous alimenter ou de boire DEPUIS 24 HEURES OU PLUS ?
symptômes . manque de souffle:
question: Dans les dernières 24 heures, avez-vous noté un manque de souffle INHABITUEL lorsque vous parlez ou faites un petit effort ?
symptômes . facteurs gravité mineur:
somme:
- symptômes . fatigue importante = oui
- symptômes . fièvreux
symptômes . facteurs gravité majeur:
somme:
- symptômes . manque de souffle = oui
- symptômes . alimenter ou boire impossible = oui
symptômes . fièvreux:
variations:
- si: symptômes . température < 35.5
alors: oui
- si: symptômes . température >= 39
alors: oui
- sinon: non
### Patient
patient: oui
patient . âge:
question: Quel est votre âge ?
unité: an
patient . taille:
question: Quelle est votre taille (en cm) ?
unité: cm
patient . poids:
question: Quel est votre poids (en kg) ?
unité: kg
patient . imc:
valeur: (poids / (taille * taille * 100))
#unité: kg/m² # todo
patient . antécédents de maladie cardiovasculaire:
question: |
Avez-vous des antécédents de maladie cardiovasculaire : hypertension artérielle compliquée (avec complications cardiaques, rénales), accident vasculaire cérébral, maladie coronaire (infarctus), chirurgie cardiaque, insuffisance cardiaque avec essoufflement au moindre effort ?
patient . diabète mal équilibré ou avec des complications:
question: Avez-vous un diabète mal équilibré ou avec des complications (yeux, reins) ?
patient . cancert évolutif:
question: Avez-vous un cancer évolutif sous traitement (hors hormonothérapie) ?
patient . maladie respiratoire chronique:
question: |
Avez-vous une maladie respiratoire chronique (bronchopneumopathie obstructive, asthme sévère, fibrose pulmonaire, syndrome d’apnées du sommeil, mucoviscidose) ou êtes-vous suivi par un pneumologue ?
patient . insuffisance rénale:
question: Avez-vous une insuffisance rénale chronique avec besoin de faire de la dialyse ?
patient . cirrhose:
question: Avez-vous une cirrhose ?
patient . enceinte:
question: Êtes-vous enceinte au 3ème trimestre de votre grossesse ?
patient . drépanocytose:
question: |
Avez-vous une drépanocytose homozygote (forme majeure) ou avez-vous bénéficié d’une splénectomie (ablation de la rate) à cause de la drépanocytose ?
patient . immunodépression:
question: |
Avez-vous une immunodépression, par exemple : médicamenteuse (chimiothérapie anti cancéreuse, traitement immunosuppresseur, biothérapie et/ou corticothérapie à dose immunosuppressive depuis plus de 15 jours) ; infection à VIH non contrôlée ou avec des CD4 <200/mm3 ; consécutive à une greffe d'organe solide ou de cellules souches hématopoïétiques ; liée à une hémopathie maligne en cours de traitement ?
patient . facteur pronostique:
applicable si:
une de ces conditions:
- patient . âge >= 65
- patient . imc >= 30
- patient . antécédents de maladie cardiovasculaire = oui
- patient . diabète mal équilibré ou avec des complications = oui
- patient . cancert évolutif = oui
- patient . maladie respiratoire chronique = oui
- patient . insuffisance rénale = oui
- patient . cirrhose = oui
- patient . enceinte = oui
- patient . drépanocytose = oui
- patient . immunodépression = oui
texte: facteur pronostique
### MESSAGES
messages . FIN1:
texte: |
Cette application n’est pas faite pour les personnes de moins de 15 ans.
Prenez contact avec votre médecin généraliste au moindre doute.
En cas d’urgence, appelez le 15.
messages . FIN3:
texte: |
Votre situation peut relever d’un Covid-19.
Demandez une téléconsultation ou un médecin généraliste ou une visite à domicile.
Appelez le 15 si une gêne respiratoire ou des difficultés importantes
pour vous alimenter ou boire apparaissent pendant plus de 24 heures.
En attendant et pour casser les chaînes de transmission, nous vous
conseillons de vous isoler et de respecter les gestes barrières pour
protéger vos proches.
messages . FIN4:
texte: |
Votre situation peut relever d’un Covid-19.
Demandez une téléconsultation ou un médecin généraliste ou une visite
à domicile. Si vous n'arrivez pas à obtenir de consultation, appelez
le 15.
En attendant et pour casser les chaînes de transmission, nous vous
conseillons de vous isoler et de respecter les gestes barrières pour
protéger vos proches.
messages . FIN5:
texte: |
Appelez le 15.
messages . FIN6:
texte: |
Votre situation peut relever d’un Covid-19.
Demandez une téléconsultation ou un médecin généraliste ou une visite
à domicile (SOS médecins, etc.)
En attendant et pour casser les chaînes de transmission, nous vous
conseillons de vous isoler et de respecter les gestes barrières pour
protéger vos proches.
messages . FIN7:
texte: |
Votre situation peut relever d’un Covid-19.
Demandez une téléconsultation ou un médecin généraliste. Au moindre
doute, appelez le 15.
En attendant et pour casser les chaînes de transmission, nous vous
conseillons de vous isoler et de respecter les gestes barrières pour
protéger vos proches.
messages . FIN8:
texte: |
Votre situation ne relève probablement pas du Covid-19.
N’hésitez pas à contacter votre médecin en cas de doute.
Vous pouvez refaire le test en cas de nouveau symptôme pour réévaluer
la situation.
Pour toute information concernant le Covid-19, composer le 0 800 130 000.
### RESULTATS
# FIN1 (less_15)
résultat . patient de moins de 15 ans:
applicable si: patient . âge < 15
remplace: résultat
valeur: messages . FIN1
# FIN5 (SAMU)
résultat . tout patient avec au moins un facteur de gravité majeur:
applicable si: symptômes . facteurs gravité majeur > 0
remplace: résultat
valeur: messages . FIN5
# FIN4 (consultation_surveillance_2)
résultat . tout patient avec fièvre et toux . tout patient avec un facteur pronostique . gravite mineur 2:
applicable si: symptômes . facteurs gravité mineur > 1
remplace: résultat
valeur: messages . FIN4
# FIN7 (consultation_surveillance_4)
résultat . tout patient avec fièvre et toux . tout patient avec un facteur pronostique:
applicable si: patient . facteur pronostique = oui
remplace: résultat
valeur: messages . FIN7
#FIN6 (consultation_surveillance_3)
résultat . tout patient avec fièvre et toux . tout patient sans facteur pronostique:
applicable si: patient . facteur pronostique = non
remplace: résultat
valeur: messages . FIN6
# FIN6 (consultation_surveillance_3)
résultat . tout patient avec fièvre ou symptômes . sans facteur pronostique . sans facteur de gravite mineur . moins 50 ans:
remplace: résultat
applicable si: patient . âge < 50
valeur: messages . FIN6
# FIN3 (consultation_surveillance_1)
résultat . tout patient avec fièvre ou symptômes . sans facteur pronostique . sans facteur de gravite mineur . plus 50 ans:
remplace: résultat
applicable si: patient . âge >= 50
valeur: messages . FIN3
résultat . tout patient avec fièvre ou symptômes . sans facteur pronostique . sans facteur de gravite mineur:
remplace: résultat
texte: tout patient avec fièvre ou symptômes sans facteur pronostique sans facteur de gravite mineur
résultat . tout patient avec fièvre ou symptômes . sans facteur pronostique:
remplace: résultat
non applicable si: patient . facteur pronostique
texte: tout patient avec fièvre ou symptômes sans facteur pronostique
# FIN4 (consultation_surveillance_2)
résultat . tout patient avec fièvre ou symptômes . avec facteur pronostique . avec facteur de gravite mineur 2:
remplace: résultat
applicable si: symptômes . facteurs gravité mineur > 1
valeur: messages . FIN4
# FIN3 (consultation_surveillance_1)
résultat . tout patient avec fièvre ou symptômes . avec facteur pronostique:
remplace: résultat
applicable si: patient . facteur pronostique
valeur: messages . FIN3
# FIN7 (consultation_surveillance_4)
résultat . tout patient sans fièvre . avec toux ou douleurs ou anosmie . avec facteur pronostique:
remplace: résultat
applicable si: patient . facteur pronostique = oui
valeur: messages . FIN7
# FIN6 (consultation_surveillance_3)
résultat . tout patient sans fièvre . avec toux ou douleurs ou anosmie . sans facteur pronostique:
remplace: résultat
applicable si: patient . facteur pronostique = non
valeur: messages . FIN6
résultat . tout patient sans fièvre . avec toux ou douleurs ou anosmie:
remplace: résultat
applicable si:
une de ces conditions:
- symptômes . toux = oui
- symptômes . douleurs = oui
- symptômes . anosmie = oui
texte: tout patient sans fièvre avec toux ou douleurs ou anosmie
résultat . tout patient avec fièvre et toux:
remplace: résultat
applicable si:
toutes ces conditions:
- symptômes . toux = oui
- symptômes . fièvreux
texte: tout patient avec fièvre et toux
résultat . tout patient sans fièvre:
remplace: résultat
non applicable si: symptômes . fièvreux
valeur: résultat
# Tout patient avec fièvre ou (sans fièvre et avec (diarrhée ou (toux et douleurs) ou (toux et anosmie) ou (douleurs et anosmie)))
résultat . tout patient avec fièvre ou symptômes:
remplace: résultat
applicable si:
une de ces conditions:
- symptômes . fièvreux
- une de ces conditions:
- symptômes . diarrhée = oui
- toutes ces conditions:
- symptômes . toux = oui
- symptômes . douleurs = oui
- toutes ces conditions:
- symptômes . toux = oui
- symptômes . anosmie = oui
- toutes ces conditions:
- symptômes . douleurs = oui
- symptômes . anosmie = oui
texte: tout patient avec fièvre ou symptômes
# FIN8 (surveillance)
résultat:
valeur: messages . FIN8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment