a severe report has DIED + L_THREAT + DISABLE > 0

This commit is contained in:
frankknoll
2022-02-15 12:02:18 +01:00
parent 7aba936f16
commit 8cd02a68ac

View File

@@ -191,7 +191,8 @@
" 'L_THREAT': 'sum',\n",
" 'DISABLE': 'sum',\n",
" 'HOSPITAL': 'sum',\n",
" 'ER_VISIT': 'sum'\n",
" 'ER_VISIT': 'sum',\n",
" 'SEVERE': 'sum'\n",
" })\n",
" SummationTableFactory._flattenColumns(summationTable)\n",
" return summationTable.rename(columns = columnNameMappingsDict)\n",
@@ -204,9 +205,10 @@
" \"DIED_size\": \"Total Number of Adverse Reaction Reports\",\n",
" \"DIED_sum\": \"Deaths\",\n",
" \"L_THREAT_sum\": \"Life Threatening Illnesses\",\n",
" \"DISABLE_sum\": \"Disabilities\"\n",
" \"DISABLE_sum\": \"Disabilities\",\n",
" \"SEVERE_sum\": \"Severities\"\n",
" })\n",
" summationTable['Severe reports (%)'] = (summationTable['Deaths'] + summationTable['Disabilities'] + summationTable['Life Threatening Illnesses']) / summationTable['Total Number of Adverse Reaction Reports'] * 100\n",
" summationTable['Severe reports (%)'] = summationTable['Severities'] / summationTable['Total Number of Adverse Reaction Reports'] * 100\n",
" summationTable = summationTable[['Total Number of Adverse Reaction Reports', 'Deaths', 'Disabilities', 'Life Threatening Illnesses', 'Severe reports (%)']]\n",
" return summationTable\n",
"\n",
@@ -352,6 +354,25 @@
" return country.name if country is not None else default"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3abe3384",
"metadata": {},
"outputs": [],
"source": [
"import pycountry\n",
"\n",
"class SevereColumnAdder:\n",
" \n",
" @staticmethod\n",
" def addSevereColumn(dataFrame):\n",
" dataFrame['SEVERE'] = dataFrame.apply(\n",
" lambda row: 1 if (row['DIED'] + row['L_THREAT'] + row['DISABLE']) > 0 else 0,\n",
" axis = 'columns')\n",
" return dataFrame\n"
]
},
{
"cell_type": "code",
"execution_count": null,
@@ -688,7 +709,7 @@
"\n",
"class BatchCodeTableFactoryTest(unittest.TestCase):\n",
"\n",
" def testcreateSummationTable(self):\n",
" def test_createSummationTable(self):\n",
" # Given\n",
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n",
" [\n",
@@ -710,6 +731,7 @@
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n",
" }\n",
" ])\n",
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
"\n",
" # When\n",
" batchCodeTable = BatchCodeTableFactory.createSevereEffectsBatchCodeTable(dataFrame, '1')\n",
@@ -776,6 +798,7 @@
"\n",
" def _test_createBatchCodeTable(self, dataFrame, dose):\n",
" # When\n",
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
" batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(dataFrame, dose)\n",
"\n",
" # Then\n",
@@ -815,6 +838,7 @@
" \"1048786\",\n",
" \"4711\"],\n",
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n",
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
" \n",
" # When\n",
" doseTable = DoseTableFactory.createDoseTable(dataFrame)\n",
@@ -828,7 +852,7 @@
" 'Deaths': [2, 1],\n",
" 'Disabilities': [1, 0],\n",
" 'Life Threatening Illnesses': [1, 0],\n",
" 'Severe reports (%)': [(2 + 1 + 1)/2 * 100, (1 + 0 + 0)/1 * 100]\n",
" 'Severe reports (%)': [2/2 * 100, 1/1 * 100]\n",
" },\n",
" index = pd.Index(['1', '2'], dtype = \"string\", name = 'Dose')))\n",
" \n",
@@ -845,6 +869,7 @@
" \"1048786\",\n",
" \"4711\"],\n",
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n",
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
" \n",
" # When\n",
" doseByMonthTable = DoseTableFactory.createDoseByMonthTable(dataFrame)\n",
@@ -858,7 +883,7 @@
" 'Deaths': [2, 1],\n",
" 'Disabilities': [1, 0],\n",
" 'Life Threatening Illnesses': [1, 0],\n",
" 'Severe reports (%)': [(2 + 1 + 1)/2 * 100, (1 + 0 + 0)/1 * 100]\n",
" 'Severe reports (%)': [2/2 * 100, 1/1 * 100]\n",
" },\n",
" index = pd.MultiIndex.from_tuples(\n",
" [\n",
@@ -895,6 +920,7 @@
" \"4711\",\n",
" \"0815\",\n",
" \"0816\"])\n",
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
" \n",
" # When\n",
" internationalLotTable = InternationalLotTableFactory.createInternationalLotTable(dataFrame)\n",
@@ -904,9 +930,9 @@
" internationalLotTable,\n",
" TestHelper.createDataFrame(\n",
" columns = ['Total Number of Adverse Reaction Reports', 'Deaths', 'Disabilities', 'Life Threatening Illnesses', 'Severe reports (%)'],\n",
" data = [ [2, 2, 1, 1, (2 + 1 + 1) / 2 * 100],\n",
" [1, 1, 0, 0, (1 + 0 + 0) / 1 * 100],\n",
" [2, 0, 0, 0, (0 + 0 + 0) / 2 * 100]],\n",
" data = [ [2, 2, 1, 1, 2/2 * 100],\n",
" [1, 1, 0, 0, 1/1 * 100],\n",
" [2, 0, 0, 0, 0/2 * 100]],\n",
" index = pd.Index(\n",
" [\n",
" 'France',\n",
@@ -921,7 +947,7 @@
" dataFrame = TestHelper.createDataFrame(\n",
" columns = ['DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES', 'SPLTTYPE', 'HOSPITAL', 'ER_VISIT'],\n",
" data = [ [1, 0, 0, 'COVID19', 'MODERNA', '016M20A', '2', 'GBPFIZER INC2020486806', 0, 0],\n",
" [1, 0, 0, 'COVID19', 'MODERNA', '030L20A', '1', 'FRMODERNATX, INC.MOD20224', 0, 0],\n",
" [0, 0, 0, 'COVID19', 'MODERNA', '030L20A', '1', 'FRMODERNATX, INC.MOD20224', 0, 0],\n",
" [1, 1, 1, 'COVID19', 'MODERNA', '030L20B', '1', 'FRMODERNATX, INC.MOD20224', 0, 0],\n",
" [0, 1, 1, 'COVID19', 'MODERNA', '030L20B', '1', 'FRMODERNATX, INC.MOD20224', 0, 0]],\n",
" index = [\n",
@@ -929,6 +955,7 @@
" \"1048786\",\n",
" \"4711\",\n",
" \"0815\"])\n",
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
" \n",
" # When\n",
" batchCodeTable = InternationalLotTableFactory.createBatchCodeTableByCountry(dataFrame, 'France')\n",
@@ -938,8 +965,8 @@
" batchCodeTable,\n",
" TestHelper.createDataFrame(\n",
" columns = ['Total Number of Adverse Reaction Reports', 'Deaths', 'Disabilities', 'Life Threatening Illnesses', 'Severe reports (%)'],\n",
" data = [ [2, 1, 2, 2, (1 + 2 + 2) / 2 * 100],\n",
" [1, 1, 0, 0, (1 + 0 + 0) / 1 * 100]],\n",
" data = [ [2, 1, 2, 2, 2/2 * 100],\n",
" [1, 0, 0, 0, 0/1 * 100]],\n",
" index = pd.Index(\n",
" [\n",
" '030L20B',\n",
@@ -970,6 +997,7 @@
" vaersDescrs = vaersDescrsReaderFunc()\n",
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(vaersDescrs)\n",
" DataFrameNormalizer.normalize(dataFrame)\n",
" dataFrame = SevereColumnAdder.addSevereColumn(dataFrame)\n",
" return dataFrame\n",
" \n",
"def getAllVaers():\n",
@@ -1359,6 +1387,14 @@
"\n",
"sns.boxplot(x = \"CONCENTRATION\", y = \"Total Number of Adverse Reaction Reports\", data = batchCodeTable, order = order)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c355356a",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {