C++/Qt + (script engine, for the rules processing ?)
Database will be called “alerts”
Plugin is called “Alerts” and will be stored in /trunk/plugins/alertsplugin
A AlertCore
Manages
all singleton of the plugin
all configuration of internal classes
connection to Core::ICore::instance()
Allow
any plugins to register new alerts/notifications
A AlertBase (&& AlertBaseQuery)
Singleton in AlertCore
Inherits of Utils::Database (code to be done by Eric)
Created and initialized by AlertCore
Manages all database access && creation && connection
A AlertManager
Singleton in AlertCore
Manage alerts/notifications
A AlertItem
inert data class for alerts/notification
with a XML reader/writer
Provides
1 identification (unique id)
1 category uuid (the application will manage the classification of alerts)
1 message
1 color scheme (foreground, background), icon, background image… ⇒ this should be defined by default according to the ViewType, but users can define their own color schemes
1 priority
1 view type (see below)
1 content type (see below)
1 condition type (see below)
N timings
date start & end
cycling or not
N validations
date of validation
user uuid
isOverriden
user comment
validated uuid
N scripts (javascript): compute how to alert and what to alert
ScriptType: BeforeAlert, ForAlert, AfterAlert
ScriptContent
1 patient profile:
when an alert is related to all patients, the patient profile defines the params to use for the patient selection
des alertes automatiques accompagnent les formulaires XML (alertes de prévention par exemple)
scripts dans les alertes (par exemple: alert si âge dans le range(…, …) ou que pour femmes…)
une alerte “pour tout patient” qui est validée n'est validée que pour le patient en cours
les alertes cycliques, une fois validées, il faut les revalider lorsqu'elles entrent dans un nouveau cycle (ex: tous les 5 ans → faut la valider tous les 5 ans à partir de la date de départ enregistrée)
gestion des droits utilisateur pour la validation (seulement les médecins peuvent valider, les secrétaires…)
Que faire des alertes expirées non validées par l'utilisateur ???
Blocking Alert Dialog: avec plusieurs alertes, certaines taggées “MustBeRead” → dialogue doit s'assurer et/ou forcer l'utilisateur à lire l'alerte (mettre un timer sur les labels des alertes et calculer le temps d'affichage à l'écran)
en/drafts/alertplugin/description.txt · Dernière modification: 2012/07/17 00:35 par Eric Maeker, MD