refactoring

This commit is contained in:
frankknoll
2022-02-01 11:19:36 +01:00
parent 76c08c1ad5
commit c24632894d

View File

@@ -126,11 +126,12 @@
"import pandas as pd\n", "import pandas as pd\n",
"\n", "\n",
"class BatchCodeTableFactory:\n", "class BatchCodeTableFactory:\n",
" \n", "\n",
" @staticmethod\n", " def __init__(self, dataFrame : pd.DataFrame):\n",
" # FK-TODO: make DataFrame parameter an instance variable\n", " self.dataFrame = dataFrame \n",
" def createBatchCodeTable(df : pd.DataFrame, manufacturer, dose):\n", "\n",
" df = DataFrameFilter(df).filterBy(manufacturer = manufacturer, dose = dose)\n", " def createBatchCodeTable(self, manufacturer, dose):\n",
" df = DataFrameFilter(self.dataFrame).filterBy(manufacturer = manufacturer, dose = dose)\n",
" return BatchCodeTableFactory._asDataFrame(\n", " return BatchCodeTableFactory._asDataFrame(\n",
" {\n", " {\n",
" 'ADRs': BatchCodeTableFactory._getADRs(df),\n", " 'ADRs': BatchCodeTableFactory._getADRs(df),\n",
@@ -140,10 +141,8 @@
" })\n", " })\n",
"\n", "\n",
" # create table from https://www.howbadismybatch.com/combined.html\n", " # create table from https://www.howbadismybatch.com/combined.html\n",
" @staticmethod\n", " def createSevereEffectsBatchCodeTable(self, dose):\n",
" # FK-TODO: make DataFrame parameter an instance variable\n", " df = DataFrameFilter(self.dataFrame).filterForSevereEffects(dose)\n",
" def createSevereEffectsBatchCodeTable(df : pd.DataFrame, dose):\n",
" df = DataFrameFilter(df).filterForSevereEffects(dose = '1')\n",
" return BatchCodeTableFactory._addCompanyColumn(\n", " return BatchCodeTableFactory._addCompanyColumn(\n",
" BatchCodeTableFactory._asDataFrame(\n", " BatchCodeTableFactory._asDataFrame(\n",
" {\n", " {\n",
@@ -412,30 +411,30 @@
"\n", "\n",
" def test_createSevereEffectsBatchCodeTable(self):\n", " def test_createSevereEffectsBatchCodeTable(self):\n",
" # Given\n", " # Given\n",
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n", " batchCodeTableFactory = BatchCodeTableFactory(\n",
" [\n", " VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n",
" {\n", " [\n",
" 'VAERSDATA': self.createDataFrame(\n", " {\n",
" columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n", " 'VAERSDATA': self.createDataFrame(\n",
" data = [ ['Y', 'Y', np.NaN, 'Y', 'Y'],\n", " columns = ['DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT'],\n",
" [np.NaN, np.NaN, 'Y', np.NaN, 'Y']],\n", " data = [ ['Y', 'Y', np.NaN, 'Y', 'Y'],\n",
" index = [\n", " [np.NaN, np.NaN, 'Y', np.NaN, 'Y']],\n",
" \"0916600\",\n", " index = [\n",
" \"0916601\"]),\n", " \"0916600\",\n",
" 'VAERSVAX': self.createDataFrame(\n", " \"0916601\"]),\n",
" columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", " 'VAERSVAX': self.createDataFrame(\n",
" data = [ ['COVID19', 'MODERNA', '037K20A', '1'],\n", " columns = ['VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n",
" ['COVID19', 'PFIZER\\BIONTECH', '025L20A', '1']],\n", " data = [ ['COVID19', 'MODERNA', '037K20A', '1'],\n",
" index = [\n", " ['COVID19', 'PFIZER\\BIONTECH', '025L20A', '1']],\n",
" \"0916600\",\n", " index = [\n",
" \"0916601\"],\n", " \"0916600\",\n",
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", " \"0916601\"],\n",
" }\n", " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n",
" ]\n", " }\n",
" )\n", " ]))\n",
" \n", "\n",
" # When\n", " # When\n",
" batchCodeTable = BatchCodeTableFactory.createSevereEffectsBatchCodeTable(dataFrame, '1')\n", " batchCodeTable = batchCodeTableFactory.createSevereEffectsBatchCodeTable('1')\n",
"\n", "\n",
" # Then\n", " # Then\n",
" batchCodeTableExpected = pd.DataFrame(\n", " batchCodeTableExpected = pd.DataFrame(\n",
@@ -489,7 +488,7 @@
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n",
" }\n", " }\n",
" ])\n", " ])\n",
" self._test_createBatchCodeTable(dataFrame, \"MODERNA\", '1');\n", " self._test_createBatchCodeTable(dataFrame, \"MODERNA\", '1')\n",
"\n", "\n",
" def test_createBatchCodeTable(self):\n", " def test_createBatchCodeTable(self):\n",
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n", " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(\n",
@@ -497,8 +496,11 @@
" self._test_createBatchCodeTable(dataFrame, \"MODERNA\", '1')\n", " self._test_createBatchCodeTable(dataFrame, \"MODERNA\", '1')\n",
"\n", "\n",
" def _test_createBatchCodeTable(self, dataFrame, manufacturer, dose):\n", " def _test_createBatchCodeTable(self, dataFrame, manufacturer, dose):\n",
" # Given\n",
" batchCodeTableFactory = BatchCodeTableFactory(dataFrame)\n",
"\n",
" # When\n", " # When\n",
" batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(dataFrame, manufacturer, dose)\n", " batchCodeTable = batchCodeTableFactory.createBatchCodeTable(manufacturer, dose)\n",
"\n", "\n",
" # Then\n", " # Then\n",
" batchCodeTableExpected = pd.DataFrame(\n", " batchCodeTableExpected = pd.DataFrame(\n",
@@ -535,7 +537,8 @@
"def saveBatchCodeTable(manufacturer, excelFile):\n", "def saveBatchCodeTable(manufacturer, excelFile):\n",
" vaersDescrs = VaersDescrReader(\"VAERS\").readAllVaersDescrs()\n", " vaersDescrs = VaersDescrReader(\"VAERS\").readAllVaersDescrs()\n",
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(vaersDescrs)\n", " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(vaersDescrs)\n",
" batchCodeTable = BatchCodeTableFactory.createBatchCodeTable(dataFrame, manufacturer = manufacturer, dose = '1')\n", " batchCodeTableFactory = BatchCodeTableFactory(dataFrame)\n",
" batchCodeTable = batchCodeTableFactory.createBatchCodeTable(manufacturer = manufacturer, dose = '1')\n",
" display(manufacturer, batchCodeTable)\n", " display(manufacturer, batchCodeTable)\n",
" batchCodeTable.to_excel(excelFile)" " batchCodeTable.to_excel(excelFile)"
] ]
@@ -562,7 +565,8 @@
"def saveSevereEffectsBatchCodeTable(excelFile):\n", "def saveSevereEffectsBatchCodeTable(excelFile):\n",
" vaersDescrs = VaersDescrReader(\"VAERS\").readAllVaersDescrs()\n", " vaersDescrs = VaersDescrReader(\"VAERS\").readAllVaersDescrs()\n",
" dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(vaersDescrs)\n", " dataFrame = VaersDescr2DataFrameConverter.createDataFrameFromDescrs(vaersDescrs)\n",
" severeEffectsBatchCodeTable = BatchCodeTableFactory.createSevereEffectsBatchCodeTable(dataFrame, dose = '1')\n", " batchCodeTableFactory = BatchCodeTableFactory(dataFrame)\n",
" severeEffectsBatchCodeTable = batchCodeTableFactory.createSevereEffectsBatchCodeTable(dose = '1')\n",
" display('severeEffectsBatchCodeTable', severeEffectsBatchCodeTable)\n", " display('severeEffectsBatchCodeTable', severeEffectsBatchCodeTable)\n",
" severeEffectsBatchCodeTable.to_excel(excelFile)" " severeEffectsBatchCodeTable.to_excel(excelFile)"
] ]