Skip to content

Instantly share code, notes, and snippets.

@fonnesbeck
Created February 4, 2014 21:58
Show Gist options
  • Save fonnesbeck/8813172 to your computer and use it in GitHub Desktop.
Save fonnesbeck/8813172 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:29e697d4d1aa2e72cc55a7e872c9ecee91b241ac0d90bdda304d8b5e05fd4c6c"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from redcap import Project\n",
"\n",
"api_url = 'https://redcap.vanderbilt.edu/api/'\n",
"\n",
"hospitalized_key = open(\"/Users/fonnescj/Dropbox/Halasa Biostats/Tokens/hospitalized_api_key.txt\").read()\n",
"hospitalized_proj = Project(api_url, hospitalized_key)\n",
"hospitalized_raw = hospitalized_proj.export_records(format='df', \n",
" df_kwargs={'index_col': hospitalized_proj.field_names[0]})"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stderr",
"text": [
"/Library/Python/2.7/site-packages/pandas-0.13.0_395_gef55e60-py2.7-macosx-10.9-intel.egg/pandas/io/parsers.py:1070: DtypeWarning: Columns (140,142,144,146,148,181,206,207,212,213,261,280,281,282,296,297) have mixed types. Specify dtype option on import or set low_memory=False.\n",
" data = self._reader.read(nrows)\n"
]
}
],
"prompt_number": 2,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(hospitalized_raw)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"3178"
]
}
],
"prompt_number": 3,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Filter out exclusion criteria failures"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized = hospitalized_raw.drop(hospitalized_raw[hospitalized_raw[hospitalized_raw.columns[:3]].sum(1)>0].index)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(hospitalized)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"3177"
]
}
],
"prompt_number": 5,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Sanity check\n",
"assert (hospitalized[hospitalized.columns[:3]].sum(1)>1).sum() == 0"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Filter out meningitis diagnosis"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized = hospitalized.drop(hospitalized[hospitalized.meningitu==1].index)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(hospitalized)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"3173"
]
}
],
"prompt_number": 8,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"assert len(hospitalized[hospitalized.meningitu==1]) == 0"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Convert dates"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized.child_birth_date = pd.to_datetime(hospitalized.child_birth_date)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized.enrollment_date = pd.to_datetime(hospitalized.enrollment_date)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized.admission_date = pd.to_datetime(hospitalized.admission_date)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized.discharge_date = pd.to_datetime(hospitalized.discharge_date)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 13,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Restrict cohort to <2 years"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized['age_months'] = (hospitalized.enrollment_date - hospitalized.child_birth_date).astype('timedelta64[M]') "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized = hospitalized[hospitalized.age_months <= 24]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(hospitalized)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"text": [
"3170"
]
}
],
"prompt_number": 16,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized.age_months.hist(bins=15)\n",
"plt.xlim(-1,24)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": [
"(-1, 24)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nkXna3kIJAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x11318a850>"
]
}
],
"prompt_number": 17,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Check correspondence between oxygen, ventilation, and ICU statuses"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"severity_ind = hospitalized[['oxygen', 'vent', 'icu']]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Below are the number of subjects with 0, 1, 2 or all 3 indicators:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"severity_ind.sum(axis=1).value_counts()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"0 2081\n",
"1 795\n",
"2 213\n",
"3 50\n",
"dtype: int64"
]
}
],
"prompt_number": 19,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Oxygen only\n",
"(severity_ind.oxygen.astype(bool) & (severity_ind.vent - True) & (severity_ind.icu - True)).sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
"750"
]
}
],
"prompt_number": 20,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Ventilation only\n",
"((severity_ind.oxygen.astype(bool) - True) & severity_ind.vent & (severity_ind.icu - True)).sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"0"
]
}
],
"prompt_number": 21,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# ICU only\n",
"icu_only = (severity_ind.oxygen.astype(bool) - True) & (severity_ind.vent - True) & severity_ind.icu\n",
"icu_only.sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 32,
"text": [
"44"
]
}
],
"prompt_number": 32,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized[icu_only].index.tolist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 34,
"text": [
"['A0015',\n",
" 'A0068',\n",
" 'A0069',\n",
" 'A0117',\n",
" 'A0162',\n",
" 'A0163',\n",
" 'A0235',\n",
" 'A0334',\n",
" 'A0424',\n",
" 'A0522',\n",
" 'A0609',\n",
" 'A0781',\n",
" 'B1020',\n",
" 'B1034',\n",
" 'B1151',\n",
" 'B1158',\n",
" 'B1160',\n",
" 'B1190',\n",
" 'B1291',\n",
" 'B1318',\n",
" 'B1350',\n",
" 'B1362',\n",
" 'B1363',\n",
" 'B1377',\n",
" 'B1423',\n",
" 'B1483',\n",
" 'B1541',\n",
" 'B1562',\n",
" 'B1618',\n",
" 'B1621',\n",
" 'C2290',\n",
" 'C2359',\n",
" 'C2594',\n",
" 'C2595',\n",
" 'C2601',\n",
" 'D3001',\n",
" 'D3011',\n",
" 'D3018',\n",
" 'D3268',\n",
" 'D3270',\n",
" 'D3272',\n",
" 'D3277',\n",
" 'D3326',\n",
" 'D3559']"
]
}
],
"prompt_number": 34,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Oxygen and ventilation only\n",
"(severity_ind.oxygen.astype(bool) & severity_ind.vent & (severity_ind.icu - True)).sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 23,
"text": [
"61"
]
}
],
"prompt_number": 23,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Oxygen and ICU only\n",
"(severity_ind.oxygen.astype(bool)& (severity_ind.vent - True) & severity_ind.icu).sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 24,
"text": [
"152"
]
}
],
"prompt_number": 24,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# ICU and ventilation only\n",
"((severity_ind.oxygen.astype(bool) - True) & severity_ind.vent & severity_ind.icu).sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 25,
"text": [
"0"
]
}
],
"prompt_number": 25,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Check that days on oxygen are always >= days on mechanical"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"o2_less_vent = hospitalized.days_oxygen < hospitalized.days_vent\n",
"o2_less_vent.sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 30,
"text": [
"4"
]
}
],
"prompt_number": 30,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized[o2_less_vent].index.tolist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"text": [
"['B1191', 'B1269', 'B1341', 'D3040']"
]
}
],
"prompt_number": 31,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ensure length of stay is greater than or equal to maximum of oxygen or mechanical ventilation"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"los_check = ((hospitalized.discharge_date - hospitalized.admission_date).astype('timedelta64[D]') \n",
" >= np.max(hospitalized.days_oxygen, hospitalized.days_vent))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 27,
"trusted": true
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"los_check.sum()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 28,
"text": [
"17"
]
}
],
"prompt_number": 28,
"trusted": true
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Records for which length of stay is less than days on oxygen and days on ventilation"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hospitalized[los_check].index.tolist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 29,
"text": [
"['A0014',\n",
" 'A0180',\n",
" 'A0290',\n",
" 'A0300',\n",
" 'A0307',\n",
" 'A0604',\n",
" 'A0708',\n",
" 'B1276',\n",
" 'B1328',\n",
" 'B1494',\n",
" 'B1794',\n",
" 'C2621',\n",
" 'D3031',\n",
" 'D3052',\n",
" 'D3283',\n",
" 'D3514',\n",
" 'D3541']"
]
}
],
"prompt_number": 29,
"trusted": true
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment