adding column 'Lethality (%)'
This commit is contained in:
@@ -13,6 +13,15 @@
|
||||
src="https://cdn.datatables.net/1.11.4/js/jquery.dataTables.min.js"></script>
|
||||
<script>
|
||||
function loadBatchCodeTable() {
|
||||
const columnIndex = {
|
||||
'Batch': 0,
|
||||
'Total Number of Adverse Reaction Reports': 1,
|
||||
'Deaths': 2,
|
||||
'Disabilities': 3,
|
||||
'Life Threatening Illnesses': 4,
|
||||
'Company': 5,
|
||||
'Lethality (%)': 6
|
||||
};
|
||||
$('#batchCodeTable').DataTable(
|
||||
{
|
||||
ajax: "data/batchCodeTable.json",
|
||||
@@ -26,12 +35,26 @@
|
||||
},
|
||||
processing: true,
|
||||
deferRender: true,
|
||||
order: [[1, "desc"]],
|
||||
order: [[columnIndex['Total Number of Adverse Reaction Reports'], "desc"]],
|
||||
columnDefs:
|
||||
[
|
||||
{
|
||||
searchable: false,
|
||||
targets: [1, 2, 3, 4, 5]
|
||||
targets: [
|
||||
columnIndex['Total Number of Adverse Reaction Reports'],
|
||||
columnIndex['Deaths'],
|
||||
columnIndex['Disabilities'],
|
||||
columnIndex['Life Threatening Illnesses'],
|
||||
columnIndex['Company'],
|
||||
columnIndex['Lethality (%)']
|
||||
]
|
||||
},
|
||||
{
|
||||
render: (data, type, row) => {
|
||||
const lethality = parseFloat(data);
|
||||
return !isNaN(lethality) ? lethality.toFixed(2) + " %" : '';
|
||||
},
|
||||
targets: [columnIndex['Lethality (%)']]
|
||||
}
|
||||
]
|
||||
});
|
||||
@@ -64,6 +87,7 @@
|
||||
<th>Disabilities</th>
|
||||
<th>Life Threatening Illnesses</th>
|
||||
<th>Company</th>
|
||||
<th>Lethality (%)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -229,10 +229,10 @@
|
||||
"class BatchCodeTableFactory:\n",
|
||||
"\n",
|
||||
" @staticmethod\n",
|
||||
" def createBatchCodeTable(dataFrame : pd.DataFrame, dose):\n",
|
||||
" def createBatchCodeTable(dataFrame : pd.DataFrame, dose, minADRsForLethality = None):\n",
|
||||
" dataFrame = DataFrameFilter().filterByCovid19(dataFrame)\n",
|
||||
" dataFrame = DataFrameFilter().filterBy(dataFrame, dose = dose)\n",
|
||||
" return BatchCodeTableFactory._createSummationTableByVAX_LOT(dataFrame)[\n",
|
||||
" batchCodeTable = BatchCodeTableFactory._createSummationTableByVAX_LOT(dataFrame)[\n",
|
||||
" [\n",
|
||||
" 'Total Number of Adverse Reaction Reports',\n",
|
||||
" 'Deaths',\n",
|
||||
@@ -241,6 +241,9 @@
|
||||
" 'Company',\n",
|
||||
" 'Lethality (%)'\n",
|
||||
" ]]\n",
|
||||
" if minADRsForLethality is not None:\n",
|
||||
" batchCodeTable.loc[batchCodeTable['Total Number of Adverse Reaction Reports'] < minADRsForLethality, 'Lethality (%)'] = np.nan\n",
|
||||
" return batchCodeTable\n",
|
||||
"\n",
|
||||
" # create table from https://www.howbadismybatch.com/combined.html\n",
|
||||
" @staticmethod\n",
|
||||
@@ -708,7 +711,7 @@
|
||||
"\n",
|
||||
"class BatchCodeTableFactoryTest(unittest.TestCase):\n",
|
||||
"\n",
|
||||
" def test_createSummationTable(self):\n",
|
||||
" def test_createSevereEffectsBatchCodeTable(self):\n",
|
||||
" # Given\n",
|
||||
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n",
|
||||
" [\n",
|
||||
@@ -749,7 +752,8 @@
|
||||
" index = pd.Index(['025L20A', '037K20A'], name = 'VAX_LOT'))\n",
|
||||
" assert_frame_equal(batchCodeTable, batchCodeTableExpected, check_dtype = False)\n",
|
||||
"\n",
|
||||
" def test_createBatchCodeTable2(self):\n",
|
||||
" def test_createBatchCodeTable(self):\n",
|
||||
" # Given\n",
|
||||
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n",
|
||||
" [\n",
|
||||
" {\n",
|
||||
@@ -789,15 +793,73 @@
|
||||
" ])\n",
|
||||
" self._test_createBatchCodeTable(dataFrame, '1')\n",
|
||||
"\n",
|
||||
" def test_createBatchCodeTable(self):\n",
|
||||
" def test_createBatchCodeTable_minADRsForLethality(self):\n",
|
||||
" # Given\n",
|
||||
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n",
|
||||
" [\n",
|
||||
" {\n",
|
||||
" 'VAERSDATA': TestHelper.createDataFrame(\n",
|
||||
" columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n",
|
||||
" data = [ [1, 0, 0, 0, 0],\n",
|
||||
" [0, 0, 1, 0, 0]],\n",
|
||||
" index = [\n",
|
||||
" \"0916600\",\n",
|
||||
" \"0916601\"]),\n",
|
||||
" 'VAERSVAX': TestHelper.createDataFrame(\n",
|
||||
" columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n",
|
||||
" data = [ ['COVID19', 'MODERNA', '037K20A', '1'],\n",
|
||||
" ['COVID19', 'MODERNA', '025L20A', '1']],\n",
|
||||
" index = [\n",
|
||||
" \"0916600\",\n",
|
||||
" \"0916601\"],\n",
|
||||
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n",
|
||||
" },\n",
|
||||
" {\n",
|
||||
" 'VAERSDATA': TestHelper.createDataFrame(\n",
|
||||
" columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n",
|
||||
" data = [ [0, 0, 0, 0, 0],\n",
|
||||
" [0, 0, 1, 0, 0]],\n",
|
||||
" index = [\n",
|
||||
" \"1996873\",\n",
|
||||
" \"1996874\"]),\n",
|
||||
" 'VAERSVAX': TestHelper.createDataFrame(\n",
|
||||
" columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n",
|
||||
" data = [ ['HPV9', 'MERCK & CO. INC.', 'R017624', 'UNK'],\n",
|
||||
" ['COVID19', 'MODERNA', '025L20A', '1']],\n",
|
||||
" index = [\n",
|
||||
" \"1996873\",\n",
|
||||
" \"1996874\"],\n",
|
||||
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n",
|
||||
" }\n",
|
||||
" ])\n",
|
||||
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
|
||||
"\n",
|
||||
" # When\n",
|
||||
" batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(dataFrame, dose = '1', minADRsForLethality = 2)\n",
|
||||
"\n",
|
||||
" # Then\n",
|
||||
" batchCodeTableExpected = pd.DataFrame(\n",
|
||||
" data = {\n",
|
||||
" 'Total Number of Adverse Reaction Reports': [2, 1],\n",
|
||||
" 'Deaths': [0, 1],\n",
|
||||
" 'Disabilities': [2, 0],\n",
|
||||
" 'Life Threatening Illnesses': [0, 0],\n",
|
||||
" 'Company': ['MODERNA', 'MODERNA'],\n",
|
||||
" 'Lethality (%)': [0/2 * 100, np.nan]\n",
|
||||
" },\n",
|
||||
" index = pd.Index(['025L20A', '037K20A'], name = 'VAX_LOT'))\n",
|
||||
" assert_frame_equal(batchCodeTable, batchCodeTableExpected, check_dtype = False)\n",
|
||||
"\n",
|
||||
" def test_createBatchCodeTableFromFiles(self):\n",
|
||||
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n",
|
||||
" VaersDescrReader(dataDir = \"test/VAERS\").readAllVaersDescrs())\n",
|
||||
" DataFrameNormalizer.normalize(dataFrame)\n",
|
||||
" self._test_createBatchCodeTable(dataFrame, '1')\n",
|
||||
"\n",
|
||||
" def _test_createBatchCodeTable(self, dataFrame, dose):\n",
|
||||
" # When\n",
|
||||
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
|
||||
"\n",
|
||||
" # When\n",
|
||||
" batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(dataFrame, dose)\n",
|
||||
"\n",
|
||||
" # Then\n",
|
||||
@@ -1055,15 +1117,7 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def saveBatchCodeTable(vaers, file):\n",
|
||||
" batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(vaers, dose = '1')\n",
|
||||
" batchCodeTable = batchCodeTable[\n",
|
||||
" [\n",
|
||||
" 'Total Number of Adverse Reaction Reports',\n",
|
||||
" 'Deaths',\n",
|
||||
" 'Disabilities',\n",
|
||||
" 'Life Threatening Illnesses',\n",
|
||||
" 'Company'\n",
|
||||
" ]]\n",
|
||||
" batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(vaers, dose = '1', minADRsForLethality = 100)\n",
|
||||
" batchCodeTable.index.set_names(\"Batch\", inplace = True)\n",
|
||||
" display(batchCodeTable)\n",
|
||||
" IOUtils.saveDataFrame(batchCodeTable, file)"
|
||||
|
||||
Reference in New Issue
Block a user