2018 IEEE BHI and BSN Data Challenge 1.0

File: <base>/notebooks/challenge-demo.ipynb (182,200 bytes)
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python demo for the 2018 BHI & BSN Data Challenge\n",
    "\n",
    "This notebook provides a simple introduction to analysing the MIMIC-III database. It was created as a demonstrator for the [2018 BHI & BSN Data Challenge](https://mimic.physionet.org/events/bhibsn-challenge/), which explores the following question:\n",
    "\n",
    "> Are patients admitted to the intensive care unit (ICU) on a weekend more likely to die in the hospital than those admitted on a weekday?\n",
    "\n",
    "We have provided an example slide template for final presentations (`slide-template.pptx`) at: https://github.com/MIT-LCP/bhi-bsn-challenge. There is no obligation to use it!\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Background on MIMIC-III\n",
    "\n",
    "MIMIC-III (‘Medical Information Mart for Intensive Care’) is a large, single-center database comprising information relating to patients admitted to critical care units at a large tertiary care hospital. \n",
    "\n",
    "Data includes vital signs, medications, laboratory measurements, observations and notes charted by care providers, fluid balance, procedure codes, diagnostic codes, imaging reports, hospital length of stay, survival data, and more. \n",
    "\n",
    "For details, see: https://mimic.physionet.org/. The data is downloaded as 26 CSV files, which can then be loaded into a database system. Scripts for loading the data into Postgres are provided in the [MIMIC Code Repository](https://mimic.physionet.org/gettingstarted/dbsetup/). A demo dataset is also available: https://mimic.physionet.org/gettingstarted/demo/\n",
    "\n",
    "Points to note:\n",
    "\n",
    "- A patient-level shift has been applied to dates. Day of week is retained. \n",
    "- Patients aged >89 years on first admission have been reassigned an age of ~300 years.\n",
    "- Patients may have multiple hospital admissions. Each hospital admission may comprise multiple ICU stays (e.g. a patient may visit the ICU, leave for surgery, and then return to the ICU for recovery, all within a single hospital admission).\n",
    "\n",
    "If you need help getting set up with access to MIMIC-III, please contact `data-challenge@physionet.org`.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Import libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python2.7/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.\n",
      "  from pandas.core import datetools\n"
     ]
    }
   ],
   "source": [
    "# Data processing libraries\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import itertools\n",
    "\n",
    "# Database libraries\n",
    "import psycopg2\n",
    "\n",
    "# Stats libraries\n",
    "from tableone import TableOne\n",
    "import statsmodels.api as sm\n",
    "import statsmodels.formula.api as smf\n",
    "import scipy.stats\n",
    "\n",
    "# Image libraries\n",
    "# https://jakevdp.github.io/pdvega/\n",
    "# jupyter nbextension enable vega3 --py --sys-prefix\n",
    "import matplotlib.pyplot as plt\n",
    "import pdvega \n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Connect to the MIMIC-III database\n",
    "\n",
    "If you have created an instance of the MIMIC-III database, then you should be able to connect with the following settings (or similar). If you need help getting set up with access to MIMIC-III, please contact `data-challenge@physionet.org`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a database connection\n",
    "user = 'XXX'\n",
    "password = 'XXX'\n",
    "host = 'localhost'\n",
    "dbname = 'mimic'\n",
    "schema = 'public, mimiciii_demo'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Password:········\n"
     ]
    }
   ],
   "source": [
    "# Connect to the database\n",
    "con = psycopg2.connect(dbname=dbname, user=user, host=host, \n",
    "                       password=password)\n",
    "cur = con.cursor()\n",
    "cur.execute('SET search_path to {}'.format(schema))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Extract data from MIMIC-III and assign to a Pandas DataFrame\n",
    "\n",
    "The following query extracts a simple dataset from the MIMIC-III database, comprising demographics, hospital and ICU admission times, and a severity of illness score ([OASIS](https://www.ncbi.nlm.nih.gov/pubmed/23660729)).\n",
    "\n",
    "Before running this query, you must first build the `icustay_detail` and `oasis` materialized views. Code for building these views is available in the MIMIC Code Repository:\n",
    "- `icustay_detail`: https://github.com/MIT-LCP/mimic-code/tree/master/concepts/demographics\n",
    "- `oasis`: https://github.com/MIT-LCP/mimic-code/tree/master/concepts/severityscores\n",
    "\n",
    "You will notice that our example restricts the analysis to:\n",
    "\n",
    "- first hospital admissions \n",
    "- patients who were `>= 16` years at time of hospital admission.\n",
    "- the first ICU stay (patients may move to the ICU multiple times within a hospital stay)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Run query and assign the results to a Pandas DataFrame\n",
    "# Requires the icustay_detail view from:\n",
    "# https://github.com/MIT-LCP/mimic-code/tree/master/concepts/demographics\n",
    "# And the OASIS score from:\n",
    "# https://github.com/MIT-LCP/mimic-code/tree/master/concepts/severityscores\n",
    "query = \\\n",
    "\"\"\"\n",
    "WITH first_icu AS (\n",
    "    SELECT i.subject_id, i.hadm_id, i.icustay_id, i.gender, i.admittime admittime_hospital, \n",
    "      i.dischtime dischtime_hospital, i.los_hospital, i.age, i.admission_type, \n",
    "      i.hospital_expire_flag, i.intime intime_icu, i.outtime outtime_icu, i.los_icu, \n",
    "      s.first_careunit\n",
    "    FROM icustay_detail i\n",
    "    LEFT JOIN icustays s\n",
    "    ON i.icustay_id = s.icustay_id\n",
    "    WHERE i.hospstay_seq = 1\n",
    "      AND i.icustay_seq = 1\n",
    "      AND i.age >= 16\n",
    ")\n",
    "SELECT f.*, o.icustay_expire_flag, o.oasis, o.oasis_prob\n",
    "FROM first_icu f\n",
    "LEFT JOIN oasis o\n",
    "ON f.icustay_id = o.icustay_id;\n",
    "\"\"\"\n",
    "\n",
    "data = pd.read_sql_query(query,con)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Check the extracted data\n",
    "\n",
    "It is always a good idea to inspect the data after you have extracted it.  We will look at the first six patients (rows), and then check the number of rows, and get some summary statistics of the dataset."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index([u'subject_id', u'hadm_id', u'icustay_id', u'gender',\n",
       "       u'admittime_hospital', u'dischtime_hospital', u'los_hospital', u'age',\n",
       "       u'admission_type', u'hospital_expire_flag', u'intime_icu',\n",
       "       u'outtime_icu', u'los_icu', u'first_careunit', u'icustay_expire_flag',\n",
       "       u'oasis', u'oasis_prob'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject_id</th>\n",
       "      <th>hadm_id</th>\n",
       "      <th>icustay_id</th>\n",
       "      <th>gender</th>\n",
       "      <th>admittime_hospital</th>\n",
       "      <th>dischtime_hospital</th>\n",
       "      <th>los_hospital</th>\n",
       "      <th>age</th>\n",
       "      <th>admission_type</th>\n",
       "      <th>hospital_expire_flag</th>\n",
       "      <th>intime_icu</th>\n",
       "      <th>outtime_icu</th>\n",
       "      <th>los_icu</th>\n",
       "      <th>first_careunit</th>\n",
       "      <th>icustay_expire_flag</th>\n",
       "      <th>oasis</th>\n",
       "      <th>oasis_prob</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10076</td>\n",
       "      <td>198503</td>\n",
       "      <td>201006</td>\n",
       "      <td>M</td>\n",
       "      <td>2107-03-21 21:16:00</td>\n",
       "      <td>2107-03-30 12:00:00</td>\n",
       "      <td>8.6139</td>\n",
       "      <td>68.8636</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>1</td>\n",
       "      <td>2107-03-24 04:06:14</td>\n",
       "      <td>2107-03-31 06:55:09</td>\n",
       "      <td>7.1173</td>\n",
       "      <td>MICU</td>\n",
       "      <td>1</td>\n",
       "      <td>42</td>\n",
       "      <td>0.305849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>42321</td>\n",
       "      <td>114648</td>\n",
       "      <td>201204</td>\n",
       "      <td>F</td>\n",
       "      <td>2121-12-07 20:49:00</td>\n",
       "      <td>2121-12-12 16:40:00</td>\n",
       "      <td>4.8271</td>\n",
       "      <td>80.5627</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>0</td>\n",
       "      <td>2121-12-07 20:50:36</td>\n",
       "      <td>2121-12-09 18:43:58</td>\n",
       "      <td>1.9121</td>\n",
       "      <td>CSRU</td>\n",
       "      <td>0</td>\n",
       "      <td>37</td>\n",
       "      <td>0.188911</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10045</td>\n",
       "      <td>126949</td>\n",
       "      <td>203766</td>\n",
       "      <td>F</td>\n",
       "      <td>2129-11-24 00:31:00</td>\n",
       "      <td>2129-12-01 01:45:00</td>\n",
       "      <td>7.0514</td>\n",
       "      <td>68.6669</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>1</td>\n",
       "      <td>2129-11-24 22:46:57</td>\n",
       "      <td>2129-12-01 06:03:55</td>\n",
       "      <td>6.3034</td>\n",
       "      <td>MICU</td>\n",
       "      <td>1</td>\n",
       "      <td>48</td>\n",
       "      <td>0.486353</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>10104</td>\n",
       "      <td>177678</td>\n",
       "      <td>204201</td>\n",
       "      <td>F</td>\n",
       "      <td>2120-08-24 17:39:00</td>\n",
       "      <td>2120-08-31 13:12:00</td>\n",
       "      <td>6.8146</td>\n",
       "      <td>70.5196</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>0</td>\n",
       "      <td>2120-08-24 23:47:23</td>\n",
       "      <td>2120-08-25 15:41:49</td>\n",
       "      <td>0.6628</td>\n",
       "      <td>MICU</td>\n",
       "      <td>0</td>\n",
       "      <td>29</td>\n",
       "      <td>0.077479</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>10017</td>\n",
       "      <td>199207</td>\n",
       "      <td>204881</td>\n",
       "      <td>F</td>\n",
       "      <td>2149-05-26 17:19:00</td>\n",
       "      <td>2149-06-03 18:42:00</td>\n",
       "      <td>8.0576</td>\n",
       "      <td>73.6792</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>0</td>\n",
       "      <td>2149-05-29 18:52:29</td>\n",
       "      <td>2149-05-31 22:19:17</td>\n",
       "      <td>2.1436</td>\n",
       "      <td>CCU</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>0.087098</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   subject_id  hadm_id  icustay_id gender  admittime_hospital  \\\n",
       "0       10076   198503      201006      M 2107-03-21 21:16:00   \n",
       "1       42321   114648      201204      F 2121-12-07 20:49:00   \n",
       "2       10045   126949      203766      F 2129-11-24 00:31:00   \n",
       "3       10104   177678      204201      F 2120-08-24 17:39:00   \n",
       "4       10017   199207      204881      F 2149-05-26 17:19:00   \n",
       "\n",
       "   dischtime_hospital  los_hospital      age admission_type  \\\n",
       "0 2107-03-30 12:00:00        8.6139  68.8636      EMERGENCY   \n",
       "1 2121-12-12 16:40:00        4.8271  80.5627      EMERGENCY   \n",
       "2 2129-12-01 01:45:00        7.0514  68.6669      EMERGENCY   \n",
       "3 2120-08-31 13:12:00        6.8146  70.5196      EMERGENCY   \n",
       "4 2149-06-03 18:42:00        8.0576  73.6792      EMERGENCY   \n",
       "\n",
       "   hospital_expire_flag          intime_icu         outtime_icu  los_icu  \\\n",
       "0                     1 2107-03-24 04:06:14 2107-03-31 06:55:09   7.1173   \n",
       "1                     0 2121-12-07 20:50:36 2121-12-09 18:43:58   1.9121   \n",
       "2                     1 2129-11-24 22:46:57 2129-12-01 06:03:55   6.3034   \n",
       "3                     0 2120-08-24 23:47:23 2120-08-25 15:41:49   0.6628   \n",
       "4                     0 2149-05-29 18:52:29 2149-05-31 22:19:17   2.1436   \n",
       "\n",
       "  first_careunit  icustay_expire_flag  oasis  oasis_prob  \n",
       "0           MICU                    1     42    0.305849  \n",
       "1           CSRU                    0     37    0.188911  \n",
       "2           MICU                    1     48    0.486353  \n",
       "3           MICU                    0     29    0.077479  \n",
       "4            CCU                    0     30    0.087098  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>subject_id</th>\n",
       "      <td>99.0</td>\n",
       "      <td>26324.373737</td>\n",
       "      <td>16202.635658</td>\n",
       "      <td>10006.000000</td>\n",
       "      <td>10068.000000</td>\n",
       "      <td>40124.000000</td>\n",
       "      <td>42278.000000</td>\n",
       "      <td>44228.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>hadm_id</th>\n",
       "      <td>99.0</td>\n",
       "      <td>151749.454545</td>\n",
       "      <td>28975.138680</td>\n",
       "      <td>100375.000000</td>\n",
       "      <td>127326.000000</td>\n",
       "      <td>157466.000000</td>\n",
       "      <td>174868.000000</td>\n",
       "      <td>199395.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>icustay_id</th>\n",
       "      <td>99.0</td>\n",
       "      <td>249167.949495</td>\n",
       "      <td>27983.121905</td>\n",
       "      <td>201006.000000</td>\n",
       "      <td>224042.000000</td>\n",
       "      <td>246080.000000</td>\n",
       "      <td>271795.500000</td>\n",
       "      <td>298685.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>los_hospital</th>\n",
       "      <td>99.0</td>\n",
       "      <td>10.006785</td>\n",
       "      <td>14.103571</td>\n",
       "      <td>0.038200</td>\n",
       "      <td>3.543050</td>\n",
       "      <td>6.830600</td>\n",
       "      <td>11.922250</td>\n",
       "      <td>123.984700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <td>99.0</td>\n",
       "      <td>89.077015</td>\n",
       "      <td>64.855919</td>\n",
       "      <td>17.192000</td>\n",
       "      <td>65.709250</td>\n",
       "      <td>76.931900</td>\n",
       "      <td>85.233050</td>\n",
       "      <td>300.003400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>hospital_expire_flag</th>\n",
       "      <td>99.0</td>\n",
       "      <td>0.323232</td>\n",
       "      <td>0.470091</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>los_icu</th>\n",
       "      <td>99.0</td>\n",
       "      <td>4.586355</td>\n",
       "      <td>6.677401</td>\n",
       "      <td>0.105900</td>\n",
       "      <td>1.123700</td>\n",
       "      <td>2.014100</td>\n",
       "      <td>4.597000</td>\n",
       "      <td>35.406500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>icustay_expire_flag</th>\n",
       "      <td>99.0</td>\n",
       "      <td>0.222222</td>\n",
       "      <td>0.417855</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>oasis</th>\n",
       "      <td>99.0</td>\n",
       "      <td>34.747475</td>\n",
       "      <td>8.657123</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>29.000000</td>\n",
       "      <td>34.000000</td>\n",
       "      <td>39.000000</td>\n",
       "      <td>56.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>oasis_prob</th>\n",
       "      <td>99.0</td>\n",
       "      <td>0.194093</td>\n",
       "      <td>0.162787</td>\n",
       "      <td>0.009522</td>\n",
       "      <td>0.077479</td>\n",
       "      <td>0.137099</td>\n",
       "      <td>0.231102</td>\n",
       "      <td>0.724202</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      count           mean           std            min  \\\n",
       "subject_id             99.0   26324.373737  16202.635658   10006.000000   \n",
       "hadm_id                99.0  151749.454545  28975.138680  100375.000000   \n",
       "icustay_id             99.0  249167.949495  27983.121905  201006.000000   \n",
       "los_hospital           99.0      10.006785     14.103571       0.038200   \n",
       "age                    99.0      89.077015     64.855919      17.192000   \n",
       "hospital_expire_flag   99.0       0.323232      0.470091       0.000000   \n",
       "los_icu                99.0       4.586355      6.677401       0.105900   \n",
       "icustay_expire_flag    99.0       0.222222      0.417855       0.000000   \n",
       "oasis                  99.0      34.747475      8.657123      12.000000   \n",
       "oasis_prob             99.0       0.194093      0.162787       0.009522   \n",
       "\n",
       "                                25%            50%            75%  \\\n",
       "subject_id             10068.000000   40124.000000   42278.000000   \n",
       "hadm_id               127326.000000  157466.000000  174868.000000   \n",
       "icustay_id            224042.000000  246080.000000  271795.500000   \n",
       "los_hospital               3.543050       6.830600      11.922250   \n",
       "age                       65.709250      76.931900      85.233050   \n",
       "hospital_expire_flag       0.000000       0.000000       1.000000   \n",
       "los_icu                    1.123700       2.014100       4.597000   \n",
       "icustay_expire_flag        0.000000       0.000000       0.000000   \n",
       "oasis                     29.000000      34.000000      39.000000   \n",
       "oasis_prob                 0.077479       0.137099       0.231102   \n",
       "\n",
       "                                max  \n",
       "subject_id             44228.000000  \n",
       "hadm_id               199395.000000  \n",
       "icustay_id            298685.000000  \n",
       "los_hospital             123.984700  \n",
       "age                      300.003400  \n",
       "hospital_expire_flag       1.000000  \n",
       "los_icu                   35.406500  \n",
       "icustay_expire_flag        1.000000  \n",
       "oasis                     56.000000  \n",
       "oasis_prob                 0.724202  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe().T"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Add day of week to DataFrame\n",
    "\n",
    "If we are going to examine the weekend effect, we need to pull this out of the dataset, as you can see, all we have above are dates. We will define a weekend, as anytime between Saturday (00:00:00) until Sunday (23:59:59). The dates above are shifted, and that's why they look odd, but they are matched on the day of week, so this aspect is preserved."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject_id</th>\n",
       "      <th>hadm_id</th>\n",
       "      <th>icustay_id</th>\n",
       "      <th>gender</th>\n",
       "      <th>admittime_hospital</th>\n",
       "      <th>dischtime_hospital</th>\n",
       "      <th>los_hospital</th>\n",
       "      <th>age</th>\n",
       "      <th>admission_type</th>\n",
       "      <th>hospital_expire_flag</th>\n",
       "      <th>...</th>\n",
       "      <th>los_icu</th>\n",
       "      <th>first_careunit</th>\n",
       "      <th>icustay_expire_flag</th>\n",
       "      <th>oasis</th>\n",
       "      <th>oasis_prob</th>\n",
       "      <th>admitday_hospital</th>\n",
       "      <th>dischday_hospital</th>\n",
       "      <th>inday_icu</th>\n",
       "      <th>inday_icu_seq</th>\n",
       "      <th>outday_icu</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>27513</td>\n",
       "      <td>163557</td>\n",
       "      <td>200003</td>\n",
       "      <td>M</td>\n",
       "      <td>2199-08-02 17:02:00</td>\n",
       "      <td>2199-08-22 19:00:00</td>\n",
       "      <td>20.0819</td>\n",
       "      <td>48.2960</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5.8884</td>\n",
       "      <td>SICU</td>\n",
       "      <td>0</td>\n",
       "      <td>35</td>\n",
       "      <td>0.152892</td>\n",
       "      <td>Friday</td>\n",
       "      <td>Thursday</td>\n",
       "      <td>Friday</td>\n",
       "      <td>4</td>\n",
       "      <td>Thursday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20707</td>\n",
       "      <td>129310</td>\n",
       "      <td>200007</td>\n",
       "      <td>M</td>\n",
       "      <td>2109-02-17 10:02:00</td>\n",
       "      <td>2109-02-20 15:47:00</td>\n",
       "      <td>3.2396</td>\n",
       "      <td>43.3450</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.2914</td>\n",
       "      <td>CCU</td>\n",
       "      <td>0</td>\n",
       "      <td>26</td>\n",
       "      <td>0.054187</td>\n",
       "      <td>Sunday</td>\n",
       "      <td>Wednesday</td>\n",
       "      <td>Sunday</td>\n",
       "      <td>6</td>\n",
       "      <td>Monday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>9514</td>\n",
       "      <td>127229</td>\n",
       "      <td>200014</td>\n",
       "      <td>M</td>\n",
       "      <td>2105-02-16 23:15:00</td>\n",
       "      <td>2105-02-21 13:46:00</td>\n",
       "      <td>4.6049</td>\n",
       "      <td>84.7300</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.7338</td>\n",
       "      <td>SICU</td>\n",
       "      <td>0</td>\n",
       "      <td>56</td>\n",
       "      <td>0.724202</td>\n",
       "      <td>Monday</td>\n",
       "      <td>Saturday</td>\n",
       "      <td>Monday</td>\n",
       "      <td>0</td>\n",
       "      <td>Wednesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>21789</td>\n",
       "      <td>112486</td>\n",
       "      <td>200019</td>\n",
       "      <td>F</td>\n",
       "      <td>2178-07-08 09:02:00</td>\n",
       "      <td>2178-07-11 06:45:00</td>\n",
       "      <td>2.9049</td>\n",
       "      <td>82.8831</td>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0594</td>\n",
       "      <td>CCU</td>\n",
       "      <td>1</td>\n",
       "      <td>47</td>\n",
       "      <td>0.454600</td>\n",
       "      <td>Wednesday</td>\n",
       "      <td>Saturday</td>\n",
       "      <td>Wednesday</td>\n",
       "      <td>2</td>\n",
       "      <td>Saturday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>41710</td>\n",
       "      <td>181955</td>\n",
       "      <td>200028</td>\n",
       "      <td>M</td>\n",
       "      <td>2133-10-29 10:00:00</td>\n",
       "      <td>2133-11-01 14:54:00</td>\n",
       "      <td>3.2042</td>\n",
       "      <td>64.8677</td>\n",
       "      <td>ELECTIVE</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>2.9038</td>\n",
       "      <td>CCU</td>\n",
       "      <td>0</td>\n",
       "      <td>35</td>\n",
       "      <td>0.152892</td>\n",
       "      <td>Thursday</td>\n",
       "      <td>Sunday</td>\n",
       "      <td>Thursday</td>\n",
       "      <td>3</td>\n",
       "      <td>Sunday</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 22 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   subject_id  hadm_id  icustay_id gender  admittime_hospital  \\\n",
       "0       27513   163557      200003      M 2199-08-02 17:02:00   \n",
       "1       20707   129310      200007      M 2109-02-17 10:02:00   \n",
       "2        9514   127229      200014      M 2105-02-16 23:15:00   \n",
       "3       21789   112486      200019      F 2178-07-08 09:02:00   \n",
       "4       41710   181955      200028      M 2133-10-29 10:00:00   \n",
       "\n",
       "   dischtime_hospital  los_hospital      age admission_type  \\\n",
       "0 2199-08-22 19:00:00       20.0819  48.2960      EMERGENCY   \n",
       "1 2109-02-20 15:47:00        3.2396  43.3450      EMERGENCY   \n",
       "2 2105-02-21 13:46:00        4.6049  84.7300      EMERGENCY   \n",
       "3 2178-07-11 06:45:00        2.9049  82.8831      EMERGENCY   \n",
       "4 2133-11-01 14:54:00        3.2042  64.8677       ELECTIVE   \n",
       "\n",
       "   hospital_expire_flag    ...     los_icu first_careunit  \\\n",
       "0                     0    ...      5.8884           SICU   \n",
       "1                     0    ...      1.2914            CCU   \n",
       "2                     0    ...      1.7338           SICU   \n",
       "3                     1    ...      3.0594            CCU   \n",
       "4                     0    ...      2.9038            CCU   \n",
       "\n",
       "   icustay_expire_flag oasis  oasis_prob  admitday_hospital  \\\n",
       "0                    0    35    0.152892             Friday   \n",
       "1                    0    26    0.054187             Sunday   \n",
       "2                    0    56    0.724202             Monday   \n",
       "3                    1    47    0.454600          Wednesday   \n",
       "4                    0    35    0.152892           Thursday   \n",
       "\n",
       "   dischday_hospital  inday_icu inday_icu_seq outday_icu  \n",
       "0           Thursday     Friday             4   Thursday  \n",
       "1          Wednesday     Sunday             6     Monday  \n",
       "2           Saturday     Monday             0  Wednesday  \n",
       "3           Saturday  Wednesday             2   Saturday  \n",
       "4             Sunday   Thursday             3     Sunday  \n",
       "\n",
       "[5 rows x 22 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['admitday_hospital'] = data.admittime_hospital.dt.weekday_name\n",
    "data['dischday_hospital'] = data.dischtime_hospital.dt.weekday_name\n",
    "data['inday_icu'] = data.intime_icu.dt.weekday_name\n",
    "data['inday_icu_seq'] = data.intime_icu.dt.weekday\n",
    "data['outday_icu'] = data.outtime_icu.dt.weekday_name\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Friday       6263\n",
       "Tuesday      6141\n",
       "Monday       6097\n",
       "Wednesday    5985\n",
       "Thursday     5876\n",
       "Saturday     4235\n",
       "Sunday       3960\n",
       "Name: inday_icu, dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['inday_icu'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekday    30362\n",
       "weekend     8195\n",
       "Name: inday_icu_wkd, dtype: int64"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# create weekday vs weekend column for icu_intime \n",
    "data['inday_icu_wkd'] = np.where(data.intime_icu.dt.weekday <= 4, \n",
    "                                 'weekday','weekend')\n",
    "data['inday_icu_wkd'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Produce some Summary Statistics by DOW and Weekday vs. Weekend\n",
    "\n",
    "Next, it's good to look at some basic summaries of the data.  We will compute simple averages and percentages/counts for each of the variables we have extracted, and look at it by day of week and weekend."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index([u'subject_id', u'hadm_id', u'icustay_id', u'gender',\n",
       "       u'admittime_hospital', u'dischtime_hospital', u'los_hospital', u'age',\n",
       "       u'admission_type', u'hospital_expire_flag', u'intime_icu',\n",
       "       u'outtime_icu', u'los_icu', u'first_careunit', u'icustay_expire_flag',\n",
       "       u'oasis', u'oasis_prob', u'admitday_hospital', u'dischday_hospital',\n",
       "       u'inday_icu', u'inday_icu_seq', u'outday_icu', u'inday_icu_wkd'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">Grouped by inday_icu</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Friday</th>\n",
       "      <th>Monday</th>\n",
       "      <th>Saturday</th>\n",
       "      <th>Sunday</th>\n",
       "      <th>Thursday</th>\n",
       "      <th>Tuesday</th>\n",
       "      <th>Wednesday</th>\n",
       "      <th>isnull</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>variable</th>\n",
       "      <th>level</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>n</th>\n",
       "      <th></th>\n",
       "      <td>6263</td>\n",
       "      <td>6097</td>\n",
       "      <td>4235</td>\n",
       "      <td>3960</td>\n",
       "      <td>5876</td>\n",
       "      <td>6141</td>\n",
       "      <td>5985</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">admission_type</th>\n",
       "      <th>ELECTIVE</th>\n",
       "      <td>1016 (16.22)</td>\n",
       "      <td>1265 (20.75)</td>\n",
       "      <td>162 (3.83)</td>\n",
       "      <td>101 (2.55)</td>\n",
       "      <td>999 (17.0)</td>\n",
       "      <td>1292 (21.04)</td>\n",
       "      <td>1243 (20.77)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EMERGENCY</th>\n",
       "      <td>5118 (81.72)</td>\n",
       "      <td>4687 (76.87)</td>\n",
       "      <td>3852 (90.96)</td>\n",
       "      <td>3681 (92.95)</td>\n",
       "      <td>4746 (80.77)</td>\n",
       "      <td>4704 (76.6)</td>\n",
       "      <td>4600 (76.86)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>URGENT</th>\n",
       "      <td>129 (2.06)</td>\n",
       "      <td>145 (2.38)</td>\n",
       "      <td>221 (5.22)</td>\n",
       "      <td>178 (4.49)</td>\n",
       "      <td>131 (2.23)</td>\n",
       "      <td>145 (2.36)</td>\n",
       "      <td>142 (2.37)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <td>74.56 (53.22)</td>\n",
       "      <td>73.13 (51.37)</td>\n",
       "      <td>73.92 (58.58)</td>\n",
       "      <td>75.26 (60.66)</td>\n",
       "      <td>75.51 (55.46)</td>\n",
       "      <td>75.48 (55.22)</td>\n",
       "      <td>74.16 (53.88)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">first_careunit</th>\n",
       "      <th>CCU</th>\n",
       "      <td>838 (13.38)</td>\n",
       "      <td>918 (15.06)</td>\n",
       "      <td>695 (16.41)</td>\n",
       "      <td>621 (15.68)</td>\n",
       "      <td>850 (14.47)</td>\n",
       "      <td>919 (14.96)</td>\n",
       "      <td>851 (14.22)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CSRU</th>\n",
       "      <td>1416 (22.61)</td>\n",
       "      <td>1632 (26.77)</td>\n",
       "      <td>237 (5.6)</td>\n",
       "      <td>194 (4.9)</td>\n",
       "      <td>1282 (21.82)</td>\n",
       "      <td>1575 (25.65)</td>\n",
       "      <td>1268 (21.19)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MICU</th>\n",
       "      <td>2139 (34.15)</td>\n",
       "      <td>1940 (31.82)</td>\n",
       "      <td>1765 (41.68)</td>\n",
       "      <td>1706 (43.08)</td>\n",
       "      <td>2020 (34.38)</td>\n",
       "      <td>2019 (32.88)</td>\n",
       "      <td>2020 (33.75)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SICU</th>\n",
       "      <td>1044 (16.67)</td>\n",
       "      <td>865 (14.19)</td>\n",
       "      <td>743 (17.54)</td>\n",
       "      <td>743 (18.76)</td>\n",
       "      <td>996 (16.95)</td>\n",
       "      <td>933 (15.19)</td>\n",
       "      <td>1038 (17.34)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TSICU</th>\n",
       "      <td>826 (13.19)</td>\n",
       "      <td>742 (12.17)</td>\n",
       "      <td>795 (18.77)</td>\n",
       "      <td>696 (17.58)</td>\n",
       "      <td>728 (12.39)</td>\n",
       "      <td>695 (11.32)</td>\n",
       "      <td>808 (13.5)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">gender</th>\n",
       "      <th>F</th>\n",
       "      <td>2662 (42.5)</td>\n",
       "      <td>2559 (41.97)</td>\n",
       "      <td>1857 (43.85)</td>\n",
       "      <td>1736 (43.84)</td>\n",
       "      <td>2603 (44.3)</td>\n",
       "      <td>2671 (43.49)</td>\n",
       "      <td>2636 (44.04)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>M</th>\n",
       "      <td>3601 (57.5)</td>\n",
       "      <td>3538 (58.03)</td>\n",
       "      <td>2378 (56.15)</td>\n",
       "      <td>2224 (56.16)</td>\n",
       "      <td>3273 (55.7)</td>\n",
       "      <td>3470 (56.51)</td>\n",
       "      <td>3349 (55.96)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">hospital_expire_flag</th>\n",
       "      <th>0</th>\n",
       "      <td>5576 (89.03)</td>\n",
       "      <td>5468 (89.68)</td>\n",
       "      <td>3658 (86.38)</td>\n",
       "      <td>3388 (85.56)</td>\n",
       "      <td>5202 (88.53)</td>\n",
       "      <td>5491 (89.42)</td>\n",
       "      <td>5350 (89.39)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>687 (10.97)</td>\n",
       "      <td>629 (10.32)</td>\n",
       "      <td>577 (13.62)</td>\n",
       "      <td>572 (14.44)</td>\n",
       "      <td>674 (11.47)</td>\n",
       "      <td>650 (10.58)</td>\n",
       "      <td>635 (10.61)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">icustay_expire_flag</th>\n",
       "      <th>0</th>\n",
       "      <td>5768 (92.1)</td>\n",
       "      <td>5650 (92.67)</td>\n",
       "      <td>3811 (89.99)</td>\n",
       "      <td>3548 (89.6)</td>\n",
       "      <td>5399 (91.88)</td>\n",
       "      <td>5673 (92.38)</td>\n",
       "      <td>5514 (92.13)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>495 (7.9)</td>\n",
       "      <td>447 (7.33)</td>\n",
       "      <td>424 (10.01)</td>\n",
       "      <td>412 (10.4)</td>\n",
       "      <td>477 (8.12)</td>\n",
       "      <td>468 (7.62)</td>\n",
       "      <td>471 (7.87)</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">inday_icu_wkd</th>\n",
       "      <th>weekday</th>\n",
       "      <td>6263 (100.0)</td>\n",
       "      <td>6097 (100.0)</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>5876 (100.0)</td>\n",
       "      <td>6141 (100.0)</td>\n",
       "      <td>5985 (100.0)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>weekend</th>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>4235 (100.0)</td>\n",
       "      <td>3960 (100.0)</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>los_hospital</th>\n",
       "      <th></th>\n",
       "      <td>10.23 (11.61)</td>\n",
       "      <td>9.71 (9.92)</td>\n",
       "      <td>10.00 (10.84)</td>\n",
       "      <td>9.82 (10.70)</td>\n",
       "      <td>9.88 (10.90)</td>\n",
       "      <td>9.86 (10.58)</td>\n",
       "      <td>9.77 (10.22)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>los_icu</th>\n",
       "      <th></th>\n",
       "      <td>4.15 (6.19)</td>\n",
       "      <td>3.83 (5.52)</td>\n",
       "      <td>4.42 (6.58)</td>\n",
       "      <td>4.44 (6.29)</td>\n",
       "      <td>3.96 (6.12)</td>\n",
       "      <td>3.80 (5.65)</td>\n",
       "      <td>4.04 (5.94)</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>oasis</th>\n",
       "      <th></th>\n",
       "      <td>31.17 (9.02)</td>\n",
       "      <td>31.21 (8.77)</td>\n",
       "      <td>31.49 (9.27)</td>\n",
       "      <td>32.07 (9.02)</td>\n",
       "      <td>31.10 (8.82)</td>\n",
       "      <td>30.90 (8.77)</td>\n",
       "      <td>30.58 (9.11)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>oasis_prob</th>\n",
       "      <th></th>\n",
       "      <td>0.14 (0.14)</td>\n",
       "      <td>0.14 (0.14)</td>\n",
       "      <td>0.15 (0.15)</td>\n",
       "      <td>0.16 (0.15)</td>\n",
       "      <td>0.14 (0.14)</td>\n",
       "      <td>0.14 (0.14)</td>\n",
       "      <td>0.14 (0.14)</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                               Grouped by inday_icu                 \\\n",
       "                                             Friday         Monday   \n",
       "variable             level                                           \n",
       "n                                              6263           6097   \n",
       "admission_type       ELECTIVE          1016 (16.22)   1265 (20.75)   \n",
       "                     EMERGENCY         5118 (81.72)   4687 (76.87)   \n",
       "                     URGENT              129 (2.06)     145 (2.38)   \n",
       "age                                   74.56 (53.22)  73.13 (51.37)   \n",
       "first_careunit       CCU                838 (13.38)    918 (15.06)   \n",
       "                     CSRU              1416 (22.61)   1632 (26.77)   \n",
       "                     MICU              2139 (34.15)   1940 (31.82)   \n",
       "                     SICU              1044 (16.67)    865 (14.19)   \n",
       "                     TSICU              826 (13.19)    742 (12.17)   \n",
       "gender               F                  2662 (42.5)   2559 (41.97)   \n",
       "                     M                  3601 (57.5)   3538 (58.03)   \n",
       "hospital_expire_flag 0                 5576 (89.03)   5468 (89.68)   \n",
       "                     1                  687 (10.97)    629 (10.32)   \n",
       "icustay_expire_flag  0                  5768 (92.1)   5650 (92.67)   \n",
       "                     1                    495 (7.9)     447 (7.33)   \n",
       "inday_icu_wkd        weekday           6263 (100.0)   6097 (100.0)   \n",
       "                     weekend                                         \n",
       "los_hospital                          10.23 (11.61)    9.71 (9.92)   \n",
       "los_icu                                 4.15 (6.19)    3.83 (5.52)   \n",
       "oasis                                  31.17 (9.02)   31.21 (8.77)   \n",
       "oasis_prob                              0.14 (0.14)    0.14 (0.14)   \n",
       "\n",
       "                                                                             \\\n",
       "                                     Saturday         Sunday       Thursday   \n",
       "variable             level                                                    \n",
       "n                                        4235           3960           5876   \n",
       "admission_type       ELECTIVE      162 (3.83)     101 (2.55)     999 (17.0)   \n",
       "                     EMERGENCY   3852 (90.96)   3681 (92.95)   4746 (80.77)   \n",
       "                     URGENT        221 (5.22)     178 (4.49)     131 (2.23)   \n",
       "age                             73.92 (58.58)  75.26 (60.66)  75.51 (55.46)   \n",
       "first_careunit       CCU          695 (16.41)    621 (15.68)    850 (14.47)   \n",
       "                     CSRU           237 (5.6)      194 (4.9)   1282 (21.82)   \n",
       "                     MICU        1765 (41.68)   1706 (43.08)   2020 (34.38)   \n",
       "                     SICU         743 (17.54)    743 (18.76)    996 (16.95)   \n",
       "                     TSICU        795 (18.77)    696 (17.58)    728 (12.39)   \n",
       "gender               F           1857 (43.85)   1736 (43.84)    2603 (44.3)   \n",
       "                     M           2378 (56.15)   2224 (56.16)    3273 (55.7)   \n",
       "hospital_expire_flag 0           3658 (86.38)   3388 (85.56)   5202 (88.53)   \n",
       "                     1            577 (13.62)    572 (14.44)    674 (11.47)   \n",
       "icustay_expire_flag  0           3811 (89.99)    3548 (89.6)   5399 (91.88)   \n",
       "                     1            424 (10.01)     412 (10.4)     477 (8.12)   \n",
       "inday_icu_wkd        weekday                                   5876 (100.0)   \n",
       "                     weekend     4235 (100.0)   3960 (100.0)                  \n",
       "los_hospital                    10.00 (10.84)   9.82 (10.70)   9.88 (10.90)   \n",
       "los_icu                           4.42 (6.58)    4.44 (6.29)    3.96 (6.12)   \n",
       "oasis                            31.49 (9.27)   32.07 (9.02)   31.10 (8.82)   \n",
       "oasis_prob                        0.15 (0.15)    0.16 (0.15)    0.14 (0.14)   \n",
       "\n",
       "                                                                     \n",
       "                                      Tuesday      Wednesday isnull  \n",
       "variable             level                                           \n",
       "n                                        6141           5985         \n",
       "admission_type       ELECTIVE    1292 (21.04)   1243 (20.77)      0  \n",
       "                     EMERGENCY    4704 (76.6)   4600 (76.86)         \n",
       "                     URGENT        145 (2.36)     142 (2.37)         \n",
       "age                             75.48 (55.22)  74.16 (53.88)      0  \n",
       "first_careunit       CCU          919 (14.96)    851 (14.22)      0  \n",
       "                     CSRU        1575 (25.65)   1268 (21.19)         \n",
       "                     MICU        2019 (32.88)   2020 (33.75)         \n",
       "                     SICU         933 (15.19)   1038 (17.34)         \n",
       "                     TSICU        695 (11.32)     808 (13.5)         \n",
       "gender               F           2671 (43.49)   2636 (44.04)      0  \n",
       "                     M           3470 (56.51)   3349 (55.96)         \n",
       "hospital_expire_flag 0           5491 (89.42)   5350 (89.39)      0  \n",
       "                     1            650 (10.58)    635 (10.61)         \n",
       "icustay_expire_flag  0           5673 (92.38)   5514 (92.13)      0  \n",
       "                     1             468 (7.62)     471 (7.87)         \n",
       "inday_icu_wkd        weekday     6141 (100.0)   5985 (100.0)      0  \n",
       "                     weekend                                         \n",
       "los_hospital                     9.86 (10.58)   9.77 (10.22)      0  \n",
       "los_icu                           3.80 (5.65)    4.04 (5.94)      2  \n",
       "oasis                            30.90 (8.77)   30.58 (9.11)      0  \n",
       "oasis_prob                        0.14 (0.14)    0.14 (0.14)      0  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "columns = ['gender', 'los_hospital', 'age', 'admission_type', 'hospital_expire_flag', \n",
    "           'los_icu','icustay_expire_flag', 'oasis', 'oasis_prob', 'first_careunit',\n",
    "           'inday_icu_wkd']\n",
    "\n",
    "groupby = 'inday_icu'\n",
    "\n",
    "pval = False\n",
    "\n",
    "categorical = ['gender','admission_type','hospital_expire_flag','icustay_expire_flag',\n",
    "               'first_careunit','inday_icu_wkd']\n",
    "\n",
    "t = TableOne(data, columns=columns, categorical=categorical, groupby=groupby, pval=pval)\n",
    "t.tableone"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"3\" halign=\"left\">Grouped by inday_icu_wkd</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>isnull</th>\n",
       "      <th>weekday</th>\n",
       "      <th>weekend</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>variable</th>\n",
       "      <th>level</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>n</th>\n",
       "      <th></th>\n",
       "      <td></td>\n",
       "      <td>30362</td>\n",
       "      <td>8195</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">admission_type</th>\n",
       "      <th>ELECTIVE</th>\n",
       "      <td>0</td>\n",
       "      <td>5815 (19.15)</td>\n",
       "      <td>263 (3.21)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EMERGENCY</th>\n",
       "      <td></td>\n",
       "      <td>23855 (78.57)</td>\n",
       "      <td>7533 (91.92)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>URGENT</th>\n",
       "      <td></td>\n",
       "      <td>692 (2.28)</td>\n",
       "      <td>399 (4.87)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <td>0</td>\n",
       "      <td>74.56 (53.84)</td>\n",
       "      <td>74.57 (59.59)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">first_careunit</th>\n",
       "      <th>CCU</th>\n",
       "      <td>0</td>\n",
       "      <td>4376 (14.41)</td>\n",
       "      <td>1316 (16.06)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CSRU</th>\n",
       "      <td></td>\n",
       "      <td>7173 (23.62)</td>\n",
       "      <td>431 (5.26)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MICU</th>\n",
       "      <td></td>\n",
       "      <td>10138 (33.39)</td>\n",
       "      <td>3471 (42.36)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SICU</th>\n",
       "      <td></td>\n",
       "      <td>4876 (16.06)</td>\n",
       "      <td>1486 (18.13)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TSICU</th>\n",
       "      <td></td>\n",
       "      <td>3799 (12.51)</td>\n",
       "      <td>1491 (18.19)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">gender</th>\n",
       "      <th>F</th>\n",
       "      <td>0</td>\n",
       "      <td>13131 (43.25)</td>\n",
       "      <td>3593 (43.84)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>M</th>\n",
       "      <td></td>\n",
       "      <td>17231 (56.75)</td>\n",
       "      <td>4602 (56.16)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">hospital_expire_flag</th>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>27087 (89.21)</td>\n",
       "      <td>7046 (85.98)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td></td>\n",
       "      <td>3275 (10.79)</td>\n",
       "      <td>1149 (14.02)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">icustay_expire_flag</th>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>28004 (92.23)</td>\n",
       "      <td>7359 (89.8)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td></td>\n",
       "      <td>2358 (7.77)</td>\n",
       "      <td>836 (10.2)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>los_hospital</th>\n",
       "      <th></th>\n",
       "      <td>0</td>\n",
       "      <td>9.89 (10.67)</td>\n",
       "      <td>9.91 (10.77)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>los_icu</th>\n",
       "      <th></th>\n",
       "      <td>2</td>\n",
       "      <td>3.96 (5.89)</td>\n",
       "      <td>4.43 (6.44)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>oasis</th>\n",
       "      <th></th>\n",
       "      <td>0</td>\n",
       "      <td>30.99 (8.90)</td>\n",
       "      <td>31.77 (9.15)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>oasis_prob</th>\n",
       "      <th></th>\n",
       "      <td>0</td>\n",
       "      <td>0.14 (0.14)</td>\n",
       "      <td>0.15 (0.15)</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                               Grouped by inday_icu_wkd                 \\\n",
       "                                                 isnull        weekday   \n",
       "variable             level                                               \n",
       "n                                                                30362   \n",
       "admission_type       ELECTIVE                         0   5815 (19.15)   \n",
       "                     EMERGENCY                           23855 (78.57)   \n",
       "                     URGENT                                 692 (2.28)   \n",
       "age                                                   0  74.56 (53.84)   \n",
       "first_careunit       CCU                              0   4376 (14.41)   \n",
       "                     CSRU                                 7173 (23.62)   \n",
       "                     MICU                                10138 (33.39)   \n",
       "                     SICU                                 4876 (16.06)   \n",
       "                     TSICU                                3799 (12.51)   \n",
       "gender               F                                0  13131 (43.25)   \n",
       "                     M                                   17231 (56.75)   \n",
       "hospital_expire_flag 0                                0  27087 (89.21)   \n",
       "                     1                                    3275 (10.79)   \n",
       "icustay_expire_flag  0                                0  28004 (92.23)   \n",
       "                     1                                     2358 (7.77)   \n",
       "los_hospital                                          0   9.89 (10.67)   \n",
       "los_icu                                               2    3.96 (5.89)   \n",
       "oasis                                                 0   30.99 (8.90)   \n",
       "oasis_prob                                            0    0.14 (0.14)   \n",
       "\n",
       "                                               \n",
       "                                      weekend  \n",
       "variable             level                     \n",
       "n                                        8195  \n",
       "admission_type       ELECTIVE      263 (3.21)  \n",
       "                     EMERGENCY   7533 (91.92)  \n",
       "                     URGENT        399 (4.87)  \n",
       "age                             74.57 (59.59)  \n",
       "first_careunit       CCU         1316 (16.06)  \n",
       "                     CSRU          431 (5.26)  \n",
       "                     MICU        3471 (42.36)  \n",
       "                     SICU        1486 (18.13)  \n",
       "                     TSICU       1491 (18.19)  \n",
       "gender               F           3593 (43.84)  \n",
       "                     M           4602 (56.16)  \n",
       "hospital_expire_flag 0           7046 (85.98)  \n",
       "                     1           1149 (14.02)  \n",
       "icustay_expire_flag  0            7359 (89.8)  \n",
       "                     1             836 (10.2)  \n",
       "los_hospital                     9.91 (10.77)  \n",
       "los_icu                           4.43 (6.44)  \n",
       "oasis                            31.77 (9.15)  \n",
       "oasis_prob                        0.15 (0.15)  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "columns = ['gender', 'los_hospital', 'age', 'admission_type', 'hospital_expire_flag', \n",
    "           'los_icu','icustay_expire_flag', 'oasis', 'oasis_prob', 'first_careunit']\n",
    "\n",
    "groupby = 'inday_icu_wkd'\n",
    "\n",
    "pval = False\n",
    "\n",
    "categorical = ['gender','admission_type','hospital_expire_flag','icustay_expire_flag',\n",
    "               'first_careunit']\n",
    "\n",
    "t = TableOne(data, columns=columns, categorical=categorical, groupby=groupby, pval=pval)\n",
    "t.tableone"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It looks like there's a higher rate of hospital mortality (14.0% vs 10.8%) and ICU mortality (10.2% vs 7.8%) on weekends when compared to weekdays.  There are also statistically significant differences between several other important variables, including: admission type, disease severity (OASIS), and the patient's first care unit, suggesting that these groups may be fundamentally different in some way.  Let's explore this a little further."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Plot the data\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>admission_type</th>\n",
       "      <th>ELECTIVE</th>\n",
       "      <th>EMERGENCY</th>\n",
       "      <th>URGENT</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>inday_icu_seq</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.020553</td>\n",
       "      <td>0.124387</td>\n",
       "      <td>0.137931</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.019350</td>\n",
       "      <td>0.130315</td>\n",
       "      <td>0.082759</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.026549</td>\n",
       "      <td>0.127391</td>\n",
       "      <td>0.112676</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.027027</td>\n",
       "      <td>0.133165</td>\n",
       "      <td>0.114504</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.026575</td>\n",
       "      <td>0.126612</td>\n",
       "      <td>0.093023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.080247</td>\n",
       "      <td>0.137072</td>\n",
       "      <td>0.162896</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.089109</td>\n",
       "      <td>0.146971</td>\n",
       "      <td>0.123596</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "admission_type  ELECTIVE  EMERGENCY    URGENT\n",
       "inday_icu_seq                                \n",
       "0               0.020553   0.124387  0.137931\n",
       "1               0.019350   0.130315  0.082759\n",
       "2               0.026549   0.127391  0.112676\n",
       "3               0.027027   0.133165  0.114504\n",
       "4               0.026575   0.126612  0.093023\n",
       "5               0.080247   0.137072  0.162896\n",
       "6               0.089109   0.146971  0.123596"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Pivot data to summarise by day\n",
    "dat_dow = data.groupby(['admission_type',\n",
    "                        'inday_icu_seq'])['hospital_expire_flag'].mean().reset_index()\n",
    "\n",
    "dat_dow = dat_dow.pivot(index='inday_icu_seq', \n",
    "                        columns='admission_type', values='hospital_expire_flag')\n",
    "\n",
    "dat_dow"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"vega-embed\" id=\"947caf96-c17f-4466-ad0c-6634cc666d2a\"></div>\n",
       "\n",
       "<style>\n",
       ".vega-embed svg, .vega-embed canvas {\n",
       "  border: 1px dotted gray;\n",
       "}\n",
       "\n",
       ".vega-embed .vega-actions a {\n",
       "  margin-right: 6px;\n",
       "}\n",
       "</style>\n"
      ]
     },
     "metadata": {
      "jupyter-vega3": "#947caf96-c17f-4466-ad0c-6634cc666d2a"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "var spec = {\"selection\": {\"grid\": {\"bind\": \"scales\", \"type\": \"interval\"}}, \"encoding\": {\"y\": {\"field\": \"Hospital mortality rate\", \"type\": \"quantitative\"}, \"x\": {\"field\": \"inday_icu_seq\", \"type\": \"quantitative\"}, \"color\": {\"field\": \"variable\", \"type\": \"nominal\"}}, \"height\": 300, \"width\": 450, \"$schema\": \"https://vega.github.io/schema/vega-lite/v2.json\", \"mark\": \"line\", \"data\": {\"values\": [{\"variable\": \"ELECTIVE\", \"inday_icu_seq\": 0, \"Hospital mortality rate\": 0.020553359683794466}, {\"variable\": \"ELECTIVE\", \"inday_icu_seq\": 1, \"Hospital mortality rate\": 0.01934984520123839}, {\"variable\": \"ELECTIVE\", \"inday_icu_seq\": 2, \"Hospital mortality rate\": 0.02654867256637168}, {\"variable\": \"ELECTIVE\", \"inday_icu_seq\": 3, \"Hospital mortality rate\": 0.02702702702702703}, {\"variable\": \"ELECTIVE\", \"inday_icu_seq\": 4, \"Hospital mortality rate\": 0.0265748031496063}, {\"variable\": \"ELECTIVE\", \"inday_icu_seq\": 5, \"Hospital mortality rate\": 0.08024691358024691}, {\"variable\": \"ELECTIVE\", \"inday_icu_seq\": 6, \"Hospital mortality rate\": 0.0891089108910891}, {\"variable\": \"EMERGENCY\", \"inday_icu_seq\": 0, \"Hospital mortality rate\": 0.12438660123746532}, {\"variable\": \"EMERGENCY\", \"inday_icu_seq\": 1, \"Hospital mortality rate\": 0.13031462585034015}, {\"variable\": \"EMERGENCY\", \"inday_icu_seq\": 2, \"Hospital mortality rate\": 0.12739130434782608}, {\"variable\": \"EMERGENCY\", \"inday_icu_seq\": 3, \"Hospital mortality rate\": 0.13316477033291194}, {\"variable\": \"EMERGENCY\", \"inday_icu_seq\": 4, \"Hospital mortality rate\": 0.12661195779601406}, {\"variable\": \"EMERGENCY\", \"inday_icu_seq\": 5, \"Hospital mortality rate\": 0.13707165109034267}, {\"variable\": \"EMERGENCY\", \"inday_icu_seq\": 6, \"Hospital mortality rate\": 0.1469709318120076}, {\"variable\": \"URGENT\", \"inday_icu_seq\": 0, \"Hospital mortality rate\": 0.13793103448275862}, {\"variable\": \"URGENT\", \"inday_icu_seq\": 1, \"Hospital mortality rate\": 0.08275862068965517}, {\"variable\": \"URGENT\", \"inday_icu_seq\": 2, \"Hospital mortality rate\": 0.11267605633802817}, {\"variable\": \"URGENT\", \"inday_icu_seq\": 3, \"Hospital mortality rate\": 0.11450381679389313}, {\"variable\": \"URGENT\", \"inday_icu_seq\": 4, \"Hospital mortality rate\": 0.09302325581395349}, {\"variable\": \"URGENT\", \"inday_icu_seq\": 5, \"Hospital mortality rate\": 0.16289592760180996}, {\"variable\": \"URGENT\", \"inday_icu_seq\": 6, \"Hospital mortality rate\": 0.12359550561797752}]}};\n",
       "var selector = \"#947caf96-c17f-4466-ad0c-6634cc666d2a\";\n",
       "var type = \"vega-lite\";\n",
       "\n",
       "var output_area = this;\n",
       "require(['nbextensions/jupyter-vega3/index'], function(vega) {\n",
       "  vega.render(selector, spec, type, output_area);\n",
       "}, function (err) {\n",
       "  if (err.requireType !== 'scripterror') {\n",
       "    throw(err);\n",
       "  }\n",
       "});\n"
      ]
     },
     "metadata": {
      "jupyter-vega3": "#947caf96-c17f-4466-ad0c-6634cc666d2a"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAFfCAYAAAAGbRsLAAAgAElEQVR4Xux9CZhUxfX9ua9ngQFlUUSYHmURNGLivhBxixHjT5Oo8HqGxH/UJJrExCWb4j5GRTDRaIxZNIlLYmS6QYlLTDQmalBwwSVRoyBgMjMsoiAKAzNMv/v/bk81NE33dL3u1901M1Xf54cwVe+dd+6t987cqrqXYJtlwDJgGbAMWAYsA5YBy0DJGaCS39He0DJgGbAMWAYsA5YBy4BlAFaEWSewDFgGLAOWAcuAZcAyUAYGrAgrA+n2lpYBy4BlwDJgGbAMWAasCLM+YBmwDFgGLAOWAcuAZaAMDFgRVgbS7S0tA5YBy4BlwDJgGbAMWBFmfcAyYBmwDFgGLAOWActAGRgotQirALAngA0AVnfzvMMAfADAU31k3BgAHwFYVQae7C0tA5YBy4BlwDJgGbAMBMpAKUVYDYDHAbwG4FgA1wKYnfY0VQDqAPwZwEQAawGIIHsKwJMAjgfwewAzA2XBXswyYBmwDFgGLAOWActAiRkopQj7EoB9AFwFYACAZQDGqehW8rE/q8SZRL2k7zoAMm40gOsBDAHwEoBPAOgoMVf2dpYBy4BlwDJgGbAMWAYCY6CUIuwGAA8DeA5I5Cf7G4AzAKxMe5pKAK8DOEKJMImEvQfgGgDHAHgCwIzAGLAXsgxYBiwDlgHLgGXAMlAGBkopwh5RQupFJcJkKfJSFRFLffR+askyKcIOBPA0gPMAfBLABABTAWyeNWvW1czcmDp411137TzuuONkD5ltlgHLgGXAMmAZ6IsMfDh27FhZObLNcAZKKcLOAbBcRcDShVZ3IuzXAOYBeAyAA+BZACer/WI70Dtz5kyePn16KZ9Ly8RLly7lsWPHGoXLRExCpom4TMRkudKaels7mWhDEzFZv7J+5Y+BnL1/A2A8gOMAxLP0lsDKTwF8Sq2ApXb7GYDhAKalHNbLedOe0qGUomAKgAuVIWTP118A7AcgrE5CyiZ8aekCTfaQdaolSFH2/8piqMRgK8L0Xc9+ACxX+gzo97R+ZbnSZ0C/p/WrHsvVmQB2BnB7NyJKRJj8XPZ/t6U9qYiwUQBOtSJM3wcy9RTB9zsAZ6kf7q8ElSxTyh4v2SuWFGHPqxOUsjE/eTpyX/Xz7yhjZURjRZi+kexLzXKlz4B+T+tXlit9BvR7Wr8qC1ffA3AwgG+o1FLydzk0JwEV2dN9B4CPAfwEwC0A2gHcBqBVbR+Sb/tB6jCe/PtYALMAnKZWt+T/ZbuRiLCY+tnZKiPCxQD+CyBVhElETPaXi7CT1bEfAnhDnxnzepYyEpZ8+t2U0pVcYX7aIBXK7HacFWH6lNqXmuVKnwH9ntavLFf6DOj3tH5VFq5cAFEAhwJYAmCxEl6SpUC2CUlQ5EMAf1D//1sAiwBI0EQO1Ek6qu8DkO++XOsF9f2X/eAiskTgiaiT9FMiwv4KQAIzItjkXrIH/GYVCasHsFAJPcmW8GV1WE9W1Nbos2NWz3KIsKIyYEWYPr32pWa50mdAv6f1K8uVPgP6Pa1flYUr2QL0lkodJYfqRATJKlazWh6UbAbydzk4J4IsKcLmALhaIU6NZImY+7RKMSVRtYEpIkyWI5OC6lsA5NCdCDTJjCDLkZcAeBOA4LhR7Q2XlTXJKSq4emSzIqxEZjPxBWIiJjGHibhMxGS58jd5TbShiZisX1m/SmNAkqOfoMSYVLyR6Jbsz0ouH0p0a26aCJNN9rIhX1pShEnOTzlYt7vqOwlAQ5oIS+4JE3ElS5WZRJhsa5JUVZLcXf6T/5dlyx7ZrAgrkdlMfNmaiMl+APw5pIk2NBGT9SvrV/4Y0O9tor8HjEmiVyK0pImQul8JKxFKkkpKhJMsIUoGBFmWlOXIX6Ts3U6KsB8AeFtFsX4M4N6UtFOTlai7TEW1kgJORNhNKhIm9/uPqqgjUbLPA7hSRcIk+XuPbFaElchsAU+KQFCbiMl+LP2Z1kQbmojJ+pX1K38M6Pc20d8DxlQN4J+q7rMsPUr9ZllSlKiWtL+rZUTZOyYb5eVgnezpSo2EyYZ62cgvy5X/T417VC0pyr4v2UMmkbVkk83+EnF7WQm+ZIoKEYQPqT1m0leuJcKvxzYrwkpkuoAnRSCoTcRkP5b+TGuiDU3EZP3K+pU/BvR7m+jvJcIk9aBlT9h6fbYSPWWfmYgsST2VqUk6C0lTke3nIQByUE9OYm70eW/julsRViKTlGhS+HoaEzHZj6UvE9r9cz7oMtHfTcRk56APp7J7WP2RZXvvwIAVYSVyChNftiZish8Afw5pog1NxGT9yvqVPwb0e5vo7yZi0me0b/W0IqxE9jZxUpiIyX4s/TmkiTY0EZP1K+tX/hjQ722iv5uISZ/RvtXTirAS2dvESWEiJvux9OeQJtrQREzWr6xf+WNAv7eJ/m4iJn1G+1ZPK8JKZG8TJ4WJmOzH0p9DmmhDEzFZv7J+5Y8B/d4m+ruJmPQZ7Vs9rQgrkb1NnBQmYrIfS38OaaINTcRk/cr6lT8G9Hub6O9BY/rc9PtHVcA5E8wHJJgherUT3j1/mTntXX2mbM9MDFgRViK/CHpSBAHbREz2Y+nPsiba0ERM1q+sX/ljQL+3if4eJKaTL559ETmQDPgA47UuEYb9wYmakY2PzGq4VYMtSWdxWGLktlahinePVJnvpVZkskm/wwH0T/k3SYfxqqpJKf98nErUulnVsZSErTJmgCqLxOq6yftISSQRjeMArATwv5Rrf0JhW6ey9Kc+0hYA8zWeMa8uVoTlRZv/QUFOCv93zzzCREz2Y+nPuiba0ERM1q+sX/ljQL+3if4eFKakAGPGnyrbq8+ad8tpIrxw6kUPDt5S3X43Eb7IHr776I0Nt+RgTESOJHG9PCHlupqIqjtUYe9aAFKUO9lESImoEoEnechEq0jS2AeVeJJksFJCSbLpD1VFxk8C0E8lcp0KYDCAO5UQu1uVVvoRgL0BfFYVAJf7OSpLvySalez/koVfalMKPmlyf0kIm8St7xwaPa0I0yApiC5BTYogsCSvYSIm+7H0Z2ETbWgiJutX1q/8MaDf20R/DwJT1xIkLRcB9uisBqkVuUM7+ZLZ8wg4ppP4wBxLk1J+6JcqepV+nS+repIiqJJNxJRE3T6lkrKmjpFol4i3AwF46gd7ARAR9nMllqYAGKH+nhzbBOAnKhr2uop4SeRLxv5VZf0/XSWTleuUpFkRVhKabVFqPzQH8QLxcz+dviZissJCx3Lb+phoQxMxWb+yfiUMnDL9/kaArq7YXD0kGQFLZ0YiYp392tcBfM0jM6dJPcdsTZYApabktSkRpY9UpErqUUpR73QRJv3nqOz6cl0RZrIs6gLYSZVGyna/TMIuKcJeAjAbgETHHgPwTQC7qEicRNAuVpE1ubZE3ySC9zd/XqHf24owfa4K6mniy9ZETPYD4M/NTLShiZisX1m/8seAfm8T/T0ITCrKNeqRWQ1dm/GztFMumf0qA+9mi5apYSLCZF/Vt9XynywBbgAg9SO7E2E3KxEm/WU58GEAp6klSFmSTG0imKSUkbTuRNiLajnybFXPUkSW1KCU4uIiwhoA/FEtY8q13gEgwq0ozYqwotC640WDmBRBQzURk/1Y+rOyiTY0EZP1K+tX/hjQ722ivweBSUSY7Lt6dFaDLPsFIcJkCVE206e37pYj5d5SRzK1SSTsBADnpvzjJ9W+reQSZS4RJnvO/gXgGwBuByBFxKVWpYyT2pZ2OVJ/Cmzfc+bMmTx9+nTjxGUQkyJfTrKNMxGT/Vj6s7KJNjQRk/Ur61f+GNDvbaK/B4Ep4OVI2RP2JwCHpp2QlALcIqpk4/4NKdEniWjJnjDZ5/V+yhj5dzkxuVb97C8ApOD3n9XS5j3KcrlEmHST5dOrVSTu/pRxsjlflkarUrzAb5FybQcyTqxoI8/S0YowfQaDmKj6d9PvaSIuEzFZYaHvU5Yry5U/BvR7m/huCAJTcmM+GPMemdUgS4A7NBUtOzZOfECOjflj1bJe+jVElI0CEEv5wXsA9gfwkBJtqWO+oyJXsjl/YcoP5NTlLABx9W8i7PZI22cmQkuWN2U5Upossz4DYDyAVerfvqjSXaTeU/CIiJRN/IE3K8ICpzTzBYOYFEFDNRGT/Vj6s7KJNjQRk/Ur61f+GNDvbaK/B4Vpa44wxryK9uqzU1NUdFa33wXCqZopKvQJ1e8ZUlEwyeMl+8t6ZLMirERmC2pSBAnXREz2Y+nPwiba0ERM1q+sX/ljQL+3if4eJKbUZK3MiWSpIMIBzFgPRqNGjjB9MvtgTyvCSmT0ICdFUJBNxGQ/lv6sa6INTcRk/cr6lT8G9Hub6O9BY+pamsRZzJQ4KUnEr3YCd9uyRfp+kq2nFWGFc6h1haAnhdZNc3QyEZP9WPqzrIk2NBGT9aue7Vet9e4NWxqmTR912unGfbNM9HcTMfnzwL7T2ziHLpR6uzFfn0FTJ6qJuEzEZIWFvq9brnouVy319fsDnFgGA/j6cFPsCn9PU9zeJr4bTMRUXCv03KuXWoRJIU2p9ySb6FZ3Q9swAB+klCSQrnKCoUOVHMg61IowfWc0daKaiMtETFZY6Pu65arnctVSH5HM6QdtewK+O9wUk0SbRjQT3w0mYjLCWAaCKKUIkyrqj6vcH8eq8gVSOiC1SV6OOpXzY6LKBSIYk7k/BgIQISfHZZNHUbe7gBVh+l5m6kQ1EZeJmKyw0Pd1y1XP5Ko5MvViImcWwEs6z/7auIrf/bYNRDVg/KOK+Qu7xWJlPxVn4rshaEybbth9lOfhTIBV9nx61XFwT/9LV73rz7Ns73QGSinCpDSB5Nq4CkCyQrqUMpD6Uckmlc2lttSYlLwcku9DsuHKOMF7osrtkZ5FN3ENK8L0nTzoiap/5+57mojLRExWWPjzOBNtaCImU/xqZUPDqE4v/jYRVTHFj+i4/saFVRdfvD9VhOSX+eHM/CYYk+tisVZ/nhBsbxNtGCSmtuuGX8REUrMRYJYEqrIzf39m/tAhNNZcvvpWDUYlCHNYWqJWCag8DWCkyhX2LABJNyFNfnYkgDdUxvxsY6WepERJk1pGxr+lErwmYcnPJemrJFz9pwoEyc+kwLdoktQm4yX/mASB5Dpr1A8lIaz0fUH9XVbrRJvIc0m5Iym/JKWVjgbwSlpOsUkAFgOQfGM7tFKKMMmGK3WfnlOESUHMMwCsTENVCUAqnB+hHkRqOf1OFeyUrp8B8I9sRrciTGM6qC5BTlT9u+buaSIuEzGZ8rFMt6jlKrePJ3tYrrJz1RyJPE0kHzX+Zbgpdl6Sq2bXrQXhcSLaV7a1hDz+zIhY7E191oPtaaINg8K0VYAx/6mms/0savzwQ2GPGwcPbquovhtEXyTm79ZcsfqWHKxKRnyp0ShJVaUGpDT51kspo1NVyaH9lOiSn0kSVxE8Ir4k2pltrCRkfQTANSrD/WAVsJEyRC3q3yV7viR5ldqS1wP4hUr4ehaAKwHcqLDIfUWoPaBKGom4lzJLsuom+KWY+KeU6BNs56gEtLIy9zkAgv9SAHsrbSPPKat+Ujhc/i3BXXorpQhLEiXZauW+shQpgJelgRJlK2o7KcJEbV4IQDLZ7qaMIdl318yaNetqZt6hcrvryhDbLAOWAcuAZaAnMuC88Dwq582Dt9NO6Pz+D8BVqRVkAOroQMVdv4Pz3/+CKyvReeZZ8MbIAoptSQbGjh1b0PddLUEuB/OfBlyxWoTSDm3jdcPnMXBMKEQH5lialCjSL7PUjpRrPwjgBykZ7qWckHzbRYyJCMs2VsSWrKClRuN+r/pLaSMplZSsCyn4JaL1LQA/UYW6M9WJFA0i+xBF5EsQaK6KgomYktqUTwK4OCXzvlz3uyrI9F9V7Fv+LgEn+fvJ3RUAL8hIPt1dVONyABIBSxdaqZdK/5moVdkLliyomV56YDsYNhKmb5WgflvSv6NeTxNxmYhJ2DQRl4mYLFd6cy/Zq5w2XD1t2vAt8c53QDSQPJ5cG4s9kcl+fO65la3rP7w38TFljhPxGbVNc9L3Gft78Dx6l5OrbHCDwLTx+t0TtRVrtmwekoyApd8vERGr7CflfK4ZcPmqHQIiKf1l65EIG9lulIyEyVakO5UYkmU8iXrJMqBEyKSc0B8ALFCH9LKNlQjT95Q+kAz6cvDv1wAOUUuDuythJ8ubcrhP7i0H/EQcifgTMRVVOCVSJhG3+erPaWppUsoqiViTCJkskf5HCbvUrVSp1Mj2KdE58p8EmSTalrWVUoRNUREtCe/JryxSeFPCd2FFsqhWaekiTKqlf1WF90TFCnlCdMY6TlaE6b9Fgpio+nfT72kiLhMxWWGh71OWq57DVUu9+zBAp8hqSbgpKh/CRMs2B5sjkUaiRCFmMPhHdU2xxP+Xqpn4bggCk0S5ZK/WgCtWq834mRndeN1wSR/ybrZomRolIkzEzbfV3inZPyURLtlLJfvFZZ+46IL7lAaQ7/4SALIkKPuyso3dS4m7pPgWASQrZhJ5iwBIijDRFSKiRExJZEw0xPFKAP4xpVj3O2o7lKzGyV6yL6hVuZ+p8bJCJ88rEbpUESahWhF3ySaRMFkClRqY3R4eKaUIk3vJ3i6JbEkTcP9S67kzVOguKcJEjcpaqggtGSdruN9U474CQMKNGZsVYfqvniAmqv7d9HuaiMtETFZY6PuU5apncNXiulPhUIyZ19OWzrHhBx+UVEWJ1t0cbK2f2sBMfwCRRENm1w4a/BW6447kJm9/D++zt4nvhiAwJUQYYc8Bl6+WJbiszYcIk/1fEoRJb7JnSza4ix4Q8d1fZUQQsfQ/JcKyjZW9WrIfq+vgQNfmeImiXQSgFoCkMpE9W6n70JJ7zv9PibLkKlsSV2ogSPaIyfX+rgp+1yuRNllcUg0QjSJRr+kpS5QiDkXviI7xuuOvlCIsiUNUqpxs9Hu0WKJgskFuY3cPZEWY/hskiImqfzf9nibiMhFTrg+TPuPB9rRc6fNpudrG1VrXHdTmkJw0Gw54Z4ab5shS49aWi6uWSOQ4gB+SZUwwz69inFSKFBa5cOl7Q3A9g8AU8HKkRKZkf5ZEkFJ1h3zPRdgMB3CbOpEoREj/BiV0knu7Mo2VCJtEq2alsJfcsiQnEuU/WUmTiJssSV4A4BJ1fRFho9VyZeqmw/a0femyYvdvtedLljDPByCROgkICTbZ8yWCS4TXxwqH4JKN/CJgjRNhwXlahitZEaZPbxATVf9u+j1NxGUiJivC9H3KcmU+Vy31EfmQnQ3mJ8LRmEQatms6c3Cl6+7b2XVysrZUKSx0cPljv/DeQWDaujEfPG/A5aslmrRDS2zMJxwbcuiAHBvz5TCdLPWlNxFWIliGqhOLM9Uyn6yOnanSP8hyZLaxIuI+r044Jq8te8KeAiBiTESQbH2S4I+0H6tcpOepPWOy5JraJI2ErNLJ5ntJLZHc9nSZ+ndZHpdom4g+2YsmTcbI4QARaskmzyTRO1nytCKscJcu/ApBTIrCUfh/qQV9T53rWa50WOrqY7myXOkzoN+z1H61IhI52iM8zcybwBiXKfeXLibZ2N8R7/x7qVJY6OLSZ7/wnkFh2pYjjOfVbGk/e7sUFZXVdwF0qmaKisIfKv8ryBK1rKTJ8rTfFbju7ipLqLJ0KUItudzpG2U5liN9g/QzwEbC9NkKaqLq31Gvp4m4TMRkRZiePyV7mWhDEzGV2q+aXbc/OSR5vkYx+KK6pljG5J9+uHrPdQd2ED0EwnFg3gDQF8LRaNb8kv48yfxfZv1wlevZt0vWurWGJx3A4PUOo1EjR1iuW/Tpn1sRViLzBzkpgoJsIqZSfwB0ubRc6TJlZnTO+pW+/UrNVUsk8hMQvg/wK7VNsYMpS1TB7xxk1w21OiRLnF+RFBYg/mr6PjN/rGTu7RdXEPfMdY2gMamlybPAqmwRJcoW3W3LFuWyRO6fWxGWm6NAegQ9KYIAZSKmUn8AdHm0XOkyZUWYPlOWq9YpUw7kkCMJvDkU9w4YMXeulKnJ2PKdgy2RyJUg/ChxUcZ14Wi027xNfuxn31d+2bL90xmwIqxEPpHvC6SY8EzEZF9q/ixuog1NxGT9yjy/4mOPrWgZPuxVAk3Qye9ViF9JCgsPzr3UlQg00BQWheDyZxX93iZi0kfft3paEVYie5s4KUzEZD+W/hzSRBuaiMn6lXl+1RKJXAaSWn68pHb1mn3pqac6u0NZqF+tcN1JHuGxoFNYFIrLn2X0epuISQ953+tlRViJbG7ipDARk/1Y+nNIE21oIibrV2b5VfOUKeMQcl6XyBQ73sS62XMlQXe3LQi/KkYKiyBw5Xp2vz8PGtPKhoZRnued6QGJ7PkO8KrjOPeMmD37Xb/YbP/tGbAirEQeEfSkCAK2iZjsx9KfZU20oYmYrF+Z5Vct9e5CgA5nxm110agk0MzZgvKrRG1Kr/NxgD4FYDV3xifXzZ0r2drzakHhyuvmWQYFiamlfupFgJPMSC/lfKTtz8wfgtCY7TRrGjRJESEJWF9I+XdJlCrLw5JQVWyxi/qZpJRYrTLTJ1M/7ARASh9KmUM5SSsZ6qVskGiYw1WW/eSl5ZpSWmizqkcpGe+TJYWkDqT8XPKSSakk+Xe5hyRrlWSuT6eVHwrSLBmvZUVY0SnuukGQkyIoyCZislz5s66JNjQRk/Urc/yqpd79FkC/YObWasY+ulntg/SrFZ//fI3Xv/8jKoVFm9SqzDeFRZC4/Fkpe++gMCUFGIP/NLB9y1lD5s37UO667tRTB2+orrybQF8EvO+Gm+bckgO7lBeSDPIitqTyjTQpYSilhSQxq9R+lAMacn3RJa4qoi2HKCTxqQg1SY4q4kqKfF+oRJ2IKCmSLWlNpMSQjJVC3A8qYSXFtiXDfbI0UfKecgBEErhOBTBYFRIXIXZ3rqo8QdkoeR0rwoJmtAS/mQQFOaiJGhSe5HVMxGUiJiss/HmeiTY0EVMx/arZdWuJ8JbsyyKPJ9fGYk/oWjForoJKYRE0Ll0+uusXBCZZgoyzt1wEWF1TTMr17NCa6915YBxT4YQOzLE0mamMj9SMlALbNysRJAWvJXolTcTZ40q0SYFtyT4vWeyTTcSTiC+Jikl0TsSdlBtKbUnxJv82XhUET97zJtVRomsjUkRaEPT7uoYVYb7oyr9zEJMi/7tnHmkipmJ+AArhz3Klz57lynKVjYGWiPs4iE5g4L66pugZ+kwVbzUhcUAAfB2IJEXZ9eGm2BUm4PKDIb1vEHOwORJpJMLVA9o7hiQjYOn3kYjYxuqqdcy4pi4abewGc3ciTASRiKy5qgSQLBd+HcBKVY7oZVVzUpYfRbQNA7BJ1WmU6NciFWVL1m2ULPayfFoHQMogSakiuf4nVZ3KkapepMBNF2WF0J7XWCvC8qLN/6AgJoX/u3Y/wkRMVoT5s7KJNjQRk/Wr8vtVq+vWs0OzwfwBtnTuHX7wwQ/8oCqmXzXXTz0dcGbnk8KimLj88JPaNwhMEuUi0KhwUzSxGT+rsK6PvMrgd7NFy9Q4WY6Umo7HptRSlDqMSUF0u4pIva/2an1J7QH7c1ox7ZMAXKNE2cWq6LeIMImmiQiTuo6yx+thFU1LFtG+Ty15ChwptJ2MhFkRlq+TZRtnyxbpMxrERNW/m35PE3GZiMkKC32fslyVl6u1rjuojbAURLuQx1+ujcVkiclXK/YclBQWccIjRDQIzPNrGKcMjcUk0tJtKzauXPfP9PMgMCVEGGPPcDQmRbALFWGyMV/2fEk0KrlJXgSQbJCX/Vp3AlI1IbGvS9rRSmz9H4CXAEQApCbyFZEmy4gi3mQ5UjC2pYFMjb4NV/vJpGC3HMKQcdKsCMvHwbobY0WYPqNBTFT9u+n3NBGXiZissND3KctVeblqqY/co8oHPRGOxib7Q9PVuxRzsKW+fjzYewJEe8hmcPb4M5mKiafiLwUuv3wFgSng5UhZIpSI1aUAHlICSjbZn6hElIgwiWytVc8q0SopOSWRs3MByNL1KWrjvpyqXAgkqiD8Vo2XCJlE0ZKre7I/TJYjk5EwT13j9wDOAfAbK8L8epVmfyvCNIkq0UtNH822nkG8QPK5b3djTMRUqg+TXy4tV/qM9QWuWl33BHbocSmkzYx9comabOyViqsV06bt6nmdT+qmsCgVLn2vCkawbt2Yz5hXF42elun+amP+sRVO6ACNnGGSokJOKyabbMSXiJQIp3QRJlGsv0gqDLVZX5YgL1MD3wMkyS+2ALgLgKSgODQNn1xbNvbLXrDj1RKo7DWTIu5yAjIpwuQUpgju5PKkH5oD6Wv3hAVCY+6L9NaJmvvJ/fewXOlzZrmyXOkzoN8zKL9qdt3+ICwholoCn1/bFEumCtAHo3oGhUnnxpLCIt6//wNEOBHM3aawKCWuTNh55pBBG7dUHk6OMxGMIxhcu3rac58cO3Zswd/3rSkqGPMGdnScvV2Kiqqqu4hwqmaKiiR0SQMxRC1JrtOxRUqfGgASUZNxyfxhPi9hXveCjWTaI9lImL5Fyv3yKPdvvPpMBfObpZ/76fY10YYmYhI+TcRlIqYguWqJRH4KwkUAP1/bFJsoxw91fTu9X6m54sZGZ8Wbb/6KCeeAOQ7ir4ab5txbTlzcCKfDGT6hk3AECBMZdAQR7wPIyc5tbVXDswhChMkVRYgxU6PaKydLiHK7A5h5PRE3auQIy9fkfWKcFWElMnOpXyA6j2UipiA/ADoc6PaxXOkyZabYsX6lb7+guGqdMuVADjmyDyjOcW/furlzl/hDsX3vcs3B5sjUiwk0M5HCgjEjHI1enoqsmLh4xk67tKFGRbhwhGSAJ5Bkj9/WWHJr8csMWug48QUIxReunPpic1AiTG4kS5OdnncWiLtOSjK9WuE4d2ssQRZi8j4x1oqwEpm5mBM130cwEVNQH4B8Ock2znKlz6jlyhZvtCkAACAASURBVHLFxx5b0TJ82KsEmgDGVeFo9Fp9VjL3LKdfJVJYMN1PRFUMfiA8aEgD3XGH7EkKLMLKUYTaluy6P7jiCCaWqOERAMkG9e0b479MvMCRzelMC/oPW/UKfSOxP2prKydXhdq5r423IqxEFjdxUpiIKciXWpCmtVzps2m5sly11rtXMegaBr8RXr3mAHrqqU59VswTYYKouWHK4fCcv6ansMjX3zc0DtvdqSApwXOEB+cIAg4BQfY9bWuMNgZecuAtZAcLatrpObpmtWxM77bliynXde3Pg2fAirDgOc14RRMnhYmYrAjz55Am2tBETNavSudXzVOmjKOQI+VkQhT3Dq6dO/cVf3c3U4QJqkwpLDpmzmzJtfTHjajaVDX8QNk47zEmEkj2dO25w5MyL2XCAgItBDoX1Ix7/zWKbK21qE2jqXNQ+wH6UEcrwkpkbBMnhYmY7MfSn0OaaEMTMVm/Ko1fMUCt9e4CgA4H45ZwNPpdf3fO3tsUv0qksIh3/gVEBwNY3XH+BcPHTJq03bd008whe3C8+ggPLBEuWVY8SBWWToly8QYmvEiMBZL3qsZpe44u+9hXFYFsbJnCVVC2783XsSKsRNY1cVKYiMl+LP05pIk2NBGT9avS+FVrvfsdBt3GzK1gjKuLxaTGXyDNJL/is87q19LWNi+RwqKyAv0HtH6/eo+3Q12Ci0V0STmelMbMTItJ9nE53gLuxMIB3nv/pkZIEtHAm0lcBf5wveyCpRZhFUAiBLtBfoPohksp0Cm/EaQ7qJQp+FAV78w43Kao0PdQUyeqibhMxGSFhb6vW66Kz1Wz69YS4S0QDSSPJ9fGYk/4u2v3vU2Zg5uv3W0skywrOhM3Nu8T6Vi/2zDJvDGg7m1UDenarsVgKb/zAjEtAMUX1jgdC+nS9X7zYuVNnylc5f0AfWhgKUWYbDiUDLZS50lKEchpmdlpXEsiNyk1IEU7ZcNisoSBdJPq6VJVXf5dShZYEVago5o6UU3EZSImKyz8TQATbWgipnz9qiXiPg6iEwDcG26KnunPOrl7l4Mrbhw2cHNl6FCPObGBnolkeVGCBFtb+5patK0Yk0jVVTVw3Z8H7fnvi6uuXPVmIqFFmVo5uCrTo/b425ZShEnBTSlbcJWqkr4MgJQm+CiFxc8qcTZG9U3+5iCV0Z9U4k3KE0hBTyvCCnQ/UyeqibhMxJTvx7JAt8k53HKVk6KtHXoLV62u+yV26D4wf1DDGKtT+Fqfpa6epeCqfcYu+2zhyiMIfARDNtBjAkChVKwMrEssK7K3UDbRr5nyt8crr/7R55lpbqYUFn6fM4j+peAqCJz2GtuKXZaCixsAPAzgOVUr6m+qoKZEt1Kb1Hd6XX7rUOUJ5Gci3KQCuxTplAKc8v9WhBVoNVMnqom4TMRUqg+TXzezXOkz1hu4ajnttF1QWfE2iHYhjxtqY7EmfQb0ewbN1Q7lfgiHU1dJnZTGcQbeIGCBJEOt8DoX9Lvy/bdTeyRxJVJYcOixxDWY59cwTimGGNVhLGiudO5p++THQCkjYY8AkCKcIqDkvrIUKRXVJSKW2qQ2lCxZJkXYMQC+rCqp3w/gZivC8jN2+ihTJ6qJuEzEZEWYv3lgog1NxOTXr5rrI38geUczPxGOxib7s4p+70K40i33w8AaYpbtLgsdogX9tsRfpMY1soc5a0vFtXrKlDEdFc4TBJLVnMWOxyeMjMX+p/+UwfQshKtgENir6DJQShF2DoDlACQCli60sokw2YQv0bOTAciOx91URzka/PKsWbOuZubG9Id1XSmMbptlwDJgGbAMFJMBZ8kSVN71O3BlJbZ8/wfgnXcu5u20rx3qWI+K919Hpfz3wRuo/OBNOJ3bH9RkOOgcshc6dpmA+LBPomOX/dA5sFb7Htk60qZNqPjtb+CsWAGuqcGWr30dPELOlJW25cpdVlo09m5Z/aWE1EwBcCGA4wDIbwl/AbAfgLA6CZnchJ8u0CQ8LEuUcQBRALcAkKhaxk2P9nSkvkVN/W3JRFwmYhJLm4jLREyWK/33gi5X77nuwHbCW0RUC/B54abYL/3dxV/vbH6lX+6HV4GwkJkWhBBf2K9mzYv0PRScQiMTLklh0bppYwygU8Dc5oBOHxmN/tXfE+ff29Q5mP8T9d6RpYyEyb1+B+AsRef+AP6lBNUMtVdMfiQi7Hm1CT/9SO+vAchE76rknqFZEabvrKZOVBNxmYhJ92Op7xHB9LRc6fPYk7lqjkR+RoTzwXg2HI1O0n/q/HomudIs99MB8KucWFbEAnJoYf9LV72b3527H9WdDZvr3dsI9J3EFYi/EZ4du6MYGNKvaapfleLZe9o9SinCktzIkmKbyhUWOF8iws54ZdEvw02x8wK/eAEXNHFSmIjJCgt/TmaiDU3EZP0qWL+STejkOQsY2IK4t1/d3LlL/N1Bv/fG63Y9hBD6dNsen7m1f/M/ZH/VHjuMluSwoIUE7zk4eL7msvee1b9DYT1z+XtzvXshgWQvs0OMWbXR6PTC7ph7dC5Mua9ge5SKgXKIsKI+W5cIexnMOLcuGr2zqDfzcXETJ4WJmOzH0odT2eVIX2SZ6O8mYtKZgy0RV5Ky7g3G5eFoVFYyAmncOLKmPRT/dNyhScx8ZCIDPdHAtIu3g3mRnFZ0nPgChOILay5Z2xIIgDwuomPD1vqpX/SY7iei/nIoLdwUnZbHrbSH6GDSvpjtWFQGeq8IA7aEPP7MyFhsflEZ1Ly4iZPCREw6HwBNygPtZrnSp9Ny1bu5aq53ryHQVQx+I7x6zQH01FOd+k+8fU++evhum6roWA/8aQIdBUBqLKZ1kr1cNP/jgy6cuvMrtxxRc9lq2a5iTNP19xWue3DcoSe60mDw8zUeTixWCgtdTMaQ2IeB9EoR9uWXX75N9iow81rHCR1QO3t2c7ltbOKkMBGTFWH+PNVEG5qIyfpVMH61csqUCfGQI3tyieLeobVz577i58rtM3bft5N5EjNNIvAkEI1OV1zMkGzz85n52RDT/P5XrpZT9UYeQvGLq1QpLEydg358pa/07ZUi7JJFiypaCU+BaBJL4lePDwuykGw+zmHipDARk9+XWj62yGeM5UqfNctV7+SKAWqtdxcBdCAYN4Wj0R9096T8M1Rv/mjYoXEKHUkivECfJsLQ7cYwNjPhRYf5WSaaXxNqn0/T10ndxR1ab/GrD7/0pSEb4lseA+hwAO9zZ/z4urlz5ZBaYM1UrgJ7wF50oV4pwqZPn07NrjuUHJLf2OqYMa8uGj2tnHYzcVKYiMmKMH9eaqINTcRk/apwv1IbzCVF0Lvs8b7pv9jyDYOGtMX7TSLCkQxMAugQANWpd2bG+0T8HIPmO+w927/zvZeoER066HqTX7HrVrU6mFusFBamcqVj577Wp9eKMDHkqvr6/baw90JiM2TAG0j9OoqJk8JETPZj6c+zTLShiZisXxXmV82uWwvCEnmXOoxjRkajz2y+YfiYTo8nEehIRmJ58ROJKtbbh7reAWg+PJ5fEep8tvqyD97yh2Rb797mV4nIYiTyYxC+D8BjxjeDOkxmKlf52r43j+vVIkwMtyISOdUDPyD/z8Qn1zXNeawcBjVxUpiIyX4s/XlnOWwoy0zt63cdFXdoDDg0moHRBIwGYTQzj+HqQYOdjvXPM9NiIm8JMS1mii+p2VL1FjWukPQ0ZWnl4CrXg5qIKdMcbKl3nwDosxX9P1q407hXWwA+EqC0NPC8BYxXElEux3u2P5x/0mWr1uTiQPfnPYUr3edJ9muORM4hwq8khQWDf1zXFLvY7zXS+5vKVaHP1RvH93oRJkZrjUSuZkIjmDcQ45DaWGy7AqylMKyJk8JETFaE+fPGYthQ6uxt7jckDK96dJwxmhhdQotYKl3IRuoRO0Y8NHEzr2LQYgIvkT8deEtCnrO4ylu1RHdZSvNOO3QrBlf5YkmOMxGTYFv29hs8MvqZEyRVxOb3R0zdtGLcBKrowOC9XwJCXYchGbyemBYA/KzDNL9ffNVCasTmQjnJNt5UroLAtSISOTFOmEdAPwY/EPYwjWIxrWXaTHwFgalYdrTX3Z6BPiHC5JGbI5EHiXAqg5cN8HBQsY4G96QXiKkT1URcJmIqRLDyjN2HbfJEUPForyuSNYYJo4gxBkRjc78oeRkzlhGwnAnLHWA5ebRKxn3w2Z//Y5e/fft4z8EYYoxlYG8GxhPRhBzX/R+D3ybQO0mRFqLOJf0ue39xbjy5e5hoQ1MwJbLQV4aOTk8VwZ0V+PCtQwGvEgPCb71fOXT13xzgOS/Ozwy86r3XcrMeXA9TuCpW1ElSWHgOSTm/XQtNYWEqV8F5Q++5Ut8RYa7bHw69QIl6lfxk7ScmTKbGRq9UpjRxUpiIqRBhUUxb9jSuJOllh+ON7nR4jCwVKqE1mikRyRpNoJ2y88VSl1UE1TIWcQVazh6Wh0JYBqd9eb/N61qoEVnnTjaumEGbZw2pQ7xqnEc8npnGETCeIX/yaICkRuyOjbkzgYOwmBlLyOHFoTgt4cqOxf0uWddMlLmObLE+lkH6WTn8SuzQce3u+3aG+MjsqSIIYO+1j5fuX9PZNngcnPjfwvfPPSHIZ/d7rXJwpYMxSFwrXHcPz6EnAIwHsNjx+ISRsZhUCfDVgsTk68a2s28G+owIE2ZaGxrqPC/+KhENBeOn4Wj0e74Zy3OASZOCZ+26U1snxq2dfNeiYU+cvXc1KtYFuXcjT4q2DjOJqyQoEzFtvna3se8ff9s7Q5684Fw4asmQMYqJxhIwrDs7MPNHBFoK8LsMSkSymOJLKzzv3ar4B8sLWVbKl6vN1w4b1wmMdcjZR4QZE48jpvEg7JnjWd4g2TQOWsLgxQ57iz3iJQMuf39l6rh8cRXqz92NLxWmTdcNOzpOjmSgP5IZRxHRztvhSqSK4AXEeJaZ/7km8uRfq6740WR26HHZxlEZqthr+P33ry4mF7muXSqucuEotrhf67qD2hz8NZnCwvH4cyNjsUV+cJnKlZ9n6Ct9+5QIE6OucN1JXlcOsRB53FAbizWVwtilnhSbrhuxJ4jHeGBZWhrDjERERH2gd8n4zMwbAFrHxOvAtJaIPwRjHYPWEXgdqOtPD/yBw7Te4fi66s7QOrpm9XtBclhqrnSwlwPTxut3HUHkjCIPYzwkklqOYVByE3y3wkSeiYHFxFiWSClAWOZQfDkTL69p71hOjR+t1XnufPoUg6v2H+0+QaJ6DPoEgccz0V7EvDeIds+KkRM1at9k4mXEWLx+4pVXDH7+R5/u72x5M1suqnyet5AxxeBqW6oIOooZE0GSLmL7lkgVATydqLUIZ37NFateSO2x7D//4cqrr2ololpTSsAVg6tCbFfMX9AkhUWLg/sJdDoDm0OMU0dGo3/VxWsqV7r4+1K/PifCxLitkci3mfBzZm4H4+i6WGy7F1AxHCDoScGNwwa2ORhHDo3xyJG9N2MAHgOSP2mvYjxD99fkjSLccgk4hreO2FnXnYALmqsguCgGJm4cunObExpLFTQaavM72Ek9bdgvB/aWjmEHhKvWvHpv19KhtzzEvIwr4++aXksvCJskhObN6N/WtusEQkj2no1j0HgCj2XQPjskBk25KTPkl4y3memdrSc4EV9a01n1ZilPcAbhV5tn7Dq+06uYSCQJUXEEgfbbQXQBbxLzAkmIWkGdz+XaZ/ffm2/i0PPPSw3eZ+qi0WOCslch1wmCq0Lun21sMXE1RyKziCCnJX2lsCgmpmJw2Jev2SdFmBi8JRK5G4QzwbymujO+/7AHHthu6SJop8hnUmyaOWQPbKnuimZRYuN0QmwxaAyRbN7srrE8zzJmWkaU+EAvcwhLmb1lyWWadEyyTLmZ40PiHZVDQiFnKJM3hOM0hImHEGgIiIYw1P8zD+FEDTQaQuDBIKrIm7PUCBxoXXvtUcf0a3nmrq0RONDaRASOvXVOyFnnIL5OllDRsWodNSLvunV+8OZjP25EVXvVrqM62UmcMExEIuFIKgeJTI7uTiQkBAbwATGkZMtyIl4mUSyOY3kFeHn1bmvepW9gSz64/Dx3Pn1NwcQzhwza5FXtQ8zjPDjjN+1x/JX9//fkywwel2NP3MrUE5wi0irgLK7qWPVO0Cc4/XLFUYTaFu96IFEokZsrc6oItAP8EkkWekgW+s3z6dL163Rt2dww5XDi0EJm7qhwQnuPmD37Xd2xxeznl6tiYkm9drFxbZfCgvGTumj0h7merdiYct3f/lyfgT4rwvjccytbPlw3n4gOA/iV2o82TKTHHmvXp85fz0yTQqJZGx0a6ziy3ISxRI6kABgjuZYItCcIVd3cZVNis7JEPiBLTVjGhKUVoGVV/VYtp+9hUy6EQU7U7QQcOUMSAo4SAm0Ii4DjFAEHHlosAZdYNs2whJoegQOtXutHwGW0H4M23Ti0luKh0XGWZUJHLRmqvFnMI0HkZLUDo40J74oNQbIBXvZl8XI5dTigwltOl7z/cSltmOteuj8P0q9076nTLxWXnAYMVWGcx87WwwEMHk9Me4GQOQLJ7IFITnAuIfDixB40j5aEKuKLq8euWU4RxHVw+PmAJ94RlTSR4BzJkMSoOAKgAanXSET1wM9JlCvE8Wf77bzmRbpAhJj/pjK5vw7Zk8eYXheNzvJ/leKM6Al+VZwnT+S7PDGR75KoRieFhalcFYufnnzdPivCxGgrXXdYJ+E1Ikk6yE3hplhD0MZM7s368LBL/77zCzOuZ8ZeOfdmJUEwr4JEr7pOqC1lxvIQ4ku9Sl424JL3VxSK1ZSJKstymyuqh8Spc0gIoSFrJ13/98HPXPb1RASOaDBAQzNG4HJGA3MxxBsTe+CY18mfyX1vDF5HiQ8bfUjw1nnsrFt/1LWP7jz/yksSubK25s2icbnuAMZ/GbyUCBJNWOYwv8sOlnkdvHxg45pESodCmik29CMsCnneQsbqcpWYs+yN9Yj2SUSfgX2ZeS+i7u3NzJJR/h1OLP0lbP0WyFna/4qV/82GOx1TIlVEBR3pgY4mkkgXDkofK/cBaCEBCys8/mf1Vav/XQgvqWNb6t3rALrc22031K1aXUGxmG9hGRSW9Ovo2q9Y99e1YbHu3zxlyqeoIvRkMoXFwFDlSYP/+MeMEU5TuSoWNz35un1ahInhWqdMOdALOQuIqBrg74ebYjf7MejWvVkVNNrzMCYZzUJiQ3yOvVlyIkktNckHWuVcWlLRScurBq5aphPN8oO1N77UdojAhbyhW5dQdxRwgxjYJbGEWrCA62KTmd8jWfZNRLSwDIx3HQfLyMHyfpeulk3xRW0mvmxNxCRGCALXthOctC/DGat1gjMxzxNCfCmAN+BhqUPe2x7x0vc/d9+KXR8789uJKBfRRACjdnAYxktM/E+HeH7/dpof9EGY5P1WTpkyIR5ypN4ubTn/gtDoo44y6vsQhP2KMRlLiSs1hYXkvAx5OC5TCotSYioGp33pmkZNsiCInzlzJksBbz/XanXdenZotmx+BHmTw7PnyG8bW1vXb8aS1JLHqlQAYxN7s7pSAWQ+aZgcraJZbXueeGTNfx+/Juholp/n7I0irJDn307AVTiD2fOGZlxCJRq6eeSRJ1avmP9Th5GIZFUw3q3qv3ppsYVyrucz8WVrIqagRFh39th6gpNoX9mHpnWCc0fFtZGB5wj0rOPxP/sNWL2gFD7GrhtqdfAiQAcSY9bmG264ZOxYeb2Z0/qqX6VbIJHCgvAIuiKl72dKYWEqV+Z4kzlIjJpkQdCSjwiTaNaqpYfdGu8Y8FWQt3nnMa/OCdVs2JXBY4Pam2XipDARUyk+lvn4meVKnzXL1fZcyQnOjZuG7e0gNF4OBQA0HuDESU6v/7BdnLb3mhzQfPbiz9Z4a17rLhGuvhX89Wypd78H0E2SzqTW472XzZzZbkWYHofl8PfEnub162ZnS2FRDkx6bNle6Qz0CRG2tRaenDR0EvXvuvJmySk1OWkoiS0Z+Pjd/dD58VA4VW0YNP4VwJHtECnZwzOcNKy57P1VOhm7TZwUJmKyIszfS8pEG5qIyfpVdr9a2dAwqtOLv0lE/R3GMSOj0WdMtKGJmMrtVy2RyPUgXJaewsJUrvy93fpG714pwr7TefMPtztpmGNDLdTeLHjO/9a/fehh3Fk9hCraF+06buFZVTsHs+Rk4qQwEVO5X2rZpr3lSv+FaLnqWVw1RyJPE+FoYtxZG42ea+egvv1M4KqlfupXwPQ7SUAumfNqm2I/WLZ0qWdaJNMfq32ndz4iTE6EHS4byQFsAPA2kN9x6GLQLMuR58dv2fHSqScNmRJpHTKdNGx2XTmi/hIRDQL4+nBT7IogcJr4YTIRkwkvtUz2tlzpzwLLVc/hqiUSOROEu5l5Vb/N7eOHPfRQIi2KiTY0EZMpXLW67glMkBQWAwHE2mfc4FoRpj8Py9nTrwhzAUQVYPmN6dPo2ph+GuA/R04xHrxLhP30tkJOGrY0TD0e7DwOwHEYp42MRucVitXEF4iJmEx5qaXb23KlPwMsVz2Dq9XTpg3viHe+3fULp/f5cNOcR5LITbShiZhMel+pFBby3RrePuMGWBGmPw/L2dOPCJMEhlJE9C8APpIyjAAk/43Us5ogNdrK+SDJe+ezMT8T7uRGVWbeRORMDDc1vVbI85n4AjERk0kvtVR7W670vd9y1TO4aolEmkCISOQk3BSVP7c2E21oIibT3letDQ11zHG3fcbMm6wI05+H5ezpR4RJluZ/AZCEplIypw7AHwFI+PoAAAWJlKBICEqECZ6Wenc2QPUAmkMeHzwiFluTL04TXyAmYjLtpWZyZMBy5W82mujv5cLUUj/1FMB5mJnXV4Uq9h5+//2rrQjz508mvxvK5Vf5Mdi3R/kRYVJ+RfJnHZxIONglvioB7AtA9olJdCxXk/qCe6q9ZNtN+rSBwwB8kMjb1dVk3FgAm1X0Let9ghRhfNJJ1a07D1wguXOY+YXw4CGT6I47tuR6yEw/N3FSmIjJCgt/3mWiDU3EZP1qm1+957oDOxx6R5atiPG12mj0d+leZ6INTcRk/crf+8r23pEBPyJMRocBPArgUymXOhGArEPnajWqn0TMjgVwLQBJkJrapFaiRNj+DECyR69Fokg0ngIwH0CtEmeyHy1jOY0gRZgAW3P66SPaK0KvgUjSWNwTjkbPyvWgVoTlw9C2MSa+bE3EZD8A/vzMRBuWA1NLvftrgM5lxjN10egx9n3lz4+sYC2MLzt6ewb8ijA5FblERaYkCibRKtmcLwKpIwe5XwKwD4CrAMjSppyuTI+gfVaJM8nlJX2lLtY5SpjJOInGvQJADggsznS/oEWY3KPZdQ+DQ/MJqCR4365tmvMLv45UjpdtLowmYrLCIpfVtv+5iTY0EZP1qy6/WRGJHO0Rnpa9rhVOaN8Rs2dLTdMdmok2NBGT9St/7yvbe0cGdEWY1DPbG8CNAJoAKW8BGbsbABEkssSYsZBoyi1vAPAwgOfU2L8BOEPqaKfBEnH3OoAj1DV3VuLrQyXa5HBA1vsVQ4QJvuRRbjDHHcaxI2MxEZ7azcQXiImY7EtN26USHU20oYmYLFcAu25Vq0OSUmgU2PtBODpHMuRnbCba0ERM1q/8va9s7/xF2NkAdtg3oC73XkrUqjuO5fjzNSkCTpYiL1URsdRxcgpTliyTIkx+JoLvawDuBPA5dSITs2bNupqZG9Nv6roSKAu+VTzyMELPPQfu3x9bLrgQPGhQ8DexV7QMWAYsA0VgoOKvf0Ho6afhjRiBLd/+jiTgKcJd7CVNYcCejjTFEt3j0I2Eyb6soQDuAXC7imZJxEqabNDvbpN9EoEsKy4HIBGwTEIr2S/9Z9XqQICkxPiWWgLN+lTFioTJDbmx0Wn9zxuPA3Q8S7TO48PqYrFNOqY28bc4EzEJlybiMhGT5Upn5m3rY6INS4Vp5ZQpE+IhR3655VDcO2DE3LlyuCprKxUuPxY0EZOdg34saPtmYkBXhCXHSmJWqdweUv8g+8D2A/BrjeXIKQAuBHCc1G5U+cZkrGz2l71lsglfWroIk3FnqtQY8nMRf+uzmbOYIkzuKRXsNzp4mUBSf3JeXTQqiWpzNhNfICZisi+1nK60XQcTbWgipr7sV+y6oVZHtpDQgWDMCEejl+fyMhNtaCKmvuxXuXzI/lyPAb8i7GcAzk+7tO5ypNxLljSTpwv3V3nHZJlyhoquJUXY8+oEpewzmw5A9pMlW7f3K7YIExCtrrs3E15KlIhgXBWORuWkZ7fNxBeIiZjsSy2XJ23/cxNtaCKmvuxXrfXuDxl0I8BLaj3sR7FYrkNUNhrtYxqa6O8mYvJBaZ/q6keEyYnGFwDMAiCnGP+tTijerPaE6ebPks38bSpXWOBkl0KECejm+qknEZOk6wATn1zXNOex7h7GxElhIqa+/LHMZzKYaEMTMfVVv1rZ0DCq04tLaaIqpvgRdbPnyi+4OZuJNjQRU1/1q5wOZDtoM+BXhEnG/K+qU5GStPUylbLi9N6YMT8Xiy2RqVeAnGvBvIEYh9TGYnLyKGMz8QViIib7UsvldTYS5o+hbb1N9PdiY2qORJ4mwtFg/CocjcqeWq1WbFxaINI6mYjJvq/ysaQdk8qAHxEmfWMAjgLwXQD3pVxoL9lPbQK1pYqEJZ+1ORJ5kAinMngZPBxaF4sl97ZtR4eJLxATMdmXmr9ZZKINTcTUF/2quX7q1wnOnczcWs3YZ7dYbIOud5loQxMx9UW/0vUh20+PAT8iTK4opyS/rlJFfFPt1foegFtTSgzp3blIvUouwly3Pxx6geSAAvP8WsaxFIvtkM3fxBeIiZjsS83fxDDRhiZi6mt+tXratOEd8U5ZhhxEHk+ujcWe8ONZJtrQREx9za/8+JDtq8eAHxEmpxZlP4EkTpfagQAAIABJREFU+LtX7/Kl71VqESZPuOL00/eMV1a8QiJSGbeEo1GJFNpIWJ7mN/FlayKmoD8AUlOQKyoGcGdnDXteDSoqauB5NZ0O15BHA+BwDdipAcmfXAM4NQQM8Ag1gPwbJX4WP/iQyaEXXxpXF4tJfUJjmok2LBamZIReSsOFm6LT/BqhWLj84kjtbyKmoOdgIfz0BK6Cer7edB0/Ikz6/lwlSz0sLU1EpymklEOEJYRYw9SjPHae6eLBOzPcNGc7oWriC8RETPallnkmffDlL+8c7+ioYccZ0CECKeTVkBeq2XLmmX+vvPeuCDwaQNuJJKrxIOIIA0hEUkI0kYgl+WVqIAgDmFEDIhFSEuEuRpvNHs+oi8XkEE/Zm4n+XgxMK1z3NM+hBxj4qLJjy7jdH3xQTpT7asXA5QtAhs4mYrLvq0Ktasf7EWHCluQDk+LZqU03RUVJ2C6XCJOHa6mf+g3A+VXXg9LEcFPTwuRDm/gCMRFTT3yprTv11MGd/frVbI7Ha8hxBkj0CCGJHjld4kfEEWiAx1zjwOnvEQ+QqFGXOMKArsiSCKauSFJCHHXVV62R5aSSTJyum2wEcxsIbczYKH+CqQ3gNgJtBLH6e/J0s7eJibr+jby2EDsbmby2Lf/3+b+GHn1kFRHtnrgq86Mg57rU+VDCZ9p6KxP9PWhMiTyGhP8Q0Qh4/JVwLPb7fLgOGlc+GNLHmIipJ76vgrCFvUZwDPgVYecBkPxekmIi2eSD8QOVOT84ZHleqZwirEuIub8GSITqavb44LpYrNVOVH/GNOllKwKrrarqxnhd+BxqaXm9a9kNiWU4EO3k78kK6p1RIHnjxx0dWrxkrq5AIo/a4Dht7HkbEQq1cXt7G1dUtOlWftB5gqT9Whrcc8F0BYC6hBYD/5PAN4ab5khuwJI3k/wq+fBBY2qNRO5gwjlgfiIcjU3Ol+SgceWLI3WciZjsuz0Iy/bta/gVYcazVW4RJgRtOxbOi2prBkyiu+/ebOILxERMJr3UWuqnnsJMd26N6GT3/gwCCRsBbPITQcpHIJlow3RMzZHIGUSJdDafSFDI/CqIZ4Sb5shp65K1nsBVIWSsdN1j4g49JdFMh/GJkbHY//K9Xm/nKl9eMo2zXAXJZt+7lhVhRbD5imnTdvXinYtAtAeD/1jXFPuynaj6RJebK4l+bayqug2EM5RoeHTLud84ufrOOw8uZgRJn6FtPcvNlZ+PUmKvEuEqEB3QNY6XMNOP66LRO/N5dr9jehJXfp+tOXFKG68nyqmBL6prismJ9bxbb+Yqb1KyDLRcBc1o37qeFWFFsveq+vr9trD3AhH1J/DFm2fMvNG0qvYmvjzEHOXElaiEAOcuAMMZWEceXyj7asqJqTsXNRFXLkytrnuCR7iciI5Rz9bMjJ+A+c4gl0XTecuFq0ivgm4vGxSm5nr3RgL9EOBXaptiB5Os/hbQgsJVAIQdhpqIqdzvq2z8mspVkP7QW67lV4TJcsK7ssxiKgEmLEcmuVkRiZzqER6U45JbvvY1Z/TkE/3yXVSaTZ2o5cDV7LpD4eA2An0pEaMBP1blVJw9/P77V5v6ojUVl679WurrjwDzlSD8X8LRmdeAcGuNh58PjcXWB+38uriCvm+xRXTrlCkHcsh5URgMxb0DRsyd+0ahz9BbuSqUl0zjLVfFYLXvXNOPKJC+Uh/xRADXAHgAwJsAjElPIWYzSYQJnpZ69zqALufqalRtbBs7fO7cZaa4l4kvj3IIi1bX/QITfgOiYanRr1Q7Wa70vdYvV82u+0kiugKEqQAcSa3ggH/heLh5RCy2Rv/O3ff0iyuo+xZThLHrhlocvEagCWBcG45GrwoCd2/kKgherAgrFot997p+RJiwJKdtzgbQoCj7GMB1AP4EIGvdxFLSa5oIY4Ba6t1HCXQSmN+uYhzip3xIMbkz8UVbShGWiH4R/ZwIiWSW6dEvK8Ly8758/arZdfcihy5j4AwCKhnYDMZvQ8w3FrLJPPkU+eLKjwW9UYViaolMvRTkzJD9dbWr1+xLTz0VyC/FheLSe3p/vUzEVMr3lR+2TOXKzzP0lb5+RViSl2GqePdFKURJOPw0AImUDOVqpokw4UEykbfvNuxjev/9xIc+/IkJp1Bjo1cujkz+KJXqpaYT/bIiLD8PLfQD0HL66WGuDF0CxtdkTyWYO0H0R/J4Rm0slvcve4Xiyo+N7kcVgql5ypRxCDmvJwSr402smz1XKpoE0grBFQiADBcxEVOp3ld+OTWVK7/P0Rf6+xVhUrxbogbfSiFHsuj/C8AdAD4L4MlyEmeiCBM+lr/4Ilf8+Mb1iVpujFm10ej0cvJk6suj2Lgk+kUOfgFQvdyru+iXFWH5eWhQH4CVrjvMI/o+g89L5GRjZiY86HR619XOnfuKX3RB4fJ73+76F4Kppd5dCNDhDP55XVPsfFNwBYnDzsH82CzEr/K7ox2VLwN+RJj0fRjAyQDmAvgtgAUAPpR9HAAkM/MvADybL5ggxpkqwmRSVF9+yWfBzuPCF3ncUBuLNQXxzPlew9SJWixcfqNf9gOQn2cFbT/JAt9GdAHAF4JolwQq5ifY4Rl1s+c8pYsyaFy69y2GCEtW52Dm1mrGPkFvcehNXAVhp2LYsJi4TLRfMZ+3J1/bjwiT5/w8gJcArEx5aFmafD8RVDCgmSzCJEVFSyTyXRBuZuZ2J+5NzOc3+qBoNnWiBo2rK/pFUk7KTXy/004+6vAZNCade+r0MRFXsTBJLixy8C0GfZ+AkV1iDAsJmFEbjcoviN22YuHKdd+gP+Crp00bviXe+Q6IBpLHk2tjsScKwZBpbG/hKmheLFelYLRv3UNXhEl5Fqlldz+A2wFIoepKAINVNGxPAOtMoM50ESYctdS7s2U5jJlXVjD2D/IEmB8bmPiiFfxB4mqpn+qC6fbuTj7qcBYkJp376fYxEVexMfG551a2rl/7VQZdLMlJE1qM+d8OY+bICRNmZ9tvWWxcujZL7ZcPppZ692GATkkmgs7nvrnG5IMr1zUL/bmJmIJ+XxXKUXK8qVwF9Xy96Tq6IuwsAJLAMlOzBbw1PCJ1UvBJJ1W37DTwGSI6jJlfCA8eMonuuGOLxmUC7WLqRA0Cl+wninelnfhC4iOdR/Sr0I9loMbKcrEguAoaZ6kwdaVn4AaALk2kaOgKxy8l4htr12+4hx57rN10G/rlKvFLBZwomD/Als69ww8++EHQ9rPCwh+jfm3o7+r59TYRU35P0vtH6YqwfQBIqZErVX4w2RRbpegREfYPuxzZvbOkTwoRCZ2E14hoBBj3hKNREbolbaZO1EJxtbpuPTskB0Z2zZb3yy/RhWLyez/d/ibiKjUmSQOzMhL5Yhy4jAiHKjG2gti7uaK6/692//3vpY5noBFWXfvk6ueHq669cVgq++IY3hl1TXPuy3X9fH/uB1e+9/A7zkRMvcGv/NrB9g+WAV0RVgOgA8C+aj/YRykwKoBEsWIjWk9YjkwSJZmuvZCzgIiqCXx+bVNMhEPJWm97qQUd/Uo1RG/jqphOVk6u0ksiMfNagG4b2NFxy9qbblrXk0uHtdS7dwF0lhxKCEdjkrOxaK2cNsz2UCZisiKsaC7YZy6sI8JkL5ikoLgRwHgA30tjxy5HarhLtheIitrMBnPcYRw7Mhabr3G5QLr0ppdaa/3UBmb6eVeUYFvNx0CIMjSKYj8A2a2boSTShs5JRw0c8NRTI4c98EDqwaKgXCSv6+jOwRWRyNEe4Wkwb2DGPnWxWFHzMeriyuuh8xxkIiY7B/M0ph22lQEdEVYt1YBUyaIRAPaHZLLe1voBkFIZG0zgtSdFwpJ8tdS7NwH0Pfmt3XFCB9TOnt1cCi57w0utmNEvGwnLzwtN8qsdSiIxtxPhngoPM3ePxZbn94TBjdLhqutUKEmJuFEM74K6pjm3BYcg85V0cBUbQ/r1TcRkRVipvaD33U9HhMlTy/6v7vputwG2nDT1RBHGjY1O63/eeByg4xl4HR4fVheLFb1Iek9/qbW67pc8wm1ENLQY0S8rwvKbySb6lZRE8g49ZImzaNEWyTAvkWcGRSuYrxsRi4nAKUvT4Sr5SxrAz9c2xSZSCdIB6eAqNWEmYrIirNRe0PvupyPCJNL1BoDEUfAMzc9ypOwfk3QWEjVb3Q2dkntMTv0kS/vojjOugHfyGXO9QGTT7UYHL8uRe2bMC0ejpxf7ZZsLU7ncPRcuyZPU4XXelajHGcDJR53nzIVJ5xrF6GMiLhMxJT+W1T/8YV1aSSTZ1/8IiGaEm5oWFsNG3V0zF1eyb5RDziIAcY57+9bNnbukFBhz4SoFhvR7mIjJirByeELvuqeOCBMBdBkAEWOZmkTJGjWWI2Vzv2SLfw3AsQCuBTA77YJyrToAfwYwEcBaADrjtl6mJ0bCkuBbXXdvJrwkSRiZcU1dNCq8Fq31xJdacyRyBsC3liL6lUp8T+SqaI6T48I9gasdSiIlnomfIg9SnzLw5KfZKOuOKz722IqW4cNelfQbBL66tin2o1LZ1EQbmojJirBSeWTvvY+OCEt/+lDa0uQQVbooV56rLwGQVBeyf0w2+y8DMA5A6klLqT0p4kyibtJXEsDqjOsVIkweorl+6knE9CiIyGGcNjIanVcs9+tJL7VyRL+sCMvP83qSX2UqicTglwC+Idw058FyRqNbIlOvADnXMviN8Oo1B9BTT3XmZxH/o0y0oYmYrAjz71t2xPYM+BVhJ6hoVupVZDnyEypq1R2/N6jak88pEfc3AGeklUCS8ZKJ/3UARygRpjsuce+eHAlLktcSmXopyJnBzJsqyTls96Ym4SPw1lNeai2u+//YoVsJGCJ7v8C4oC4a/UPghHRzwZ7CVSk5ySe6U0583dkwY0kk4D9gzKp97737iiWAsmFqnjJlHELO67J/jeLewaUub2aiv5uIyYqwcs7o3nFvPyJMliWlWK6UMPqUSlsxUG3al9QVuTaSPwLgGgAvKhEmS5GXqohYKpuy7ClLlkkRlnXcrFmzrmbmHZbsXDdRIrBHt4rf/x6h/7wJHjQIHedfANTIqmzfarRhA0JzYggtXpx48Pj48YhLFaKB4na2WQaCZ4A8D85LL8J5+mk467oqsfHgwfCOPgbxQw4BV8hrsMiNGZW//AWclhbEP/1pdJ4iJXttswz4Y8C0nHj+0Ped3n5EWDJf2MkAjgIgy48ipGTT/iEatSPPASBHwiUCli60uhNhuuMS1+gNkTB5DvnNHA69QMB+YJ5fyziWYrF4kK5p8m+W1ZdeehaDbyGiweWKfqVybTJXpr1sewNXmUoigfk9Jvy036b224c99NDHQczFTFy11k89j+HczsytYIwrxUnp9Gcx0YYmYhLeTMRlIqYg5ktvvIYfESbCSU7pPA3gZRXFugjAQ0CiVMhLOQiaAuBCAMepPV9/gQgMIKxOQsomfGnpAi3buIyRt94iwoSI1oaGOvbii7qKT/PP65pi5wfphCZO1DUNDSPbxu3Vmox+FVrzMSi+TOTKfgD8WTcfG2YsicS8nkAikm6qi8WS7y1/YFTvdEzNrltLhLfkcA55PLmUhwRM/6UjH/vlZRSfg0zEZSImn7T2me5+RJiQciqAXwP4HIA5SkzJnrD0DfaZCJR7/Q5AskaiJH2VTPyy3DgDgOwVS4qw59UJSlkPyDYuo5F6kwhTEbHD4ND8rtxGOCscjd4TlHeaNlFbXPcsiTSYEv0y/aNkRZi/mVCov6eXRAJzG4F+w52dPw4/8ECLPzRdvdMxtUTcx0F0AsC/DzfFvpLPNYMYUyhXQWBIv4aJmOwcLIal+9Y1/YqwwwGI6JJlRcmeL6cYdwPwqKotqcOe9G/TSGmRfi2tcb1NhAkJLZHImSDczbIE7PGkuljsBR2ic/Ux5aUm0a92z7sHBDkdm9j71e+dpbsPv//+7nLJ5Xq8QH9uClc94cPU27nqKonkXQEi2ZoBmZcE/IE9nlEXi73jx/FSuWqNRKYx4Y9g/qCGMXZoLLbez7WC7GuiDU3EZEVYkF7XN6+lK8JGAdhb1Y9sStlcL8LoFyoBa9cu1jK33ijClBC7HYTzwLymujO+fxD170x4qbVGIl/1wDcT0aDk3q+OG274vd3npDeRTLBhTxCGxfhYppdESiSXZn6AGT+qi8X+rWPBpP1aTjttF1RWvC21TwnetNqmOek5FHUuF1gf61f6VFqu9LmyPXdkQFeEna2WEjNx6CdjftFt0FtFmGwUbiU8BaJJAL9S+9GGifTYYwWViyrnyyM9+pW696ucuLI5qImYiiEsgpigfY0rKYlEDl3GwBmJbQMSHWP+Swh0w8ho9JnuON0qwurdewH6f2B+IhyNTQ7CDoVcw0QbmojJzsFCvMyOFQZ0RZgkZB0KQPYj3a72byVeNgDklJAxy0a9VYQJ0c2uO5QcerWrqgA3hZtiDYW4cbleas31U78OODcRsHOmk4/lwqXzsSyE72KMtVzps1psrlpOPz28XUmkhBrDswzMqItGpQrIDk0w9Zs+fTI79DiYNzBjn7pYrFX/qYrTs9hc5YPaRExWhOVjSTsmlQFdESZj5NSi7EX6CYB7TaWxN4sw4XxVff1+W9h7gYj6M/jSuqbYzHxtUeqXWnfRr9RnKDUuHf5MxGQ/ADqW29anVDbMXBIJr5HHN4ycMCFGjY3JmrhY+tZbXHXVla1EVAvweeGm2C/9PVVxepeKKz/oTcRk56AfC9q+mRjwI8Kk78/VycjDAKRuGi1ZOY1cZuztIkyef0UkcqpHeFDWPJj45LqmOY/l4iXbb+Gl2nvVHImcA8JPskW/rAjLx4I2R5Ef1kr9Ec9UEgngJeRh1sghQ+6lO+7Y8t9bbuHQAjkYzs+Hm2KSoNqIVmqudB7aRExWhOlYzvbpjgE/IkyuI+kpzk27oN0TpuFjQb9Amuvdawh0FQMfEejQcFNTV1p5Hy1oTJluvcJ19/CIfps8+QjGw1XM5+4Wi63KBrUUuHzQlOhqIiZTcVmutveuREkkom8y+IdEJKfK5UTlCjD+QISL5e/k8T61sdjbfv2yWP1NtKGJmOwcLJYH9p3r+hVh5wGQ/F6SYiLZpJ7OD9TesLIz1xciYUmSWyKRh0D4vPx2XePhUL9H2ov9Umupd78Fxk9AVMNdCS4v1MlzVmxc+TipiZjsB8CfJU2wYUsk8k0QLuva15lsfEW4KXa9v6cpbm8TuEp/QhMx2TlYXD/sC1f3K8KEkyqVnFX+/J/Kdm8MV31JhL3nugM7CC+BaG+An6z9xITJqftNchmlWC+1RKZ/jstpr2O7fuvnx6qcirN1834VC1cuPrr7uYmY7AfAn0VNsWFqSSTebfiEun+/XlmsAuH+GNrW2xSuUvGbiMnOwXw9zI5LMuBXhB2oShalMign9CR3mBGtL4kwIXyV647e4tAiAoYw+Md1TbHE8oZOK8ZLTUW/bpSyKxL9Aug7ddHoH3TwJPsUA5ef+2fqayIm+wHwZ1UTbbjstdd4zP77+30P+3vwPHqbyJWJmOwczMO57JDtGPAz+R0ATwLYF8AlAD5UtSDl77JEmXWPTyk572siTLhd4bqTvK4cYiHyuKE2FtMSxUG+1AqNfpn+G2+QXAU5H0zEZSIm+7H053Um2tBETNav/PmV7b0jA35E2ABV6/EcAH9Xl5JM+lLCaCKAhSYQ3BdFmPDeHIlcQIRbmbndiXsTa+fOfSWXPYJ4qUmB4xX1U7/FTLNU9GstQBf6jX5ZEZbLWpl/HoQN87tz9lEmYrIfS39WNtGGJmKyfuXPr2zvYETYbwH8GFLHEDgFwMMAJgB40wSC+6oIE+5bIpG7QTiTmVdWMPYfEYut6c4mhb7UVjY0jIp73h9AOFLu43fvVzZsheIqhh+aiMl+APxZ2kQbmojJ+pX1K38M2N6FMOAnEib3aQRwddoNJTWCiDAjcoX1ZRHG555b2fLhuvlEdBgzvxAePGSS5CIKWux0Rb/cbzNIEsUOYOaCo182EpbfNDbxI24iJiss/PmXiTY0EZNJfnVsY3TgTu04OI74Hrd9/bB7S5UD0p9n2d7pDPgVYdL/NABnAZA9Yo8DuBvAR6ZQ25dFmNhAsnV3El5L5CNi3BOORsVWGVs+L7ViRb+sCMtvBuVjw/zupD/KREwmfSxN93XLlb6vl4urk6ffN4Q9OsRxnAOY+RAiOgjAXknkt55zKKwI82fHcvX2K8IEp0S9JD1FsjGAN9TyZLmeY+t9+7oIEyJap0w50As5C4iomsEX1TXFbs1kGD8fS4l+tdRP/Q7BuWFr9Iv4grqmOfcFbXQ/uIK+d5CCtRTYLFf6LFuuLFf6DOj3LLZfnXRpdFgIfCgzHwjwwQAOItCemRAysAiMl3527qHfsCJM34bl7OlXhMnyk5yMTG+7AFhbzgdJ3tuKsC4mWl23nh2aDcADeZPDs+fIydbtmu7LoxTRr1RgurhK6W8mYpLnNxGXiZgsV/5mi4k2NBFT0H510sVzw0RbDiYRWoSDwHwQiEbuYD3GJib+F0CL4PHLzKFFbQOGvf5U43GJbUGmcuXPC/tGbz8iTE5HSgFvOQUp0Q+JgEmrAPA0gA4TKLMibJsVmuvdGwn0Q8nXVRX3Dho+d+4yP2KnK/rlXkCMGSrr/VoUKfrlB1c5/MzUl5qJuEzEZOqHyXKlP5t7G1cnT79vDHnOQXBwEDMdBJIIF4alM8LMG0H0KoEXMTkvs0cvD1iGN2OxSDwbe6ZypW/tvtPTjwgTsfUEgDkAbjeVIivCtlmGGxud1v+88ThAx4P57SrGIbvFYhuSPbqbqM2uuxcRyWnLQE8+6viNiS8QEzFZYaHjTdv6mGhDEzFZvwrar5g+d3FsvOPwQSTLiZwQWweCMHgHwQX+iIBXGHiZQIvYw8uP1rz1NhobPT+oTPUrP8/QV/r6EWHCiWzyviuNnBYAnwKwzgTSrAjb3gprXXfQRicxocdIColwU+xkUlHMTBO1S7i9fgEzzSCi/omTjyWIftlIWH6zx8SXrYmYrLDw518m2tBETOl+5brR0MYx2JdEcLF3kAguEB0AYGAGwbVOBJcsKTLjZfLiix758ZfeASi5yuTPaCm9TeUq7wfqxQP9iLB+kE1/XRnz/5rYa9TVdgakiLQVYd35STknRavr7s1dNSYHgnFdOBq9MtNHKRH9cvAHgA6XnweV98vv/CknV9mwmojJCgt/nmWiDU3EZP1Kz6/cxmjV5o3efvXHjV40+5llv+KE4MKnCCTfyu0b8/sgehmMl8G8iB3v5Udnfnm77SF6d9XrZapf6aHvW738irDnAdwG4Dem0mQjYZkt01w/9SSC84ikFnEY/7+9c4GzqyrP/n/tkzsIQgVFRYRwCYhCiZRbbYlVaDIQUcxkAtHSIlj7KWpVMlEroxYyg6hFtBa5tQXJhY9fLWESQTR4AS8wCPpBkCJUUVBRkCAkk8zZ6/u9Z9bBw+RMztpzzuzzzux3tzg5M+/e+1nP+6y1n7PW2mu9+aVr1nylWlHDsOX7vOef29X7VYtaYwOiEZM9LLO1QhpzqBGT6Wp7XR3fc9WMmc/OPDxJZLK8TJr3R3jPoc65qdtH+19XJsx7f5fzyYCYr7V9nT/PptbmorXqqrlSTc6zs5gwYeBqhicOfqmGDpkrJg/3ZzVQZCZs9Cw80tm5zDl6vfebp7rkz5654IIfT+vuPkBD75eZsLHVHo2NrUZMZiyy6UtjDvPCJIue7jRY/lOXVtbeOmJ4WQg3B0dpuw4u+OWhe+/6snsf2dQjvVyJTwduuHDJo9nYbn10Xly1HnnxrpjFhEmsLHnQWYcmW6KigXa0VIpfLO5cCXTh/c/Lxx//itI35cXWyiSxJ/Gc08yej62qPlq40m4MzVhkU5zpKp6vonD1hmVrdp3hy68lcdKzVXlDEc8BzrH9s9Hzc+/8gPPJXWX8AEly5/oVnY8Xhat49VhkFgaymDC57suBkePdMonwZ7Zt0Y5p11JR/RlnzPjls898B+dk0b/hw7N2mvdn73nddb/KIp7xitXClZmwsWVYY/7MsGbLpcYcNotJFj11fmiu8+6Iygrzw6Zr33rMePxD1QnzieOubYPJnTd9trPuWpjN4sqWmbhojZjikBcvKqsJa5YhGbqUlX5lmYRfj3IxGe6Uyf61xk7O2y9sj7RDo2DDkY1T9Phb3rLX4JTSPX7WrD3Y/MzS8Vj1vjGK0SM0NiAaMZmxyKYyjTnUiGky6EoWPU1KW49wYrS8O8IPr8H1spGK8R6P438qE+bxA6nzd23zUwZu6et8KlZdGnOoEVMsn0WLy9OEzQp7Td4DHA98Mgxv1nK+ICyBcS2wEJDeGpn4eCsgK77/VZiXJiv31z3MhMVJ+NHFi4/Ysnz5wH6HH56nBqLAaWxANGKaDA/LKEG0KEhjDjVimmi6OvmDa/YtTwlLQojZGl4WYs/tZeNT791PxGx5J28pJgPPznR33drT+dzaiWORmsYcasQ0Fm6LcE6eD+DTgDnAx2TvQUBezz2gZvNvGeaUPSiPAX4DnBMM2GNQ6TI+H9gNuBM4eLQV+s2ExctWa0XViEsjpon2sIxX5vhEasyhRkxadfXggz/151xxx0F4N1fW4JJtfTz8qcPJc+F5h4chPBtx/i68G0gTd9eU6bN+uLbn5Ja/QKYxhxoxjU+tnvhXjTVhB8rSBjso7oMRc8Jk4+e1wO1QmfR4C7AUEJMlh8w3k/XHZOFX2Y5BVmo/Afh8MGUfB/4yrNp/gfWENS8+rRVVIy6NmLQ+LI2r+LppXMVxdVL3ylVTS8nibeX665h6z93BcN2deu7YPGvz3bf2/O2WuKs3F6UxhxoxNcfy5D07xoRJr1Wj7tqYtyNlGQsxUncEEyZvWi4PPWLCsPRuXRqGKmUhWPn8rjA8Ka/w/QNVo+ZdAAAgAElEQVTwauBVwFuBuhXMesLixaq1omrEpRGTmbB4rRtXE5erk7pXfhHc31dL4L2/E9wdHu4pOe5a29slz5S2HRrbBo2Y2pYg5TeOMWEyKf4vwkbdoxVHTNJgg7KeBTwcesBk6FHmhh1ds9K+mL0NwLGhV20JILvHSy/cV4D1oTfuNqADeKKvr+88733PyPsuWrRIOe0GzxgwBowBY6ARA9++7zf839vkHS04/fj9+LMD5Pu+HTEMzJ49O+b5HnMpixlHBrImSSbXvxGeW7RuK3Bo6MFqtHfkqcB7gXnhTcevhnNlGPJ3YbFX2RbpTEBW5r8Y+FbYJmkIkCFIGfv/0Y72qrSesHi1aP22pBGXRkzWuxOvdeNq4nHVce7qeS5JbwGXeM8nPnf2kR/TaCw0tg0aMWVTYHGis5qwzwHvGUGPTKKXCfeNTJjc68qwCbhc4rBgqGSYUgyWzBWTFYrFiMlxBXA2IF995O1I2bNSjncDXxgtRWbC4sWrtaJqxKURkxmLeK0bVxOLqwXLVx3ovL/D4XbxcF1/b1en1cH4HGrlKr4ExYnMYsJkuPAHQB/wBuDHwAPAZ4IJ2xZJm7w6LG+ojDbPTHrbZMd5MXe1x65hwv4O56eZCYvMAqC1omrEpRGTGYt4rRtXE4erju4v7+Z8aUAWUpUJ9+mzuxy9/pIFg1YH43Oolav4EhQnMqsJk6HAvwPESMkaXh8G/gd4S5jj1XbmzITFp0BrRdWISyMmMxbxWjeuJgZXc8++dOpLdt91g4PjPP6xoWTa3JsuOLXyBr3VwfgcauUqvgTFicxiwiT2OuB1wPuBL9fQtL/UEQ20mQmLz4LWiqoRl0ZMWh9MxpXVwXgGnh/ZsWzl1c65pXg2p2ly7LpPdd5djTBdxbOqlav4EhQnMosJE1ZkYvw7gMsAeWVY1v76xzCJXpaVaPthJiw+BVorqkZcGjGZCYvXunGln6uTuld9CLiwspVQ4k/pX7HkhlrUVgfjc6iVq/gSFCcyqwkT4yULqspSE3LIAq6y9pfME2u0llgurJoJi6dZa0XViEsjJjMW8Vo3rnRz1bFs9Yng1zuHSz3L1/V1bbc1ndXB+Bxq5Sq+BMWJjDVhsnr94vDft8OEfGHpRcCbIt+OzIVVM2HxNGutqBpxacRkxiJe68aVXq7mL19zSMmnsizRzt77a/r7lrytHlqrg/E51MpVfAmKExlrwmThVNlUu94he0DKchPWE7YD3WisFBox2cMyW+OjMYcaMZmudOpq/vI1e5R8eQDc3h5u+9UTT80b+NI7675pb7qKz6FWruJLUJzIWBMmjMjK+bKA6tVh6yH5LEejlfJzZdN6wuLp1lpRNeLSiMmMRbzWjSt9XM1/z7rppZ02ycjKkeAf8aSH9feePup6k1YH43Oolav4EhQnMsaEidmSjbbvDRPz9wJqd1GdFnrJWr47/VjSYCYsnjWtFVUjLo2YzFjEa9240sdVR/eqNQ5kj7k/lF1y1PoVnfftCKXVwfgcauUqvgTFiYwxYdUNvGVZChl2PKMOPTEbeOfCqpmweJq1VlSNuDRiMmMRr3XjShdXJy1b/VGc/yT41PtkQX/fYnnha4eH1cFGDP3x71q5ii9BcSJjTJiwIRtpS0/XVEB6vkYej47oHWsbg2bC4qnXWlE14tKIyYxFvNaNKz1cdSxfudB5998VRJ733djXJdNcGh5WBxtS9FyAVq7iS1CcyFgTVmVEthSSN1fkjUg5vgv8G/C4FsrMhMVnQmtF1YhLIyYzFvFaN650cLXgQ2sOT5L0dhwzgctv7O06KxaZ1cFYpvTuLhBfguJEZjVh9TbwlrcjDwU2a6DNTFh8FqxRM67iGYiPNF0ZV/UYOPHD1+81Jd064HB7ec+GWQ8lb7zuus5yLFumq1imzITFM9X+yCwmrLqB9zeAc4PpOglYO/x2C3e2vzhgJiw+C9aoGVfxDMRHmq6Mq5EMHPP+NTN3n5be7hyH43m4PHPo8PU9SzfFM6XXWGjUu0ZMWXJdpNgsJkzekvwacAtwfiDpVYCYsjnAqK8W50mombB4trVWVI24NGKyIbZ4rRtX7eTKu47uVV9xuIUev8k7d+S6FV0PZENkJiwLX1rbqyxlKEpsFhMmnMgEynOAK8PWRe8B9gRki4ldARmuvL+d5JkJi2dfa0XViEsjJjMW8Vo3rtrHVUf3qn928BE8Ze/dG/svXLwhG5rhaKuD8axp5Sq+BMWJzGrCLgfO3AE9fxYWcm0bg2bC4qnXWlE14tKISeuDybiyOlhloKN71SIHa+RzCmet6+2SZ8iYDtNVPG1auYovQXEis5owWZ5iR+e0ffV8M2Hx4tVaUTXi0ojJTFi81o2r/Lk6uXvVkann284xHc/FN/Z1vS8biudHWx2MZ08rV/ElKE5kVhO2L/CPwD8DnwTk9WJZsuIaLZSZCYvPhNaKqhGXRkxmLOK1blzly9UJH1m599SyG3Cwh/fc1D/z/gX09KTZUJgJGytfWtursZZnMp+XxYRJrEzKPzAYsEsDMU8DMkH/EQ1EmQmLz4LWiqoRl0ZMZizitW5c5cfV8T1rdt5pS/p9B4d4uO+ZGclRt/Z0/iEbgu2jrQ7GM6iVq/gSFCcyiwmTJSp+BLwV+GvgHcBRwNfDv+/QQJuZsPgsaK2oGnFpxGTGIl7rxlVOXPX0JB2b56xzjhM9/sltJQ67+fwlLfmCbnUwPodauYovQXEis5iwGcBAWCFfDJisC/Z54C5bJ6yxYDRWCo2Y7GHZWEu1ERpzqBGT6SofXXV0r7rIwQe899vSJJm3fsXi27LdefRo01U8k1q5ii9BcSKzmDBhpQc4L9CzpGa9MFsxv4FmNFYKjZjsYZmt8dGYQ42YTFfjr6uOZauXOuevljt5797W37e4pXOFTVfxOdTKVXwJihOZ1YQJM68Nm3X/MEzKlwVcZQNvFYcNR8anQWtF1YhLIyYzFvFaN67Gl6v5y1cfl6TpBufcVDy9N/Z1Lc92x8bRVgcbc1SN0MpVfAmKE5nVhEl8J3A6ICvo3xqGJzNtPzGe9JoJi2dXa0XViEsjJjMW8Vo3rsaPq5M/uGbfdEpZ9oTczeNv6O/tOgWcz3bHxtFWBxtzZCYsniMtkVlN2MeAj48AL2P+xwNDGgplJiw+C9aoGVfxDMRHmq6Kw9X8nmt2SbZMucPBgd5z9xNbk2O/+9nOzfEMxEeariY+V/ElKE5kFhNWnZj/ZeAiYCtQ3cD7sPDmZCPmpPdsH0BeV/71KMF7ALsAPxth7GRpDLnn/+7oJmbCGqXgj3+3Rs24imcgPtJ0VQyuFi1aU3p2v/RrzjHP4x8bSqbNvemCUx+LL322SNNVPF9auYovQXEis5gwWaLiB4DsFymbdsvxyrCH5NHA9xvQNgu4Gbgn9JzJYq+rRpyzALgKuBZYCMwFngL+I8TtHIZB3wyU693PTFi8eLVWVI24NGKSTGvEpRGTcRXfLsRy1dG96hIH7/aeQZ8mR6/7VOfd2e6SLdp0Fc+XVq7iS1CcyCwmbCogQ4/Sk/WB0Jv1XuCQsFjrbxvQdhowB5AhTTF0DwEHANX5ZNLTdi9wDPCbsFG43PPnwKvDeYL3ROBbwLNmwpoTqtaKqhGXRkyxD8vmVJL9bOMqnrOJytWC7lXvSOAyKamHzv7eruviSz22yInK1dhK29xZWrlqrlST8+wsJkwYEDMkq+bvWUNH7LZFK4C1wO1h/0m5zlKg2n39cuAm4DWhl+s44ATgx8CVwAvCPV8PbBgtHdYTFi9UrRVVIy6NmMyExWvduGodVx3nrp7nnP8ajpL3nNff1/WJbFcfW7TVwXjetHIVX4LiRGY1YcKMbOK9P1ACfgE8GUnXjWFSv6ysL/eVoUh5jVl6xOQ4GJCtkGSSv+wxJp/fBXwbkB63NwXzJ8Oes4HH+/r6zvPey9plzzsWLVoUCcnCjAFjwBgwBmIZ+M1TW7jov+5lcFvKYfvuxt+9QR4FdmhkYPbs2WN5vmssyqTGFJMkGSYU4yM9VPUOGTqUYcZGZkw2+3449KTJNWVumMwlq54nQ5TSw3VsmJAvi8G+FPgdIHPBZHV+OVYCnwHqbpNkPWHxetX6bUkjLo2YJNMacWnEZFzFtwujcdXR/eXdnC8N4NhX2t/yM7u8bv0lCwazXXns0aareO60chVfguJExpowmYMlPV9yHBF+ynZFcrwwLODayISdGnq05gH7AV8FZKV9GYYUoyVzvGRbpDOD6bs4zP2Sifl/F4Yuq29Nyry0uvczExYvXq0VVSMujZjMWMRr3bhqjqvKm5Cz0286OA78I2VXmrt+Refj2a7aXLTVwXj+tHIVX4LiRMaYsFo2qstU/CvwhYw0yb1kbtcZ4bzqshYyTHlBmCsmBk+MmBxXAGeH1fnlfn8ffv92oLI1Rr3DTFh8VrRWVI24NGIyYxGvdeOqOa5O6l4lk/Blz+A/lF1y1PoVnfdlu2Lz0VYH4znUylV8CYoTOVYT9lng8jHSJJP6pddL1gqrd8hSFjL8KMOctYf0gsmyFM/s6L5mwuKzorWiasSlEZMZi3itG1dj52pB98r3J7jPeC8vQrr5/X2L5QWq3A+rg/GUa+UqvgTFiYw1YTI3S2LlDcVvAl8M2xVND1Q9EibTt505M2HxKdBaUTXi0ojJjEW81o2rsXHVsWz1ic6l68AlwLk39nZ9KtuVWhdtdTCeS61cxZegOJExJqy6plftshS1DD0dFm19QgNtZsLis6C1omrEpRGTGYt4rRtX2bl69+UDryr5VF7K2tl7f01/3xJZjqhth9XBeOq1chVfguJExpgw2WpIJsZLr1e9TVllyQpZWmKHw4R5UWomLJ5prRVVIy6NmMxYxGvduMrG1T33/sR/5Oq7HgG3t4fbfvXEU/MGvvTObdmu0tpoq4PxfGrlKr4ExYmMMWETig0zYfHp0lpRNeLSiMmMRbzWjat4ruaefenUow566dafP/6MfO1+2Lvy3P7e0xu9/R5/gzFGWh2MJ04rV/ElKE6kmbCccq2xUmjEZA/LbILUmEONmExX8brqWLbyaufcUo/f5J07ct2Krgfizx6/SNNVPLdauYovQXEizYTllGuNlUIjJntYZhOkxhxqxGS6itPVSd2rl4O/wDlIy+71/RcuHnWLuLgrti7KdBXPpVau4ktQnEgzYTnlWmOl0IjJHpbZBKkxhxoxma4a66pj+cqFpO4rzuFOPfYV/O3CY1U9H0xXjXNYjdDKVXwJihOpqpK1gnabExbPotaKqhGXRkxmLOK1blztmKsFH1pzeJKkt+OYKWtAXnzWke/Qtveg1cF4vWvlKr4ExYk0E5ZTrjVWCo2Y7GGZTZAac6gRk+lqdF2d+OHr95qSbh1wuL28Z8Osh5I39vbOHTITFlcXNepdI6Y4NosXZSYsp5xrrBQaMdnDMpsgNeZQIybTVX1dzX/PuunJrE3fc47DPTyQzhg6cn3P0k0ac6gRk+kqW3tl0dszYCYsJ1VobEA0YrJGLZsgNeZQIybTVX1ddXSvWuNgkcc/mQyV5q69qPNh48rqYDYGLLoZBsyENcNehnM1Ppg0YrIHQAZRARpzqBGT6Wp7XZ3UvbIH3Hne+21pksxbv2LxbdUojTnUiMl0la29smjrCWubBjQ2IBoxWaOWTaIac6gRk+nq+brq6F61yMEa+a337m39fYuvqY3QmEONmExX2dorizYT1jYNaGxANGKyRi2bRDXmUCMm09UfdXVy96ojU8+3nWO6h0/393Z9cKTqNOZQIybTVbb2yqLNhLVNAxobEI2YrFHLJlGNOdSIyXQ1rKsTPrJy76llN+BgD++5qX/m/Qvo6UnNhGWrd9ZrOHa+7MznM2BzwnJShMYHk0ZM9rDMJkiNOdSIyXQFx7x/zczdp6d3OjjEw33PzEiOurWn8w/1FKcxhxoxma6ytVcWbT1hbdOAxgZEIyZr1LJJVGMONWIyXXnX0b3qKw630MPj20p+7s3nL3lkNLVpzKFGTKarbO2VRZsJa5sGNDYgGjFZo5ZNohpzqBFT0XXV0b2y1+GWec9g4njd2t6uO3akNI051Iip6LrK1lpZdD0GbDgyJ11obEA0YrJGLZsgNeZQI6Yi66pj2eqlzvmrhQMPnf29Xdc1UpnGHGrEVGRdNdKQ/T2OATNhcTw1HaWxAdGIyRq1bFLTmEONmIqqq/nLVx+XpOkG59xUD+f393Z9NEZhGnOoEVNRdRWjIYuJY8BMWBxPTUdpbEA0YrJGLZvUNOZQI6Yi6mr4TUjucbjdPP6G/t6uU8D5GIVpzKFGTEXUVYx+LCaeATNh8Vw1FamxAdGIyRq1bDLTmEONmIqmq+N71uy805b0+5U3IT13P7E1Ofa7n+3cHKsujTnUiKlouorVj8XFM2AmLJ6rpiI1NiAaMVmjlk1mGnOoEVOhdNXTk3RsnrPOOU70+MeGkmlzb7rg1MeyKEtjDjViKpSusgjIYqMZMBMWTVVzgRobEI2YrFHLpjONOdSIqUi6OmnZqn/B8V48m9M0OXbdpzrvzqYq25M0C18a9a4RUxZOixSbtwmbAuwDyAKBvx6F6D2AXYCfAUMjYvYCfg+M2q3e29vru7u78y5XQ81orBQaMRXpYdlQNBEBGnOoEVNRdLWge9U7ErjMezyJP6V/xZIbImS0XYjGHGrEVBRdjUVDdk4cA3malVnAzcA9wPHAJ4FVI2AuAK4CrgUWAnOD6ZKwlwDSpX4M8L3RimcmLC7xWhsPrbjsAWC6imcgPrKVuuo4d/U85/zXcJQ8fLS/t+v8eCTPj2wlrrFiGHmeRkzWXrUqu8W9Tp4m7DRgDvAxYCfgIeAAYFOgfwZwbzBZvwHOAaYCnwYS4OvBvB0J3GkmrHnRWqMWz6FxZVzFMxAf2SpdnfzBNfumU8p3O9wuHq7r7+3qjEexfWSrcDWDwUzY2NnTmL+xl2Zyn5mnCVsBrAVuB+S+twBLQ++WsPxy4CbgNUAZOE72mwXOC8ZNVnieD8iig6Ou9mw9YfGC1VpRNeLSiMm+hcdrfTJzNb/nml2SLVPucHCgtI3lZ3Z53fpLFgxmY8d6wsbKl8a2QSOmsfI72c/L04TdCHw8GCi5rwxFLg89YsLzwcClobcrDZ/fBVwPnA6cDawEPlM1YX19fed573tGJmnRokWTPW9WPmPAGDAGSFPPF9b9hAcfe5oX7jSVD73lUHaeIVNv7Sg6A7Nnz87z+V50usdc/jyTdBbwcOgBk6FHmRt2NPBkQC9DlBuAY8OE/CXAS4F5QAcgQ5R7hliZK3ZXvVJbT1i8FrR+W9KISyOmydy7E6/i+EiNOWwW00ndqy4D3iEvO5VdctT6FZ33xTMyemSzuFqBYeQ1NGKyOjgemS7WNfM0YacC7w2maj/gq8ChYRjyd8CzwABwJvB94GLgW2EumMwNkyHKNcC/ANKrVnflZzNh8QK2Rs24imcgPtJ0lQ9XC5avPCfx7mLwqffJgv6+xTKdoyWHxhxqxGQmrCVyK/RF8jRhcq8rgTMC44cBPwqG6oIwV+yIYMQk5IowBClDk9VDhiu/CIy67o2ZsHg9W6NmXMUzEB9puhp/rjqWrT7RuXQduATPB27s65JpGi07NOZQIyYzYS2TXGEvlKcJq5IsQ4rS6yVrhdU7ZCmLncPwY+bEmAmLp8waNeMqnoH4SNPV+HK1YPmqAxNfGTXY2Xt/TX/fkrfF3zEuUmMONWIyExanJ4sanYF2mLBxzYeZsHh6rVEzruIZiI80XY0fVx3dX97N+dIAjn093ParJ56aN/Cld26Lv2NcpMYcasRkJixOTxZlJqztGtDYgGjEZI1aNqlqzKFGTJNBV3PPvnTqS3bfdYOT5Xs8D3tXntvfe3r1xaZswmkQrTGHGjFNBl21VDh2scwMWE9YZsrGdoLGBkQjJmvUsulLYw41YpoMuupYtvJq59xSj9/knTty3YquB7KpJT5aYw41YpoMuopXhUWOBwNmwsaD1TrX1NiAaMRkjVo2QWrMoUZME11XJ3Wv+hBwIZ6y9+6N/RculuV8xu3QmEONmCa6rsZNQHbhaAbMhEVT1VygxgZEIyZr1LLpTGMONWKayLqSNyHBr3cOl8JZ63q7Ls+mkuzRGnOoEdNE1lV2VdgZ48GAmbDxYNV6wppiVWNjqxGTPQCyyUxjDhthmr98zSEln8q6iTt7zyX9fV2yp+64H41wjTuACdKGWh1shxIm1z3NhOWUT2vU4ok2royreAbiIyearuYvX7NHyZcHwO3tPRv6Z97/Bnp6atdNjC98xsiJxlXG4rU03LhqKZ2Fu5iZsJxSbhU1nmjjyriKZyA+ciLpav571k0v7bTp28CRHh5IZwwdub5n6ab40jYXOZG4aq6kzZ9tXDXPYZGvYCYsp+xbRY0n2rgyruIZiI+cSLrq6F61xsEij38yGSrNXXtRp+y7m9sxkbjKjZRRbmRctTsDE/v+ZsJyyp9V1HiijSvjKp6B+MiJoquO7pX/5HCf8N5vS5Nk3voVi2+LL2VrIicKV60pbXNXMa6a46/oZ5sJy0kBVlHjiTaujKt4BuIjJ4KuOpavXOi8+28plffubf19i6+JL2HrIicCV60rbXNXMq6a46/oZ5sJy0kBVlHjiTaujKt4BuIjtetqwYfWHJ4k6e04ZqaeC9f1dS2LL11rI7Vz1drSNnc146o5/op+tpmwnBRgFTWeaOPKuIpnID5Ss65O/PD1e01Jtw443F4ef0N/b9cp4Hx86VobqZmr1pa0+asZV81zWOQrmAnLKftWUeOJNq6Mq3gG4iO16mrp5wdm7T4tvd05Dvdw3xODyWu/+9nOzfEla32kVq5mz56t7pllXLVef0W6ojpBN0t+b2+v7+7uVlcuq6jxmTWujKt4BuIjNerqwQd/6t97+Q9ucLiFHh7fVvJzbz5/ySPxpRqfSI1cacQk7GvEpRHT+Ch14l9VnVlpllIzYfEMaq2oGnFpxGQPgHita+Xqc6u/5W/+4aN4z2DieN3a3q47spVqfKI16l0jJq260srV+Kh1Yl/VTFhO+dNYKTRi0tioyYTp9yw84IeXrN14gnOlxCWUUnxCSilxwz9TlyQ4Ss5TcvI3T8nLz8TVfHaV31d/l1Zj5TySxJOW5O8OV7mWh0q8k3tUrjf8++EYEqA0d//d337nT3+3svK5GoOcQwlIvNwPnwx/donHV34Kzh3do3o9uUelHBWMI+4hn4fvM6tBNXq2svE0yGrvZYdPceGzl8+yJSLl5/8uxHhXiXVyrlzDUQafOlzlp/fy2aVOft/gHkcd9KK3f/+B315ewVG5b6N7JGVPOnxfXJpU7+EJmKrlcCmpHy6HxDjKqfzbU058mpJQTqUcCeUEl/q0Wtb01QnuM8Pc+a4be5eszqk5angbjW2DRkwa2yutmBqKrqABZsJySrzGBkQjpnY1IKe8779eODRz28G+XD7EJe4g7/0hDncIjn1zkojdprAMuJ4bexd/XFPxNbYNGjG1q71qpBWtXDXCXcS/mwnLKesaK4VGTOPdqM0/9/qXJ8nQHOf9qzwc5BwHgz8Y3It3IIUH99/rBfs/+Nimb2TpecnSu+PwQ8MdV9l6Xpa+fr8rr7n1oaWj9bxIr4v0vgz3JqVDzpXkVynyP96lUxLK8n9lkkpPTYmhyk/57IcoT/FJSomyn0J5my+lfqsrT/db0nSqLw/6qenQTMqDT1GunUheq6tj3r9m5vRdKU3ZTGm625Yk21xp0M1I3DRfmurKiRuitE1+ll2pRDlxU1xJehbLTKn0MJZIE0qUys4nTnoe5f8TSt6XnSeZIr1/0ispvZPSAyk9fCnJcA9i6AFMQ0/i6X+x71Urv/nw2cM9gMO9ktUexT/29g2fK5+lB9Ljpsh1Uh96NCu9nS7xoaexep/w+fm9hbW9hwFDtZdz+B4kr3vVnvO63/56de2wxrZBI6bxbq/G+njSytVYyzOZz1NX+Zsl2+aExTOotaI2i2vRojWlza/ctp+fkhyMF5PF8E/HHIfbpS5DHnkb7QEPG5H/HBtJ2DhrWvLAdT2dW5vFFJ+VbJEacWnEZA9L01U2BuKjNepdI6Z4RosVaSYsp3xrrBQaMWV5WB7fc9WMWc/sNIeSP9h5P4dKrxYHOzgQmFYvtbIXH16MltuIcxvx6f24dGN/72kP72hdponOVU4yr9zGuIpn27gyruIZiI/Uqqv4EhQn0kxYTrnWWCk0Yqr3EJf5Wtumbzmk0puVODFZoWfL7yOTzOubLX5Z6dGqGC42Ouc3JonfeMMFp/16LCmfKFyNpWytPse4imfUuDKu4hmIj9Sqq/gSFCfSTFhOudZYKbRhkvlajsGD3/rnr7z5+tt+/sWG87WG35b7qRgtF4YRnWOjS2fef8OFb3q6lanVxlW1bBpxacSktYfOuIqvpcbVxOcqvgTFiTQTllOuNTYg7cAk87We2T+dTTo8dJhIr5YMI3pkOPEFddPh2ezhJzg/3KuVDvdsPfrk0w8MfOmd2/JIYTu4iimXRlwaMZkJi1HTH2M05lAjJtNVNl1Z9PYM5G3CpgD7AH8ARhsW2gOQydM/A4YCZDlvNrAl/H7UXNrE/HiZj2ejJm/FvXB6eU6pOjEe5lQmyDt3wKjztTxPyIT4Yw560XHfu/+3HyjDRu/8xq/2dv2snfvoaW1oteIaT13Fq3v7SI24NGIyXWVTmcYcasSUjdXiROdpwmRBx5uBe4DjgU8Cq0ZQvQC4CrgWWAjMBQTjrcB3gJcBvwPOrrz+X+cwExYv3lZU1I7uL++WuimHOO8PToLh8sM9W/s4V8ldncM/UpkYj79/eL5WaePgtikbb77oLb+xB0B8/owr4yobA/HRrWgb4u8WF6kRk9XBuNxZ1OgM5GnCTmO4N+RjwE7AQ4D0imwK8GYA9ysQ2AwAABdCSURBVALHAPIwPgeYGv6+dzhPJmH/EFgkywmMZsK+88R+R6Werc6lgyTlQVeaOui2DA260k6DrZ4rFCsujQ1IFkwnL1vzirIfOsiRvIrkueFDmSQvPZf1rZbkaMR8radnJBtv7emUntBRjyy4YvlvNk4jJnsAZMuqxhxqxGS6Ml1lY8Cim2EgTxO2AlgL3B56t24BlgKPhQK8HLgJeE3o5ToOOAH4tGy/Avw+mLaBMKT55Kgm7PevjOPE8zT4QWAruEGcH8S7QY8fdI7NeDeEo/JZfl/5u8RV4hnEh8/y+9QNkrCV1A/ikuFY5we991sT3Jb3LTxkw2dv+MlrSdJBt608mE6bsZWtYhC3DSYzdhlc23Pys3GgWxdV7wFw8vJr51AuzUldekhl+DAMIzrnxDhvfwyvrxV6tZKNuPRe5/0Da/tOE0M9pkPjg0kjJntYZpOXxhxqxGS6Ml1lY8Cim2EgTxN2IyBbc8gGtXJfGYpcHnrEpAzywL80DFXKXnLy+V2hR0zizwQuA/46mLW65ZbhyG8/uc+d4KY7mOYd08FPx7vKz1HNRDMstvLcYVPznCEUk+idG3SerVUTKJv9Pt8QBpMYznOwxeO2/dEkSrwb9NI7WDGJw0bx7fP2+9p/bvjp+c5Ts3p8/cLI+lrOcy/O3S+9W6lL70tx93+1d8n/trL49gDIxqbGh7hGTKYr01U2BuKjNepdI6Z4RosVmacJOwt4GJAeMBl6lLlhRwPVHi3padkAHBsm5C8BXgp8Hvg68GgwZTInrHL09fWd573vGZmyRYtktHLHx7ZyylDZD/+XppQrP+Xz8O/L4d/VuHI1Pk0rcZX4SlzK1iE5p7IPTLjmcMzw9Yf/Vr1P9Z5yXu395d8ajhfuNJUXv3AmL9ltZvg5gz13nckLZsq7EXYYA8aAMWAMTAQGZs+enefzfSJQohJjnkk6FXgvMA/YD/gqcCggw5BirGQ4ToYapcfr+8DFwLcAcSd/A3QFBmWe2FOjsTnRJ+af8MH/3MmVZ0xnZmm6S7dOJy1NTxzT8OXpvpRML/l0atm7mVO8m16W3ydppZcv8X669P6lMC1x0us3/PtKL6B89kzDVXsEmS7/fvU+u73+R//75AU+4X7KbBxKt228+aK3P9NupWr8FqcRk/XuZFOqxhxqxGS6Ml1lY8Cim2EgTxMm97oSOCMAPgz4ESDDlBeEuWJHBCMmIVeEtyDPBWQ+WfWQSfsywX/UOWHd3d15liuKf42NrUZM9gCIktNzQRpzqBGT6cp0lY2B+GiNeteIKZ7RYkW2w6zsGXq9RntDTpay2Dm8IZk5GxO9JyxzgZs4QWtF1YhLIyYzFtnErzGHGjGZrkxX2Riw6GYYaIcJawZvw3PNhDWkSHUvij0A4vNnXBlX2RiIj9ZoDjVisjoYrymLrM+AmbCclKGxAdGIyRq1bILUmEONmExXpqtsDMRHa9S7RkzxjBYr0kxYTvnWWCk0YrKHZTZBasyhRkymK9NVNgbiozXqXSOmeEaLFWkmLKd8a6wUGjHZwzKbIDXmUCMm05XpKhsD8dEa9a4RUzyjxYo0E5ZTvjVWCo2Y7GGZTZAac6gRk+nKdJWNgfhojXrXiCme0WJFmgnLKd8aK4VGTPawzCZIjTnUiMl0ZbrKxkB8tEa9a8QUz2ixIs2E5ZRvjZVCIyZ7WGYTpMYcasRkujJdZWMgPlqj3jViime0WJFmwnLKt8ZKoRGTPSyzCVJjDjViMl2ZrrIxEB+tUe8aMcUzWqxIM2E55VtjpdCIyR6W2QSpMYcaMZmuTFfZGIiP1qh3jZjiGS1WpJmwnPKtsVJoxGQPy2yC1JhDjZhMV6arbAzER2vUu0ZM8YwWK9JMWE751lgpNGKyh2U2QWrMoUZMpivTVTYG4qM16l0jpnhGixVpJiynfGusFBox2cMymyA15lAjJtOV6SobA/HRGvWuEVM8o8WKNBOWU741VgqNmOxhmU2QGnOoEZPpynSVjYH4aI1614gpntFiRZoJyynfGiuFRkz2sMwmSI051IjJdGW6ysZAfLRGvWvEFM9osSLNhOWUb42VQiMme1hmE6TGHGrEZLoyXWVjID5ao941YopntFiRZsJyyrfGSqERkz0sswlSYw41YjJdma6yMRAfrVHvGjHFM1qsSDNhOeVbY6XQiMkeltkEqTGHGjGZrkxX2RiIj9aod42Y4hktVqSZsJzyrbFSaMRkD8tsgtSYQ42YTFemq2wMxEdr1LtGTPGMFivSTFhO+dZYKTRisodlNkFqzKFGTKYr01U2BuKjNepdI6Z4RosVaSYsp3xrrBQaMdnDMpsgNeZQIybTlekqGwPx0Rr1rhFTPKPFijQTllO+NVYKjZjsYZlNkBpzqBGT6cp0lY2B+GiNeteIKZ7RYkWaCcsp3xorhUZM9rDMJkiNOdSIyXRlusrGQHy0Rr1rxBTPaLEizYTllG+NlUIjJntYZhOkxhxqxGS6Ml1lYyA+WqPeNWKKZ7RYkWbCcsq3xkqhEZM9LLMJUmMONWIyXZmusjEQH61R7xoxxTNarEgzYTnlW2Ol0IjJHpbZBKkxhxoxma5MV9kYiI/WqHeNmOIZLVZk3iZsCrAP8Afg16NQvQewC/AzYCjExJxXCe3t7fXd3d15l6uhajRWCo2Y7GHZUErPC9CYQ42YTFemq2wMxEdr1LtGTPGMFisyT7MyC7gZuAc4HvgksGoE3QuAq4BrgYXAXGBrxHnPXcZMWLyAtVZUjbg0YjJjEa9148q4ysZAfLTGtkEjpnhGixWZpwk7DZgDfAzYCXgIOADYFCifAdwLHAP8BjgHmAo81uC852XMTFi8gLVWVI24NGIyYxGvdePKuMrGQHy0xrZBI6Z4RosVmacJWwGsBW4H5L63AEuDyRLWXw7cBLwGKAPHAScA0xqcZyZsjJrVWlE14tKIyYxFNuFrzKFGTKYr01U2Biy6GQbyNGE3Ah8H7ggmTIYil4ceMSnDwcClYagyDZ/fBew32nl9fX3nee97agmYNm2a37p1a57laoZ/O9cYMAaMAWPAGGgpA3vsscfQmWeeKSNJdihnIE+zchbwcOgBk6FHmRt2NPBk4EiGKDcAx4YJ+UuAl4bhyh2dNyF6wjQOk2rEJMnUiEsjJuMqW+uqMYcaMZmuTFfZGLDoZhjI04SdCrwXmBd6t74KHBqGIX8HPAsMAGcC3wcuBr4F+FHO21yv4NaoxcvBuDKu4hmIjzRdGVfxDMRHmq4mPlfxJShOZJ4mTO51JXBGoPcw4EeADFNeEOaKHRGMmIRcAZwdTFi98+pmySpqvHiNK+MqnoH4SNOVcRXPQHyk6WricxVfguJE5mnCqqzuGXq9ZK2weocsZbFzeEOy9u+NzqvEWkWNF69xZVzFMxAfaboyruIZiI80XU18ruJLUJzIdpiwcWVXJusvW7ZMXgBQdWjEpRGTJE0jLo2YjKtsVVxjDjViMl2ZrrIxYNHNMDDpTFgzZNi5xoAxYAwYA8aAMWAM5MWAmbC8mLb7GAPGgDFgDBgDxoAxUMPAZDZh9fagrE3+C8ISGI8CT7dQFY32uZTFZ2fW3O+Zmj0yWwij7qWEE3kTVdZhG3k0wj1e2OS+slfoE3Vu0C6u9gJ2BX45ijbawZXcczawJeyrOpKudnEliyxPH7HXay22dnAl9etlIXf19qhtF1fCi/Dx4qAtLXVQcIjmfw+MfOu8HVzF3LMdupJ2qvrMlLf2q7u9VPMYg3us7eiLAPnvVyFPmrQz1jLZeTWCmmxk1NuDUhqY6rFvWCT2QuBcoPqmZrM8xOyPKeuf/UtYL002M5cFaX/c7I0bnC+Nw97AurAt1EjDE4N7PCCK0VkUHkrn17lBO7jqBC4Jb/J2A6+teWNXILaDq92AW4HvBHMhRlreHJadJapH3lzJw0gWWz4FuA2Qbclkr9df1GBqB1dSt78HXA3MDz97R2grb65qby+cyU4h1Z1Bqn9rB1fVe78k7FwiW8YJd7VHO7hqdM92cFXdVk+WURIDJmtXfnjEF9pGuMfahsqqAVL/Pw3I4uRHAne2uZ6NtSx23ggGJmNP2Gh7UIqAq8dK4N+AbwJ/Cvx7+FmvhyiLaBrtjynXOg+4Drgvy4WbjH1D2DBddh+Q/TurC+RWLxuDu0kI250uvSdidmQR33cDX6hzg7y5kgWD5a3dPwk9c8KbmDIxPO3kSjgSEy37ribAD4N5faAGVzu4+kH4AjMEiIm+OdSpdnIluZLeghsAMa9iXEcanry5qvLxl+FhKtu3iXmtbW/aUQcFl+jp62GnkpEP93a1V43y0w6upMdXTNf/CSasXnvYCPdY2tDqwuZ/DjwOvDJ8aZW1NNtZz8ZSFjunDgOT0YSNtgelVBA5ZCsH+ebeEURd7WWQb/HyMGnmaLQ/plx7dXiwy7/FjMkD9qlmbhp5rpT7/43YpaB6agzuyNtkDpNFfKVhqTXJ1Yu0gytZCkU2kJe6IQsG/2wEtnZwJcMg8rCU3lzZ9F6+jUsvaq2ZbgdXkiepP28O6/qJyZcegnbqqhR6COWhJQ9rMdXS2117tIMrGe6T3gzp+f18WLS6tiezHboSTsTYy1Zy1V5D+Xe7uWqUn3ZwJfWu9kvPSUB/DlyJCZP6LtMQpEdMOgzkS6tMY2lnPcvc0NsJ9RmYjCZstD0ozwkUSG/H/eHbsTzE5LOszC9bKG1rUiiN9seUeQyfAK4FHgwPd8EiPULjfdTbKqp6z0a4xxPb6YAMh4w0Ye3kSoa0vgI8Agi+WpPcLq6krspuEpcBfx02u6/mpZ1cibn4h9Bb+LbQG6ZBV2IM3wJILqVHUx5icrSDK7mnGLC/CV/0pJdOeuBre8LaoSvpmRN9S++hjA58JhiyduoqJj/t4Oq4MDXhi2E04WvhC1F1XlgM7rG0o9WRnfcBck+ZQiPzHGunb7SDj7GUxc6pw8BkNGGj7UFZfchLmeWblmyh9BiwP3B9i4YjG+2PKSmQ+VlbQy6k+18eXFWDOJ4i3ZEJi8E9XthGM2Ht4kq21foGUO+brmBqB1cydCtDRvISicwhlDlhI4+8dSUveciDScyqHGIMxVhIL0X1aAdX0sMtw7XClfQeyhwnwVY7DzJvruSLoUw/kB1CZGhUjjWAzCGqGrG8uZJ2UIZFhS/p+ZUeYDlkROCumhzmzVVMvc+bq5GYhDtpI+RL0UPjzFW10+CgsMi5jBr894jnVTv4GK/nQeGuOxlNWLX7duQelDIpXbqUZePwS0PXshgzmZshE/lr5/2MVQiN9seUCZ0yvCXDNr8NDyx5A0+GJ8b7GGnCZHJrlY/RcNfdn7PFQEeaMMEkJqMdXFW/dcowlgwBCEdimOVh3k6uJD/Si9IVuJehZemdaydXMuwvHFXnGL4/8CQ9Be3kSoaQ7wW+FN74uztglDfL2qUrMTIybCs97a8CLg8vyEjvXDu5EkyiJRkWFVMoLwxJr4p8MW0XV4KpXhspW9e1k6t/Cr2pnwr7HYv2BY+86TqeXEkP2+3hy5fcUzoP5Hfy7JIXyjYCJ2fZX7nF7bddrkkGJqMJE0rq7UEpr/fLt3b5Jrp7GB44JHyTkW9/tW9PjpXWmP0xZWJn1XTJt3T5JlpveYaxYhjtPDEYMpnz+DCXSBqQKh/ybTx6f84WA3trmN9U7ams3Us0b65kWQPpBaj2CkhRZf6FTDhvJ1fylmZtD5P0XIj5kTcAq/uu5s1V9e3I6rCI9AhIz5gs/dJOrsRAyJzPag7fEeartVNXtVVG8MmQ8l+FJUfayVUtLvliKgZaTGu7uaqnZXlZpp1cyZcOeZFLvkDLIUPd/5UTV7XPM6lnx4YvYWJWpZdVptW0q/1u8eOgeJebrCZMMjnaHpTVLMsEXjFjIuBmJ+SPVE6jfS4Fm5iiPMxXFlU3wp3lWq2KNa7imWwHV/LSgHwz35GW89aV1G1Z/mRwxATmWibbwVVMJvPmKgZTO7iKuWc7uJKeOhkhqM4xHMlfDO4YzkfGVNcg29FLXO3gYyxlsXNqGJjMJswSbQwYA8aAMWAMGAPGgFoGzISpTY0BMwaMAWPAGDAGjIHJzICZsMmcXSubMWAMGAPGgDFgDKhlwEyY2tQYMGPAGDAGjAFjwBiYzAyYCZvM2bWyGQPGgDFgDBgDxoBaBsyEqU2NATMGjAFjwBgwBoyBycyAmbDJnF0rmzFgDBgDxoAxYAyoZcBMmNrUGDBjIIoBWX39wDobQu/o5OpmxCO3qIm64Q6CxoKl2Xva+caAMWAMTFgGzIRN2NQZcGOgwoBsZyQLpn5hxIbQO6JH9p97GJC9S+9sIY9jwdLC29uljAFjwBiYWAyYCZtY+TK0xsBIBmRbHtnk9xLgL8IG4z8BZOsX2WtONod/MGz4KzEzw/YrstejmDCJkWvIXotPAxeFPQT/HPh74H1hay/ZX1U+/wPwi1HSUItFMH0EWAZ8DfgssB6Q+4pp/GTYt1Awye9lC5jRDum56wPeHK4lWyXJFjJ7he2cxPzJNT4U9o2UFfxlqye5h2wRJivny1ZPUrbqhtmmJGPAGDAG2s6AmbC2p8AAGANNMSBDgLJdiRgU+e+6YEhWA/8OrAVkM/v/F+7yMeDcsAeemDDZL1P25JM9MmX/1GvCv8Xk/DiYuiuAW8LGxbIB9WjbfNVikfvLxuNnAZ3AG8NeiR+uwStbd/0A+NfQk1ePiOoGxrLJtBjKd4YNiw8NmMRgiSmTjeD/EpDfywbsshm1bLYsm69/IPAg/Mh17DAGjAFjQAUDZsJUpMFAGANjZuBzgAwvnhI2FZZhSdncW/ZElX/vDXwG2AAcA8im8bIBsGxyLSbsp+HcqcBhoadLDJls5vytsCekGJ9HgbeHTcNHA1vFIibonrBRdS/wwnDtewExgYJXDJHcUzaVl144wVrvkJgqVuk1k02LxSD+AdgI3AFcCHQAZwDSgye9br8K95CeLzGmsveecGQ9YWOWmp1oDBgDrWbATFirGbXrGQP5MrAjE1b9278B/cDhwRztD/xPMGFiiMSkyHCf9EpdH3rCxBSJmZJzrwL+NrwAIOamkQkTMyTm6NOhl0sM0MvDkOAFwCuCQfoT4PGa+412XcF7cujpelMYNl0YjOWVYYhS7iH/fSeUoWouxXRVzaiZsHy1aXczBoyBBgyYCTOJGAMTm4EYEyZzuX4ZzJb0iklv1PxgwqR3S0zT0cC+wI1hCFGGFmXOlfSAySFDkjK06CNMmAxDSs/bPoCYpaXAP4YeOpmrJfPLuoA3ADI8KT1vo/WE7Qo8EIygmDo5X671umC21gE9waT9U+jtk3ls7wEWAyXgWmANsMR6wia22A29MTDZGDATNtkyauUpGgNiwl4cDMZbgpmpDkfW/k2MkRiR2uO1wPQw3Ce//0aYUyVxMv9KDJdcQwzNX4W/74jf2vvJ3DGZRybz1eQQ0yXzxI4KQ6Lyu/8Ib3eKuRPTN9ohE/4vq/mjDHF+FBD8N9Tc421hTtse4d6vqTnHTFjRaoaV1xiYAAyYCZsASTKIxkCLGHhBmKj+1IjrzQrzs+r9XsyOmJtDwjCg9EDJHK/aHjEZBpT5XvJWZu0hv5fYZ8Mcrurf5PcyYX5LTXCj61Yxyn031ZwnPV3SWyYT9J8Zcf/dw9y4FQG/DUe2SEh2GWPAGGgNA2bCWsOjXcUYmGwMSNsgyz6cGIb/ZLK7HGLGxMyNPGS4c7SlK2K4Ga/ryr2lB056B4+wtyNjUmExxoAxkBcDZsLyYtruYwxMPAZkjpgsI3F/g7lg2ksmLwVIj5m8WWmHMWAMGANqGDATpiYVBsQYMAaMAWPAGDAGisSAmbAiZdvKagwYA8aAMWAMGANqGDATpiYVBsQYMAaMAWPAGDAGisSAmbAiZdvKagwYA8aAMWAMGANqGDATpiYVBsQYMAaMAWPAGDAGisTA/wfFk98PdHuS8gAAAABJRU5ErkJggg=="
     },
     "metadata": {
      "jupyter-vega3": "#947caf96-c17f-4466-ad0c-6634cc666d2a"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# day_map = {0:'Mon', 1:'Tue', 2:'Wed', 3:'Thu', 4:'Fri', 5:'Sat', 6:'Sun'}\n",
    "dat_dow.vgplot.line(value_name='Hospital mortality rate')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>admission_type</th>\n",
       "      <th>ELECTIVE</th>\n",
       "      <th>EMERGENCY</th>\n",
       "      <th>URGENT</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>inday_icu_wkd</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>weekday</th>\n",
       "      <td>0.023732</td>\n",
       "      <td>0.128359</td>\n",
       "      <td>0.108382</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>weekend</th>\n",
       "      <td>0.083650</td>\n",
       "      <td>0.141909</td>\n",
       "      <td>0.145363</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "admission_type  ELECTIVE  EMERGENCY    URGENT\n",
       "inday_icu_wkd                                \n",
       "weekday         0.023732   0.128359  0.108382\n",
       "weekend         0.083650   0.141909  0.145363"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dat_wkd = data.groupby(['admission_type','inday_icu_wkd'])['hospital_expire_flag'].mean().reset_index()\n",
    "dat_wkd = dat_wkd.pivot(index='inday_icu_wkd', columns='admission_type', values='hospital_expire_flag')\n",
    "dat_wkd.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"vega-embed\" id=\"5ee9966a-ba11-4902-afdb-475556325e20\"></div>\n",
       "\n",
       "<style>\n",
       ".vega-embed svg, .vega-embed canvas {\n",
       "  border: 1px dotted gray;\n",
       "}\n",
       "\n",
       ".vega-embed .vega-actions a {\n",
       "  margin-right: 6px;\n",
       "}\n",
       "</style>\n"
      ]
     },
     "metadata": {
      "jupyter-vega3": "#5ee9966a-ba11-4902-afdb-475556325e20"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "var spec = {\"selection\": {\"grid\": {\"bind\": \"scales\", \"type\": \"interval\"}}, \"encoding\": {\"y\": {\"field\": \"Hospital mortality rate\", \"type\": \"quantitative\"}, \"x\": {\"field\": \"inday_icu_wkd\", \"type\": \"nominal\"}, \"color\": {\"field\": \"variable\", \"type\": \"nominal\"}}, \"height\": 300, \"width\": 450, \"$schema\": \"https://vega.github.io/schema/vega-lite/v2.json\", \"mark\": \"line\", \"data\": {\"values\": [{\"variable\": \"ELECTIVE\", \"Hospital mortality rate\": 0.023731728288907995, \"inday_icu_wkd\": \"weekday\"}, {\"variable\": \"ELECTIVE\", \"Hospital mortality rate\": 0.08365019011406843, \"inday_icu_wkd\": \"weekend\"}, {\"variable\": \"EMERGENCY\", \"Hospital mortality rate\": 0.1283588346258646, \"inday_icu_wkd\": \"weekday\"}, {\"variable\": \"EMERGENCY\", \"Hospital mortality rate\": 0.14190893402362936, \"inday_icu_wkd\": \"weekend\"}, {\"variable\": \"URGENT\", \"Hospital mortality rate\": 0.10838150289017341, \"inday_icu_wkd\": \"weekday\"}, {\"variable\": \"URGENT\", \"Hospital mortality rate\": 0.14536340852130325, \"inday_icu_wkd\": \"weekend\"}]}};\n",
       "var selector = \"#5ee9966a-ba11-4902-afdb-475556325e20\";\n",
       "var type = \"vega-lite\";\n",
       "\n",
       "var output_area = this;\n",
       "require(['nbextensions/jupyter-vega3/index'], function(vega) {\n",
       "  vega.render(selector, spec, type, output_area);\n",
       "}, function (err) {\n",
       "  if (err.requireType !== 'scripterror') {\n",
       "    throw(err);\n",
       "  }\n",
       "});\n"
      ]
     },
     "metadata": {
      "jupyter-vega3": "#5ee9966a-ba11-4902-afdb-475556325e20"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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"
     },
     "metadata": {
      "jupyter-vega3": "#5ee9966a-ba11-4902-afdb-475556325e20"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dat_wkd.vgplot.line(value_name='Hospital mortality rate')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Model building\n",
    "\n",
    "Let's try to incorporate what we saw above into a very simple model. We will use logistic regression with hospital mortality as our outcome. First an unadjusted estimate, and then we will try to adjust for admission type.\n",
    "\n",
    "The unadjusted analysis should mirror pretty closely what we saw in the one of the tables above. The odds ratio corresponding with 14.0% and 10.8% mortality in the the weekend and weekday groups, respectively, is about 1.35. Performing logistic regression on the same data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "        <td>Model:</td>                 <td>GLM</td>              <td>AIC:</td>        <td>27416.8526</td> \n",
       "</tr>\n",
       "<tr>\n",
       "    <td>Link Function:</td>            <td>logit</td>             <td>BIC:</td>       <td>-379723.8199</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <td>Dependent Variable:</td> <td>hospital_expire_flag</td> <td>Log-Likelihood:</td>    <td>-13706.</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "         <td>Date:</td>          <td>2018-03-02 10:45</td>      <td>LL-Null:</td>        <td>-13738.</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "   <td>No. Observations:</td>          <td>38557</td>           <td>Deviance:</td>       <td>27413.</td>   \n",
       "</tr>\n",
       "<tr>\n",
       "       <td>Df Model:</td>                <td>1</td>           <td>Pearson chi2:</td>    <td>3.86e+04</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "     <td>Df Residuals:</td>            <td>38555</td>            <td>Scale:</td>         <td>1.0000</td>   \n",
       "</tr>\n",
       "<tr>\n",
       "        <td>Method:</td>               <td>IRLS</td>                <td></td>               <td></td>      \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "               <td></td>                <th>Coef.</th>  <th>Std.Err.</th>     <th>z</th>      <th>P>|z|</th> <th>[0.025</th>  <th>0.975]</th> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th>                   <td>-2.1127</td>  <td>0.0185</td>  <td>-114.2000</td> <td>0.0000</td> <td>-2.1490</td> <td>-2.0765</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(inday_icu_wkd)[T.weekend]</th> <td>0.2992</td>   <td>0.0368</td>   <td>8.1288</td>   <td>0.0000</td> <td>0.2270</td>  <td>0.3713</td> \n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary2.Summary'>\n",
       "\"\"\"\n",
       "                      Results: Generalized linear model\n",
       "=============================================================================\n",
       "Model:                  GLM                    AIC:              27416.8526  \n",
       "Link Function:          logit                  BIC:              -379723.8199\n",
       "Dependent Variable:     hospital_expire_flag   Log-Likelihood:   -13706.     \n",
       "Date:                   2018-03-02 10:45       LL-Null:          -13738.     \n",
       "No. Observations:       38557                  Deviance:         27413.      \n",
       "Df Model:               1                      Pearson chi2:     3.86e+04    \n",
       "Df Residuals:           38555                  Scale:            1.0000      \n",
       "Method:                 IRLS                                                 \n",
       "-----------------------------------------------------------------------------\n",
       "                             Coef.  Std.Err.     z     P>|z|   [0.025  0.975]\n",
       "-----------------------------------------------------------------------------\n",
       "Intercept                   -2.1127   0.0185 -114.2000 0.0000 -2.1490 -2.0765\n",
       "C(inday_icu_wkd)[T.weekend]  0.2992   0.0368    8.1288 0.0000  0.2270  0.3713\n",
       "=============================================================================\n",
       "\n",
       "\"\"\""
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# R style syntax\n",
    "simple_glm = smf.glm('hospital_expire_flag ~ C(inday_icu_wkd)', \n",
    "                     data=data, family=sm.families.Binomial()).fit()\n",
    "simple_glm.summary2()\n",
    "\n",
    "# Alternative syntax\n",
    "# y = data.hospital_expire_flag\n",
    "# X = sm.tools.add_constant(data.inday_icu_wkd.factorize()[0])\n",
    "# simple_glm = sm.GLM(y, X, family=sm.families.Binomial()).fit()\n",
    "# simple_glm.summary2()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "...yields the same results. The coefficient shown above for weekend is on the log scale, so when we exponentiate it, we get the odds-ratio: `exp(0.2992) = 1.35`. So, looking at these crude rates and odds ratios, we can see that patients admitted on a weekend have about a 35% increase in the odds of dying in the hospital when compared to those on a weekday. This effect is statistically significant (p<0.001). \n",
    "\n",
    "Are we done?\n",
    "\n",
    "I hope not. We saw from the tables and figures above, there is likely some confounding and maybe even effect modification happening. Next let''s look at admission type and weekend ICU admission in the same model. There are two such models we could consider. \n",
    "\n",
    "The first adjusts for admission type, but assumes that the effect of weekend admission is the same regardless if the patient is of any of the admission types. The second one adjusts for admission type, but then allows the effect of weekend ICU admission to vary across the different levels of admission type. \n",
    "\n",
    "The first type of model would be able to account for confounding (when a nuisance variable is associated with both the outcome and the exposure/variable of interest), while the second permits what is called effect modification or a statistical interaction. \n",
    "\n",
    "Interactions are sometimes difficult to understand, but if ignored, can lead to incorrect conclusions about the effect of one or more of the variables. In this example, we fit both models, output estimates of the log-odds ratios, and perform a hypothesis test which evaluates the statistical significance of dropping one of the variables. Below is the resulting output:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "        <td>Model:</td>                 <td>GLM</td>              <td>AIC:</td>        <td>26729.0141</td> \n",
       "</tr>\n",
       "<tr>\n",
       "    <td>Link Function:</td>            <td>logit</td>             <td>BIC:</td>       <td>-380394.5386</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <td>Dependent Variable:</td> <td>hospital_expire_flag</td> <td>Log-Likelihood:</td>    <td>-13361.</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "         <td>Date:</td>          <td>2018-03-02 10:45</td>      <td>LL-Null:</td>        <td>-13738.</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "   <td>No. Observations:</td>          <td>38557</td>           <td>Deviance:</td>       <td>26721.</td>   \n",
       "</tr>\n",
       "<tr>\n",
       "       <td>Df Model:</td>                <td>3</td>           <td>Pearson chi2:</td>    <td>3.85e+04</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "     <td>Df Residuals:</td>            <td>38553</td>            <td>Scale:</td>         <td>1.0000</td>   \n",
       "</tr>\n",
       "<tr>\n",
       "        <td>Method:</td>               <td>IRLS</td>                <td></td>               <td></td>      \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "                 <td></td>                 <th>Coef.</th>  <th>Std.Err.</th>     <th>z</th>     <th>P>|z|</th> <th>[0.025</th>  <th>0.975]</th> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th>                      <td>-3.6173</td>  <td>0.0801</td>  <td>-45.1364</td> <td>0.0000</td> <td>-3.7743</td> <td>-3.4602</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(inday_icu_wkd)[T.weekend]</th>    <td>0.1444</td>   <td>0.0372</td>   <td>3.8871</td>  <td>0.0001</td> <td>0.0716</td>  <td>0.2172</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(admission_type)[T.EMERGENCY]</th> <td>1.6944</td>   <td>0.0822</td>   <td>20.6095</td> <td>0.0000</td> <td>1.5333</td>  <td>1.8555</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(admission_type)[T.URGENT]</th>    <td>1.5881</td>   <td>0.1231</td>   <td>12.9034</td> <td>0.0000</td> <td>1.3469</td>  <td>1.8293</td> \n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary2.Summary'>\n",
       "\"\"\"\n",
       "                       Results: Generalized linear model\n",
       "===============================================================================\n",
       "Model:                  GLM                     AIC:               26729.0141  \n",
       "Link Function:          logit                   BIC:               -380394.5386\n",
       "Dependent Variable:     hospital_expire_flag    Log-Likelihood:    -13361.     \n",
       "Date:                   2018-03-02 10:45        LL-Null:           -13738.     \n",
       "No. Observations:       38557                   Deviance:          26721.      \n",
       "Df Model:               3                       Pearson chi2:      3.85e+04    \n",
       "Df Residuals:           38553                   Scale:             1.0000      \n",
       "Method:                 IRLS                                                   \n",
       "-------------------------------------------------------------------------------\n",
       "                                Coef.  Std.Err.    z     P>|z|   [0.025  0.975]\n",
       "-------------------------------------------------------------------------------\n",
       "Intercept                      -3.6173   0.0801 -45.1364 0.0000 -3.7743 -3.4602\n",
       "C(inday_icu_wkd)[T.weekend]     0.1444   0.0372   3.8871 0.0001  0.0716  0.2172\n",
       "C(admission_type)[T.EMERGENCY]  1.6944   0.0822  20.6095 0.0000  1.5333  1.8555\n",
       "C(admission_type)[T.URGENT]     1.5881   0.1231  12.9034 0.0000  1.3469  1.8293\n",
       "===============================================================================\n",
       "\n",
       "\"\"\""
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Without effect modification\n",
    "adj_glm = smf.glm('hospital_expire_flag ~ C(inday_icu_wkd) + C(admission_type)', \n",
    "                     data=data, family=sm.families.Binomial()).fit()\n",
    "adj_glm.summary2()\n",
    "# drop1(adj.glm,test=\"Chisq\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "        <td>Model:</td>                 <td>GLM</td>              <td>AIC:</td>        <td>26712.4403</td> \n",
       "</tr>\n",
       "<tr>\n",
       "    <td>Link Function:</td>            <td>logit</td>             <td>BIC:</td>       <td>-380393.9926</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <td>Dependent Variable:</td> <td>hospital_expire_flag</td> <td>Log-Likelihood:</td>    <td>-13350.</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "         <td>Date:</td>          <td>2018-03-02 10:45</td>      <td>LL-Null:</td>        <td>-13738.</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "   <td>No. Observations:</td>          <td>38557</td>           <td>Deviance:</td>       <td>26700.</td>   \n",
       "</tr>\n",
       "<tr>\n",
       "       <td>Df Model:</td>                <td>5</td>           <td>Pearson chi2:</td>    <td>3.86e+04</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "     <td>Df Residuals:</td>            <td>38551</td>            <td>Scale:</td>         <td>1.0000</td>   \n",
       "</tr>\n",
       "<tr>\n",
       "        <td>Method:</td>               <td>IRLS</td>                <td></td>               <td></td>      \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "                               <td></td>                               <th>Coef.</th>  <th>Std.Err.</th>     <th>z</th>     <th>P>|z|</th> <th>[0.025</th>  <th>0.975]</th> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th>                                                  <td>-3.7169</td>  <td>0.0862</td>  <td>-43.1428</td> <td>0.0000</td> <td>-3.8858</td> <td>-3.5481</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(inday_icu_wkd)[T.weekend]</th>                                <td>1.3232</td>   <td>0.2388</td>   <td>5.5409</td>  <td>0.0000</td> <td>0.8551</td>  <td>1.7912</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(admission_type)[T.EMERGENCY]</th>                             <td>1.8014</td>   <td>0.0883</td>   <td>20.4002</td> <td>0.0000</td> <td>1.6283</td>  <td>1.9744</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(admission_type)[T.URGENT]</th>                                <td>1.6095</td>   <td>0.1496</td>   <td>10.7598</td> <td>0.0000</td> <td>1.3164</td>  <td>1.9027</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(inday_icu_wkd)[T.weekend]:C(admission_type)[T.EMERGENCY]</th> <td>-1.2071</td>  <td>0.2418</td>   <td>-4.9913</td> <td>0.0000</td> <td>-1.6812</td> <td>-0.7331</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(inday_icu_wkd)[T.weekend]:C(admission_type)[T.URGENT]</th>    <td>-0.9872</td>  <td>0.3036</td>   <td>-3.2521</td> <td>0.0011</td> <td>-1.5822</td> <td>-0.3922</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary2.Summary'>\n",
       "\"\"\"\n",
       "                                     Results: Generalized linear model\n",
       "===========================================================================================================\n",
       "Model:                            GLM                              AIC:                        26712.4403  \n",
       "Link Function:                    logit                            BIC:                        -380393.9926\n",
       "Dependent Variable:               hospital_expire_flag             Log-Likelihood:             -13350.     \n",
       "Date:                             2018-03-02 10:45                 LL-Null:                    -13738.     \n",
       "No. Observations:                 38557                            Deviance:                   26700.      \n",
       "Df Model:                         5                                Pearson chi2:               3.86e+04    \n",
       "Df Residuals:                     38551                            Scale:                      1.0000      \n",
       "Method:                           IRLS                                                                     \n",
       "-----------------------------------------------------------------------------------------------------------\n",
       "                                                            Coef.  Std.Err.    z     P>|z|   [0.025  0.975]\n",
       "-----------------------------------------------------------------------------------------------------------\n",
       "Intercept                                                  -3.7169   0.0862 -43.1428 0.0000 -3.8858 -3.5481\n",
       "C(inday_icu_wkd)[T.weekend]                                 1.3232   0.2388   5.5409 0.0000  0.8551  1.7912\n",
       "C(admission_type)[T.EMERGENCY]                              1.8014   0.0883  20.4002 0.0000  1.6283  1.9744\n",
       "C(admission_type)[T.URGENT]                                 1.6095   0.1496  10.7598 0.0000  1.3164  1.9027\n",
       "C(inday_icu_wkd)[T.weekend]:C(admission_type)[T.EMERGENCY] -1.2071   0.2418  -4.9913 0.0000 -1.6812 -0.7331\n",
       "C(inday_icu_wkd)[T.weekend]:C(admission_type)[T.URGENT]    -0.9872   0.3036  -3.2521 0.0011 -1.5822 -0.3922\n",
       "===========================================================================================================\n",
       "\n",
       "\"\"\""
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# With effect modification\n",
    "adj_glm_int = smf.glm('hospital_expire_flag ~ C(inday_icu_wkd) * C(admission_type)', \n",
    "                     data=data, family=sm.families.Binomial()).fit()\n",
    "adj_glm_int.summary2()\n",
    "# drop1(adj.glm,test=\"Chisq\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>admission_type</th>\n",
       "      <th>inday_icu_wkd</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ELECTIVE</td>\n",
       "      <td>weekday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>ELECTIVE</td>\n",
       "      <td>weekend</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>weekday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>EMERGENCY</td>\n",
       "      <td>weekend</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>URGENT</td>\n",
       "      <td>weekday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>URGENT</td>\n",
       "      <td>weekend</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  admission_type inday_icu_wkd\n",
       "0       ELECTIVE       weekday\n",
       "1       ELECTIVE       weekend\n",
       "2      EMERGENCY       weekday\n",
       "3      EMERGENCY       weekend\n",
       "4         URGENT       weekday\n",
       "5         URGENT       weekend"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create data structure to hold odds of hospital death\n",
    "def expand_grid(data_dict):\n",
    "    rows = itertools.product(*data_dict.values())\n",
    "    return pd.DataFrame.from_records(rows, columns=data_dict.keys())\n",
    "\n",
    "weekend_grid = expand_grid({'inday_icu_wkd': ['weekday', 'weekend'],\n",
    "                            'admission_type': ['ELECTIVE', 'EMERGENCY', 'URGENT']})\n",
    "\n",
    "weekend_grid"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the first model (no interaction), we see that although the effect of weekend is almost halved, it remains statistically significant, after adjusting for admission type (p<0.001).\n",
    "\n",
    "In the second model, we are primarily interested in the significance of the interaction.  We can see when assessed with the `drop1` function, the interaction (`weekend:admission_type`) is statistically significant (p<0.001), suggesting that the effect of weekend may be different depending on which hospital admission type you are.  How exactly to interpret this:\n",
    "\n",
    "One way of looking at this complexity is by computing the odds ratio in each of the levels of admission type.  We can do this using the `predict` function, which by default outputs the log-odds of death.  If for each hospital admission type, we calculate the log odds of death for each of the levels of weekend,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "def prob2logodds(prob):\n",
    "    odds = prob / (1 - prob)\n",
    "    logodds = np.log(odds)\n",
    "    return logodds"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>predict</th>\n",
       "      <th>log_odds</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>inday_icu_wkd</th>\n",
       "      <th>admission_type</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>weekday</th>\n",
       "      <th>ELECTIVE</th>\n",
       "      <td>0.023732</td>\n",
       "      <td>-3.716925</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>weekend</th>\n",
       "      <th>ELECTIVE</th>\n",
       "      <td>0.083650</td>\n",
       "      <td>-2.393754</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>weekday</th>\n",
       "      <th>EMERGENCY</th>\n",
       "      <td>0.128359</td>\n",
       "      <td>-1.915548</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>weekend</th>\n",
       "      <th>EMERGENCY</th>\n",
       "      <td>0.141909</td>\n",
       "      <td>-1.799525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>weekday</th>\n",
       "      <th>URGENT</th>\n",
       "      <td>0.108382</td>\n",
       "      <td>-2.107381</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>weekend</th>\n",
       "      <th>URGENT</th>\n",
       "      <td>0.145363</td>\n",
       "      <td>-1.771439</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                               predict  log_odds\n",
       "inday_icu_wkd admission_type                    \n",
       "weekday       ELECTIVE        0.023732 -3.716925\n",
       "weekend       ELECTIVE        0.083650 -2.393754\n",
       "weekday       EMERGENCY       0.128359 -1.915548\n",
       "weekend       EMERGENCY       0.141909 -1.799525\n",
       "weekday       URGENT          0.108382 -2.107381\n",
       "weekend       URGENT          0.145363 -1.771439"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "weekend_grid['predict'] = adj_glm_int.predict(weekend_grid[['inday_icu_wkd','admission_type']])\n",
    "weekend_grid['log_odds'] = prob2logodds(weekend_grid['predict'])\n",
    "weekend_grid.set_index(['inday_icu_wkd','admission_type'], inplace=True)\n",
    "weekend_grid"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can now compute the log odds ratio ($log(OR) =  logOdds_{weekend} - logOdds_{weekday}$), and exponentiate to get the odds ratio:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "admission_type\n",
       "ELECTIVE     3.755307\n",
       "EMERGENCY    1.123022\n",
       "URGENT       1.399257\n",
       "Name: log_odds, dtype: float64"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "diff_grid = weekend_grid.loc['weekend']['log_odds'] - weekend_grid.loc['weekday']['log_odds']\n",
    "np.exp(diff_grid)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So, this mirrors what we saw above. While there may be differences between EMERGENCY and URGENT admission types, an ELECTIVE admission occurring on a weekend has an odds of mortality almost four times that of an ELECTIVE admission on a weekday. This seems particularly odd -- patients usually do not get admitted to a hospital electively on a weekend.\n",
    "\n",
    "What do you think?\n",
    "\n",
    "- Do patients admitted on a weekend have a higher rate of mortality than those admitted during the week?\n",
    "- Who is most affected, if at all?\n",
    "- What factors can you rule out might be causing this effect? e.g., is it because the patients are simply sicker on a weekend? Are they more likely to have complications?\n",
    "\n",
    "Looking forward to see what you guys come up with!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}