Commit Graph

209 Commits

Author SHA1 Message Date
Mikaël Ates 83c05cb2da Add alert counts in patient identification and a tab for listing alerts. 2015-07-07 16:34:28 +02:00
Mikaël Ates d3be5f8247 Add alerting system to live provider.
Now the rendering view display the alerting thresholds given in the
    patient alert profiles.

    The graph color changes if an event is currently
    happening on the metric.

    Add one view to collect the number of episodes and one is currently
    happening according to the alerting level.

    Add a view to collect all episodes split in opened and closed
    episodes.
2015-07-07 16:23:21 +02:00
Mikaël Ates 5f1967860d Analysis engine.
The engine analyses flow of data and detects events according
    to simple definitions of patients alert profiles.

    The simple definitions indicate the metric, the operator,
    the threshold value and optionnaly the minimal duration of an event.

    The engine runs an infinite loop :

    w = Watcher()
    w.simple_episode_watcher()
2015-07-07 16:12:16 +02:00
Mikaël Ates fa08c9c3ed Helper functions to deal with the alert profiles language. 2015-07-07 16:10:22 +02:00
Mikaël Ates a7226b067d Add medibot module.
Medibot is the application in charge of data analysis and event
    detection.

    Only need one model for now, Episode, utsed to store events detected.
2015-07-07 16:07:50 +02:00
Mikaël Ates 654dabb71c Patient profile is a dictionnary stored in json format in a charfield.
An alert profile is a dictionnary like :

    {
        'CRITICAL': [
                "(P, >, 140)", # "(P, >, 140, episode duration)"
                "(P, <, 50)",
                "(T, >, 40)",
                "(T, <, 36.5)",
            ],
        'DANGEROUS': [
                "(P, >, 120)",
                "(P, <, 60)",
                "(T, >, 39)",
                "(T, <, 37)",
            ]
    }

    It is stored in json format in a charfield.

    Add a helper function to return the dic.
2015-07-07 16:02:08 +02:00
Mikaël Ates 28ad86da30 Update base.html with new statics. 2015-07-07 15:50:01 +02:00
Mikaël Ates 841ca6e663 Add weather-icons. 2015-07-07 15:49:22 +02:00
Mikaël Ates 4cb62db3c0 Add dateFormat js script to format iso dates. 2015-07-07 15:48:38 +02:00
Mikaël Ates 247631d69c Move whisper_backend module and add get timestamped data function. 2015-07-07 15:41:30 +02:00
Mikaël Ates 51b9167b61 Move helper js functions in dedicated file. 2015-07-07 15:37:55 +02:00
Mikaël Ates 2626d7ed52 Prevent to set a future date. 2015-06-30 08:57:01 +02:00
Mikaël Ates e3e2186b4b Display sex. 2015-06-30 08:56:24 +02:00
Mikaël Ates 6ced9741a6 Add missing quote. 2015-06-30 08:14:17 +02:00
Mikaël Ates 1b9fa7842d Search patient filtering on element attribute. 2015-06-29 17:10:49 +02:00
Mikaël Ates 601b3fa2a1 Display address on patient block. 2015-06-29 17:00:31 +02:00
Mikaël Ates 0db278db4c Display patient age. 2015-06-29 16:39:31 +02:00
Mikaël Ates 00aef186af Bits of translation. 2015-06-29 13:43:15 +02:00
Mikaël Ates 5e5fffe421 Use scrollbars when necessary. 2015-06-29 13:42:52 +02:00
Mikaël Ates 673016e3db Display complete patient form. 2015-06-29 13:42:04 +02:00
Mikaël Ates 58a7346906 Enhance patient model. 2015-06-29 13:40:02 +02:00
Mikaël Ates a07654d163 Protect ws views. 2015-06-29 12:03:08 +02:00
Mikaël Ates 11508123f6 Bits of translation. 2015-06-29 10:20:37 +02:00
Mikaël Ates 50157ca6de Resize graph y axis range according to the min and max. 2015-06-26 17:09:10 +02:00
Mikaël Ates e2a7e22dfc Display min and max values on dashboard. 2015-06-25 19:27:49 +02:00
Mikaël Ates 3a38b2dd32 Serve min an max value. 2015-06-25 19:26:57 +02:00
Mikaël Ates b704d4b36d Refresh graphs on player. 2015-06-25 07:29:38 +02:00
Mikaël Ates a9ed4df166 Proxy rendering to graphite from liveprovider. 2015-06-25 07:26:34 +02:00
Mikaël Ates cd4a15eef8 Refresh histograms on player. 2015-06-25 07:15:14 +02:00
Mikaël Ates 056b21c3e9 Draw and serve histograms from liveprovider. 2015-06-25 07:14:42 +02:00
Mikaël Ates 4c0e21fa86 Refresh mean values on player. 2015-06-25 07:00:22 +02:00
Mikaël Ates 61bb951583 Serve means from liveprovider. 2015-06-25 06:59:37 +02:00
Mikaël Ates 5e4ceea790 Refresh instant values on player. 2015-06-25 06:50:15 +02:00
Mikaël Ates a687fcb777 Serve metric last value. 2015-06-25 06:48:45 +02:00
Mikaël Ates 3814011d58 Add whisper backend support for last value recorded. 2015-06-25 06:46:55 +02:00
Mikaël Ates 1354352f6c Put translatable strings in templates, not in js. 2015-06-25 06:27:08 +02:00
Mikaël Ates da32933636 Blink delay only when increasing. 2015-06-25 06:00:24 +02:00
Mikaël Ates df777dcd86 Date picking in player. 2015-06-25 05:54:59 +02:00
Mikaël Ates bb671dbb25 Add player machinery. 2015-06-24 13:04:24 +02:00
Mikaël Ates 9b33cbbdb4 Add a js script dedicated to the live player and activate datetimepickers.
player.js is a script dedicated to the player management. it is called
  only in patient detail template using the init_player function of
  biomon.js.
2015-06-24 12:41:56 +02:00
Mikaël Ates 7bd96ae0d4 Add jquery cookie and record last visited patient tab. 2015-06-24 11:47:30 +02:00
Mikaël Ates 1687392514 Add dashboard tab in patient detail template. 2015-06-24 11:37:57 +02:00
Mikaël Ates 55c96ee6f3 Bits of translation in templates. 2015-06-24 10:55:26 +02:00
Mikaël Ates b316dc328e Bits of translation in templates. 2015-06-24 10:46:17 +02:00
Mikaël Ates 4706821ef2 Add messages. 2015-06-24 10:36:35 +02:00
Mikaël Ates cb2e935ab2 Add last patient visited function. 2015-06-24 10:30:58 +02:00
Mikaël Ates d604c7f285 Add search function on patient list page. 2015-06-24 10:28:31 +02:00
Mikaël Ates 201d30c4a7 Add views and templates for patinet management. 2015-06-24 10:26:07 +02:00
Mikaël Ates 1e5531f4d0 Set translation. 2015-06-24 10:10:51 +02:00
Mikaël Ates 2bc04fc5e0 Basic Patient Model. 2015-06-24 09:33:28 +02:00