Roland Ding commited on
Commit
2463a2d
·
1 Parent(s): 004db8a

updated the backend_update.ipynb to include the new functions

Browse files
Files changed (1) hide show
  1. backend_update.ipynb +724 -33
backend_update.ipynb CHANGED
@@ -4275,27 +4275,148 @@
4275
  },
4276
  {
4277
  "cell_type": "code",
4278
- "execution_count": 127,
4279
  "metadata": {},
4280
  "outputs": [
4281
  {
4282
- "name": "stdout",
4283
- "output_type": "stream",
4284
- "text": [
4285
- "Park JH 2009.pdf []\n",
4286
- "Ha SK 2008.pdf []\n",
4287
- "Oh JK 2013b.pdf []\n",
4288
- "Song KJ 2009.pdf []\n",
4289
- "Han SY 2016.pdf [[{'Adverse Events': 'Subsidence', 'Event N': '20.0', 'Study N': '81', 'Event %': '24.7%'}, {'Adverse Events': 'Cage subsidence, Cervical kyphosis', 'Event N': '13, 10', 'Study N': '36', 'Event %': '36.1%, 27.8%'}]]\n",
4290
- "Han SY 2016.pdf [{'Adverse Events': 'Subsidence', 'Event N': '20.0', 'Study N': '81', 'Event %': '24.7%'}, {'Adverse Events': 'Cage subsidence, Cervical kyphosis', 'Event N': '13, 10', 'Study N': '36', 'Event %': '36.1%, 27.8%'}]\n",
4291
- "Song KJ 2011.pdf []\n",
4292
- "Liu H 2012.pdf []\n",
4293
- "Niu CC 2010.pdf []\n",
4294
- "Yang JJ 2011.pdf []\n",
4295
- "Park JH 2008.pdf []\n",
4296
- "Shin S 2007.pdf []\n",
4297
- "Oh JK 2013a.pdf []\n"
4298
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4299
  }
4300
  ],
4301
  "source": [
@@ -4345,24 +4466,593 @@
4345
  " return list(self.articles.keys())\n",
4346
  "\n",
4347
  "sample_articles = ArticleCollection(articles=articles)\n",
4348
- "article_tables = sample_articles.get_tables_aggregate(\"saf-Futable-FIN\")\n"
 
4349
  ]
4350
  },
4351
  {
4352
  "cell_type": "code",
4353
- "execution_count": 129,
4354
  "metadata": {},
4355
  "outputs": [
4356
  {
4357
- "ename": "AttributeError",
4358
- "evalue": "'list' object has no attribute 'items'",
4359
- "output_type": "error",
4360
- "traceback": [
4361
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
4362
- "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)",
4363
- "\u001b[1;32mc:\\Users\\sheng\\20 AMRA AI\\amra-app\\studies\\backend_update.ipynb Cell 92\u001b[0m line \u001b[0;36m5\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/sheng/20%20AMRA%20AI/amra-app/studies/backend_update.ipynb#Y426sZmlsZQ%3D%3D?line=2'>3</a>\u001b[0m \u001b[39m# transform the tables into dataframe and join them together\u001b[39;00m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/sheng/20%20AMRA%20AI/amra-app/studies/backend_update.ipynb#Y426sZmlsZQ%3D%3D?line=3'>4</a>\u001b[0m dfs \u001b[39m=\u001b[39m []\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Users/sheng/20%20AMRA%20AI/amra-app/studies/backend_update.ipynb#Y426sZmlsZQ%3D%3D?line=4'>5</a>\u001b[0m \u001b[39mfor\u001b[39;00m article,records \u001b[39min\u001b[39;00m tables\u001b[39m.\u001b[39;49mitems():\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/sheng/20%20AMRA%20AI/amra-app/studies/backend_update.ipynb#Y426sZmlsZQ%3D%3D?line=5'>6</a>\u001b[0m df_temp \u001b[39m=\u001b[39m pd\u001b[39m.\u001b[39mDataFrame(records)\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/sheng/20%20AMRA%20AI/amra-app/studies/backend_update.ipynb#Y426sZmlsZQ%3D%3D?line=6'>7</a>\u001b[0m df_temp[\u001b[39m\"\u001b[39m\u001b[39marticle\u001b[39m\u001b[39m\"\u001b[39m] \u001b[39m=\u001b[39m article\n",
4364
- "\u001b[1;31mAttributeError\u001b[0m: 'list' object has no attribute 'items'"
4365
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4366
  }
4367
  ],
4368
  "source": [
@@ -4370,10 +5060,11 @@
4370
  "\n",
4371
  "# transform the tables into dataframe and join them together\n",
4372
  "dfs = []\n",
4373
- "for article,records in tables.items():\n",
4374
- " df_temp = pd.DataFrame(records)\n",
4375
- " df_temp[\"article\"] = article\n",
4376
- " dfs.append(df_temp)\n",
 
4377
  "\n",
4378
  "df = pd.concat(dfs)\n",
4379
  "df"
 
4275
  },
4276
  {
4277
  "cell_type": "code",
4278
+ "execution_count": 131,
4279
  "metadata": {},
4280
  "outputs": [
4281
  {
4282
+ "data": {
4283
+ "text/plain": [
4284
+ "{'Park JH 2009.pdf': [[{'Safety Outcome Summary': 'Subsequent Surgery',\n",
4285
+ " 'Adverse Events': '0',\n",
4286
+ " 'Event N': '31',\n",
4287
+ " 'Study N': '0.0%'},\n",
4288
+ " {'Safety Outcome Summary': 'Adverse Events',\n",
4289
+ " 'Adverse Events': '',\n",
4290
+ " 'Event N': '',\n",
4291
+ " 'Study N': '',\n",
4292
+ " 'Event %': ''},\n",
4293
+ " {'Safety Outcome Summary': 'Cage failure or migration',\n",
4294
+ " 'Adverse Events': '0',\n",
4295
+ " 'Event N': '31',\n",
4296
+ " 'Study N': '0%'},\n",
4297
+ " {'Safety Outcome Summary': 'Complications associated with the use of Grafton',\n",
4298
+ " 'Adverse Events': '0',\n",
4299
+ " 'Event N': '31',\n",
4300
+ " 'Study N': '0%'},\n",
4301
+ " {'Safety Outcome Summary': 'Spinal cord or nerve injury',\n",
4302
+ " 'Adverse Events': '0',\n",
4303
+ " 'Event N': '31',\n",
4304
+ " 'Study N': '0%'},\n",
4305
+ " {'Safety Outcome Summary': 'Infection',\n",
4306
+ " 'Adverse Events': '0',\n",
4307
+ " 'Event N': '31',\n",
4308
+ " 'Study N': '0%'},\n",
4309
+ " {'Safety Outcome Summary': 'Vascular or esophageal injuries',\n",
4310
+ " 'Adverse Events': '0',\n",
4311
+ " 'Event N': '31',\n",
4312
+ " 'Study N': '0%'},\n",
4313
+ " {'Safety Outcome Summary': 'Permanent hoarseness or swallowing difficulty',\n",
4314
+ " 'Adverse Events': '0',\n",
4315
+ " 'Event N': '31',\n",
4316
+ " 'Study N': '0%'}]],\n",
4317
+ " 'Ha SK 2008.pdf': [[{'Safety Outcome Summary': 'Subsidence',\n",
4318
+ " 'Adverse Events': '3',\n",
4319
+ " 'Event N': '42',\n",
4320
+ " 'Study N': '7.1%',\n",
4321
+ " 'Event %': ''}]],\n",
4322
+ " 'Oh JK 2013b.pdf': [],\n",
4323
+ " 'Song KJ 2009.pdf': [[{'Adverse Events': 'Subsequent Surgery',\n",
4324
+ " 'Event N': '25.0',\n",
4325
+ " 'Study N': '78',\n",
4326
+ " 'Event %': '32.1%'},\n",
4327
+ " {'Adverse Events': 'Subsidence',\n",
4328
+ " 'Event N': 'NR',\n",
4329
+ " 'Study N': 'NR',\n",
4330
+ " 'Event %': '10.5%'},\n",
4331
+ " {'Adverse Events': 'Pseudarthrosis',\n",
4332
+ " 'Event N': '4',\n",
4333
+ " 'Study N': '38',\n",
4334
+ " 'Event %': '10.5%'},\n",
4335
+ " {'Adverse Events': 'Revision surgery for pseudarthrosis',\n",
4336
+ " 'Event N': '4',\n",
4337
+ " 'Study N': '38',\n",
4338
+ " 'Event %': '10.5%'}]],\n",
4339
+ " 'Han SY 2016.pdf': [[{'Adverse Events': 'Subsidence',\n",
4340
+ " 'Event N': '20.0',\n",
4341
+ " 'Study N': '81',\n",
4342
+ " 'Event %': '24.7%'},\n",
4343
+ " {'Adverse Events': 'Cage subsidence, Cervical kyphosis',\n",
4344
+ " 'Event N': '13, 10',\n",
4345
+ " 'Study N': '36',\n",
4346
+ " 'Event %': '36.1%, 27.8%'}],\n",
4347
+ " [{'Safety Outcome': 'Event N',\n",
4348
+ " 'Subsidence': '20.0',\n",
4349
+ " 'Cage subsidence': '13',\n",
4350
+ " 'Cervical kyphosis': '10'},\n",
4351
+ " {'Safety Outcome': 'Study N',\n",
4352
+ " 'Subsidence': '81',\n",
4353
+ " 'Cage subsidence': '36',\n",
4354
+ " 'Cervical kyphosis': '36'},\n",
4355
+ " {'Safety Outcome': 'Event %',\n",
4356
+ " 'Subsidence': '24.7%',\n",
4357
+ " 'Cage subsidence': '36.1%',\n",
4358
+ " 'Cervical kyphosis': '27.8%'}]],\n",
4359
+ " 'Song KJ 2011.pdf': [],\n",
4360
+ " 'Liu H 2012.pdf': [[{'Adverse Events': 'Subsequent Surgery',\n",
4361
+ " 'Event N': '0',\n",
4362
+ " 'Study N': '25',\n",
4363
+ " 'Event %': '0.0%'},\n",
4364
+ " {'Adverse Events': 'Subsidence',\n",
4365
+ " 'Event N': '1',\n",
4366
+ " 'Study N': '25',\n",
4367
+ " 'Event %': '4.0%'},\n",
4368
+ " {'Adverse Events': 'Cage subsidence',\n",
4369
+ " 'Event N': '1',\n",
4370
+ " 'Study N': '25',\n",
4371
+ " 'Event %': '4.0%'}]],\n",
4372
+ " 'Niu CC 2010.pdf': [],\n",
4373
+ " 'Yang JJ 2011.pdf': [],\n",
4374
+ " 'Park JH 2008.pdf': [[{'Adverse Events': 'Subsequent Surgery - Revision',\n",
4375
+ " 'Event N': '0',\n",
4376
+ " 'Study N': '53',\n",
4377
+ " 'Event %': '0.0%'},\n",
4378
+ " {'Adverse Events': 'Subsequent Surgery - Reoperation',\n",
4379
+ " 'Event N': '0',\n",
4380
+ " 'Study N': '',\n",
4381
+ " 'Event %': ''},\n",
4382
+ " {'Adverse Events': 'Subsidence - Subsidence',\n",
4383
+ " 'Event N': '5',\n",
4384
+ " 'Study N': '53',\n",
4385
+ " 'Event %': '9.4%'},\n",
4386
+ " {'Adverse Events': 'Settling and Migration',\n",
4387
+ " 'Event N': '0',\n",
4388
+ " 'Study N': '',\n",
4389
+ " 'Event %': '0.0%'},\n",
4390
+ " {'Adverse Events': 'Cage Subsidences',\n",
4391
+ " 'Event N': '5',\n",
4392
+ " 'Study N': '',\n",
4393
+ " 'Event %': '100.0%'},\n",
4394
+ " {'Adverse Events': 'Heterotrophic Ossification',\n",
4395
+ " 'Event N': '0',\n",
4396
+ " 'Study N': '',\n",
4397
+ " 'Event %': '0.0%'}]],\n",
4398
+ " 'Shin S 2007.pdf': [[]],\n",
4399
+ " 'Oh JK 2013a.pdf': [[{'Adverse Events': 'Subsequent Surgery',\n",
4400
+ " 'Event N': '13.0',\n",
4401
+ " 'Study N': '54',\n",
4402
+ " 'Event %': '24.1%'},\n",
4403
+ " {'Adverse Events': 'Subsidence',\n",
4404
+ " 'Event N': 'NR',\n",
4405
+ " 'Study N': 'NR',\n",
4406
+ " 'Event %': '0%'},\n",
4407
+ " {'Adverse Events': 'Plate-related complications',\n",
4408
+ " 'Event N': '1',\n",
4409
+ " 'Study N': '54',\n",
4410
+ " 'Event %': '1.9%'},\n",
4411
+ " {'Adverse Events': 'No complications or adverse events were reported in the study',\n",
4412
+ " 'Event N': '0',\n",
4413
+ " 'Study N': '0',\n",
4414
+ " 'Event %': '0%'}]]}"
4415
+ ]
4416
+ },
4417
+ "execution_count": 131,
4418
+ "metadata": {},
4419
+ "output_type": "execute_result"
4420
  }
4421
  ],
4422
  "source": [
 
4466
  " return list(self.articles.keys())\n",
4467
  "\n",
4468
  "sample_articles = ArticleCollection(articles=articles)\n",
4469
+ "article_tables = sample_articles.get_tables_aggregate(\"saf-Futable-FIN\")\n",
4470
+ "article_tables\n"
4471
  ]
4472
  },
4473
  {
4474
  "cell_type": "code",
4475
+ "execution_count": 135,
4476
  "metadata": {},
4477
  "outputs": [
4478
  {
4479
+ "data": {
4480
+ "text/html": [
4481
+ "<div>\n",
4482
+ "<style scoped>\n",
4483
+ " .dataframe tbody tr th:only-of-type {\n",
4484
+ " vertical-align: middle;\n",
4485
+ " }\n",
4486
+ "\n",
4487
+ " .dataframe tbody tr th {\n",
4488
+ " vertical-align: top;\n",
4489
+ " }\n",
4490
+ "\n",
4491
+ " .dataframe thead th {\n",
4492
+ " text-align: right;\n",
4493
+ " }\n",
4494
+ "</style>\n",
4495
+ "<table border=\"1\" class=\"dataframe\">\n",
4496
+ " <thead>\n",
4497
+ " <tr style=\"text-align: right;\">\n",
4498
+ " <th></th>\n",
4499
+ " <th>Safety Outcome Summary</th>\n",
4500
+ " <th>Adverse Events</th>\n",
4501
+ " <th>Event N</th>\n",
4502
+ " <th>Study N</th>\n",
4503
+ " <th>Event %</th>\n",
4504
+ " <th>article</th>\n",
4505
+ " <th>Safety Outcome</th>\n",
4506
+ " <th>Subsidence</th>\n",
4507
+ " <th>Cage subsidence</th>\n",
4508
+ " <th>Cervical kyphosis</th>\n",
4509
+ " </tr>\n",
4510
+ " </thead>\n",
4511
+ " <tbody>\n",
4512
+ " <tr>\n",
4513
+ " <th>0</th>\n",
4514
+ " <td>Subsequent Surgery</td>\n",
4515
+ " <td>0</td>\n",
4516
+ " <td>31</td>\n",
4517
+ " <td>0.0%</td>\n",
4518
+ " <td>NaN</td>\n",
4519
+ " <td>Park JH 2009.pdf</td>\n",
4520
+ " <td>NaN</td>\n",
4521
+ " <td>NaN</td>\n",
4522
+ " <td>NaN</td>\n",
4523
+ " <td>NaN</td>\n",
4524
+ " </tr>\n",
4525
+ " <tr>\n",
4526
+ " <th>1</th>\n",
4527
+ " <td>Adverse Events</td>\n",
4528
+ " <td></td>\n",
4529
+ " <td></td>\n",
4530
+ " <td></td>\n",
4531
+ " <td></td>\n",
4532
+ " <td>Park JH 2009.pdf</td>\n",
4533
+ " <td>NaN</td>\n",
4534
+ " <td>NaN</td>\n",
4535
+ " <td>NaN</td>\n",
4536
+ " <td>NaN</td>\n",
4537
+ " </tr>\n",
4538
+ " <tr>\n",
4539
+ " <th>2</th>\n",
4540
+ " <td>Cage failure or migration</td>\n",
4541
+ " <td>0</td>\n",
4542
+ " <td>31</td>\n",
4543
+ " <td>0%</td>\n",
4544
+ " <td>NaN</td>\n",
4545
+ " <td>Park JH 2009.pdf</td>\n",
4546
+ " <td>NaN</td>\n",
4547
+ " <td>NaN</td>\n",
4548
+ " <td>NaN</td>\n",
4549
+ " <td>NaN</td>\n",
4550
+ " </tr>\n",
4551
+ " <tr>\n",
4552
+ " <th>3</th>\n",
4553
+ " <td>Complications associated with the use of Grafton</td>\n",
4554
+ " <td>0</td>\n",
4555
+ " <td>31</td>\n",
4556
+ " <td>0%</td>\n",
4557
+ " <td>NaN</td>\n",
4558
+ " <td>Park JH 2009.pdf</td>\n",
4559
+ " <td>NaN</td>\n",
4560
+ " <td>NaN</td>\n",
4561
+ " <td>NaN</td>\n",
4562
+ " <td>NaN</td>\n",
4563
+ " </tr>\n",
4564
+ " <tr>\n",
4565
+ " <th>4</th>\n",
4566
+ " <td>Spinal cord or nerve injury</td>\n",
4567
+ " <td>0</td>\n",
4568
+ " <td>31</td>\n",
4569
+ " <td>0%</td>\n",
4570
+ " <td>NaN</td>\n",
4571
+ " <td>Park JH 2009.pdf</td>\n",
4572
+ " <td>NaN</td>\n",
4573
+ " <td>NaN</td>\n",
4574
+ " <td>NaN</td>\n",
4575
+ " <td>NaN</td>\n",
4576
+ " </tr>\n",
4577
+ " <tr>\n",
4578
+ " <th>5</th>\n",
4579
+ " <td>Infection</td>\n",
4580
+ " <td>0</td>\n",
4581
+ " <td>31</td>\n",
4582
+ " <td>0%</td>\n",
4583
+ " <td>NaN</td>\n",
4584
+ " <td>Park JH 2009.pdf</td>\n",
4585
+ " <td>NaN</td>\n",
4586
+ " <td>NaN</td>\n",
4587
+ " <td>NaN</td>\n",
4588
+ " <td>NaN</td>\n",
4589
+ " </tr>\n",
4590
+ " <tr>\n",
4591
+ " <th>6</th>\n",
4592
+ " <td>Vascular or esophageal injuries</td>\n",
4593
+ " <td>0</td>\n",
4594
+ " <td>31</td>\n",
4595
+ " <td>0%</td>\n",
4596
+ " <td>NaN</td>\n",
4597
+ " <td>Park JH 2009.pdf</td>\n",
4598
+ " <td>NaN</td>\n",
4599
+ " <td>NaN</td>\n",
4600
+ " <td>NaN</td>\n",
4601
+ " <td>NaN</td>\n",
4602
+ " </tr>\n",
4603
+ " <tr>\n",
4604
+ " <th>7</th>\n",
4605
+ " <td>Permanent hoarseness or swallowing difficulty</td>\n",
4606
+ " <td>0</td>\n",
4607
+ " <td>31</td>\n",
4608
+ " <td>0%</td>\n",
4609
+ " <td>NaN</td>\n",
4610
+ " <td>Park JH 2009.pdf</td>\n",
4611
+ " <td>NaN</td>\n",
4612
+ " <td>NaN</td>\n",
4613
+ " <td>NaN</td>\n",
4614
+ " <td>NaN</td>\n",
4615
+ " </tr>\n",
4616
+ " <tr>\n",
4617
+ " <th>0</th>\n",
4618
+ " <td>Subsidence</td>\n",
4619
+ " <td>3</td>\n",
4620
+ " <td>42</td>\n",
4621
+ " <td>7.1%</td>\n",
4622
+ " <td></td>\n",
4623
+ " <td>Ha SK 2008.pdf</td>\n",
4624
+ " <td>NaN</td>\n",
4625
+ " <td>NaN</td>\n",
4626
+ " <td>NaN</td>\n",
4627
+ " <td>NaN</td>\n",
4628
+ " </tr>\n",
4629
+ " <tr>\n",
4630
+ " <th>0</th>\n",
4631
+ " <td>NaN</td>\n",
4632
+ " <td>Subsequent Surgery</td>\n",
4633
+ " <td>25.0</td>\n",
4634
+ " <td>78</td>\n",
4635
+ " <td>32.1%</td>\n",
4636
+ " <td>Song KJ 2009.pdf</td>\n",
4637
+ " <td>NaN</td>\n",
4638
+ " <td>NaN</td>\n",
4639
+ " <td>NaN</td>\n",
4640
+ " <td>NaN</td>\n",
4641
+ " </tr>\n",
4642
+ " <tr>\n",
4643
+ " <th>1</th>\n",
4644
+ " <td>NaN</td>\n",
4645
+ " <td>Subsidence</td>\n",
4646
+ " <td>NR</td>\n",
4647
+ " <td>NR</td>\n",
4648
+ " <td>10.5%</td>\n",
4649
+ " <td>Song KJ 2009.pdf</td>\n",
4650
+ " <td>NaN</td>\n",
4651
+ " <td>NaN</td>\n",
4652
+ " <td>NaN</td>\n",
4653
+ " <td>NaN</td>\n",
4654
+ " </tr>\n",
4655
+ " <tr>\n",
4656
+ " <th>2</th>\n",
4657
+ " <td>NaN</td>\n",
4658
+ " <td>Pseudarthrosis</td>\n",
4659
+ " <td>4</td>\n",
4660
+ " <td>38</td>\n",
4661
+ " <td>10.5%</td>\n",
4662
+ " <td>Song KJ 2009.pdf</td>\n",
4663
+ " <td>NaN</td>\n",
4664
+ " <td>NaN</td>\n",
4665
+ " <td>NaN</td>\n",
4666
+ " <td>NaN</td>\n",
4667
+ " </tr>\n",
4668
+ " <tr>\n",
4669
+ " <th>3</th>\n",
4670
+ " <td>NaN</td>\n",
4671
+ " <td>Revision surgery for pseudarthrosis</td>\n",
4672
+ " <td>4</td>\n",
4673
+ " <td>38</td>\n",
4674
+ " <td>10.5%</td>\n",
4675
+ " <td>Song KJ 2009.pdf</td>\n",
4676
+ " <td>NaN</td>\n",
4677
+ " <td>NaN</td>\n",
4678
+ " <td>NaN</td>\n",
4679
+ " <td>NaN</td>\n",
4680
+ " </tr>\n",
4681
+ " <tr>\n",
4682
+ " <th>0</th>\n",
4683
+ " <td>NaN</td>\n",
4684
+ " <td>Subsidence</td>\n",
4685
+ " <td>20.0</td>\n",
4686
+ " <td>81</td>\n",
4687
+ " <td>24.7%</td>\n",
4688
+ " <td>Han SY 2016.pdf</td>\n",
4689
+ " <td>NaN</td>\n",
4690
+ " <td>NaN</td>\n",
4691
+ " <td>NaN</td>\n",
4692
+ " <td>NaN</td>\n",
4693
+ " </tr>\n",
4694
+ " <tr>\n",
4695
+ " <th>1</th>\n",
4696
+ " <td>NaN</td>\n",
4697
+ " <td>Cage subsidence, Cervical kyphosis</td>\n",
4698
+ " <td>13, 10</td>\n",
4699
+ " <td>36</td>\n",
4700
+ " <td>36.1%, 27.8%</td>\n",
4701
+ " <td>Han SY 2016.pdf</td>\n",
4702
+ " <td>NaN</td>\n",
4703
+ " <td>NaN</td>\n",
4704
+ " <td>NaN</td>\n",
4705
+ " <td>NaN</td>\n",
4706
+ " </tr>\n",
4707
+ " <tr>\n",
4708
+ " <th>0</th>\n",
4709
+ " <td>NaN</td>\n",
4710
+ " <td>NaN</td>\n",
4711
+ " <td>NaN</td>\n",
4712
+ " <td>NaN</td>\n",
4713
+ " <td>NaN</td>\n",
4714
+ " <td>Han SY 2016.pdf</td>\n",
4715
+ " <td>Event N</td>\n",
4716
+ " <td>20.0</td>\n",
4717
+ " <td>13</td>\n",
4718
+ " <td>10</td>\n",
4719
+ " </tr>\n",
4720
+ " <tr>\n",
4721
+ " <th>1</th>\n",
4722
+ " <td>NaN</td>\n",
4723
+ " <td>NaN</td>\n",
4724
+ " <td>NaN</td>\n",
4725
+ " <td>NaN</td>\n",
4726
+ " <td>NaN</td>\n",
4727
+ " <td>Han SY 2016.pdf</td>\n",
4728
+ " <td>Study N</td>\n",
4729
+ " <td>81</td>\n",
4730
+ " <td>36</td>\n",
4731
+ " <td>36</td>\n",
4732
+ " </tr>\n",
4733
+ " <tr>\n",
4734
+ " <th>2</th>\n",
4735
+ " <td>NaN</td>\n",
4736
+ " <td>NaN</td>\n",
4737
+ " <td>NaN</td>\n",
4738
+ " <td>NaN</td>\n",
4739
+ " <td>NaN</td>\n",
4740
+ " <td>Han SY 2016.pdf</td>\n",
4741
+ " <td>Event %</td>\n",
4742
+ " <td>24.7%</td>\n",
4743
+ " <td>36.1%</td>\n",
4744
+ " <td>27.8%</td>\n",
4745
+ " </tr>\n",
4746
+ " <tr>\n",
4747
+ " <th>0</th>\n",
4748
+ " <td>NaN</td>\n",
4749
+ " <td>Subsequent Surgery</td>\n",
4750
+ " <td>0</td>\n",
4751
+ " <td>25</td>\n",
4752
+ " <td>0.0%</td>\n",
4753
+ " <td>Liu H 2012.pdf</td>\n",
4754
+ " <td>NaN</td>\n",
4755
+ " <td>NaN</td>\n",
4756
+ " <td>NaN</td>\n",
4757
+ " <td>NaN</td>\n",
4758
+ " </tr>\n",
4759
+ " <tr>\n",
4760
+ " <th>1</th>\n",
4761
+ " <td>NaN</td>\n",
4762
+ " <td>Subsidence</td>\n",
4763
+ " <td>1</td>\n",
4764
+ " <td>25</td>\n",
4765
+ " <td>4.0%</td>\n",
4766
+ " <td>Liu H 2012.pdf</td>\n",
4767
+ " <td>NaN</td>\n",
4768
+ " <td>NaN</td>\n",
4769
+ " <td>NaN</td>\n",
4770
+ " <td>NaN</td>\n",
4771
+ " </tr>\n",
4772
+ " <tr>\n",
4773
+ " <th>2</th>\n",
4774
+ " <td>NaN</td>\n",
4775
+ " <td>Cage subsidence</td>\n",
4776
+ " <td>1</td>\n",
4777
+ " <td>25</td>\n",
4778
+ " <td>4.0%</td>\n",
4779
+ " <td>Liu H 2012.pdf</td>\n",
4780
+ " <td>NaN</td>\n",
4781
+ " <td>NaN</td>\n",
4782
+ " <td>NaN</td>\n",
4783
+ " <td>NaN</td>\n",
4784
+ " </tr>\n",
4785
+ " <tr>\n",
4786
+ " <th>0</th>\n",
4787
+ " <td>NaN</td>\n",
4788
+ " <td>Subsequent Surgery - Revision</td>\n",
4789
+ " <td>0</td>\n",
4790
+ " <td>53</td>\n",
4791
+ " <td>0.0%</td>\n",
4792
+ " <td>Park JH 2008.pdf</td>\n",
4793
+ " <td>NaN</td>\n",
4794
+ " <td>NaN</td>\n",
4795
+ " <td>NaN</td>\n",
4796
+ " <td>NaN</td>\n",
4797
+ " </tr>\n",
4798
+ " <tr>\n",
4799
+ " <th>1</th>\n",
4800
+ " <td>NaN</td>\n",
4801
+ " <td>Subsequent Surgery - Reoperation</td>\n",
4802
+ " <td>0</td>\n",
4803
+ " <td></td>\n",
4804
+ " <td></td>\n",
4805
+ " <td>Park JH 2008.pdf</td>\n",
4806
+ " <td>NaN</td>\n",
4807
+ " <td>NaN</td>\n",
4808
+ " <td>NaN</td>\n",
4809
+ " <td>NaN</td>\n",
4810
+ " </tr>\n",
4811
+ " <tr>\n",
4812
+ " <th>2</th>\n",
4813
+ " <td>NaN</td>\n",
4814
+ " <td>Subsidence - Subsidence</td>\n",
4815
+ " <td>5</td>\n",
4816
+ " <td>53</td>\n",
4817
+ " <td>9.4%</td>\n",
4818
+ " <td>Park JH 2008.pdf</td>\n",
4819
+ " <td>NaN</td>\n",
4820
+ " <td>NaN</td>\n",
4821
+ " <td>NaN</td>\n",
4822
+ " <td>NaN</td>\n",
4823
+ " </tr>\n",
4824
+ " <tr>\n",
4825
+ " <th>3</th>\n",
4826
+ " <td>NaN</td>\n",
4827
+ " <td>Settling and Migration</td>\n",
4828
+ " <td>0</td>\n",
4829
+ " <td></td>\n",
4830
+ " <td>0.0%</td>\n",
4831
+ " <td>Park JH 2008.pdf</td>\n",
4832
+ " <td>NaN</td>\n",
4833
+ " <td>NaN</td>\n",
4834
+ " <td>NaN</td>\n",
4835
+ " <td>NaN</td>\n",
4836
+ " </tr>\n",
4837
+ " <tr>\n",
4838
+ " <th>4</th>\n",
4839
+ " <td>NaN</td>\n",
4840
+ " <td>Cage Subsidences</td>\n",
4841
+ " <td>5</td>\n",
4842
+ " <td></td>\n",
4843
+ " <td>100.0%</td>\n",
4844
+ " <td>Park JH 2008.pdf</td>\n",
4845
+ " <td>NaN</td>\n",
4846
+ " <td>NaN</td>\n",
4847
+ " <td>NaN</td>\n",
4848
+ " <td>NaN</td>\n",
4849
+ " </tr>\n",
4850
+ " <tr>\n",
4851
+ " <th>5</th>\n",
4852
+ " <td>NaN</td>\n",
4853
+ " <td>Heterotrophic Ossification</td>\n",
4854
+ " <td>0</td>\n",
4855
+ " <td></td>\n",
4856
+ " <td>0.0%</td>\n",
4857
+ " <td>Park JH 2008.pdf</td>\n",
4858
+ " <td>NaN</td>\n",
4859
+ " <td>NaN</td>\n",
4860
+ " <td>NaN</td>\n",
4861
+ " <td>NaN</td>\n",
4862
+ " </tr>\n",
4863
+ " <tr>\n",
4864
+ " <th>0</th>\n",
4865
+ " <td>NaN</td>\n",
4866
+ " <td>Subsequent Surgery</td>\n",
4867
+ " <td>13.0</td>\n",
4868
+ " <td>54</td>\n",
4869
+ " <td>24.1%</td>\n",
4870
+ " <td>Oh JK 2013a.pdf</td>\n",
4871
+ " <td>NaN</td>\n",
4872
+ " <td>NaN</td>\n",
4873
+ " <td>NaN</td>\n",
4874
+ " <td>NaN</td>\n",
4875
+ " </tr>\n",
4876
+ " <tr>\n",
4877
+ " <th>1</th>\n",
4878
+ " <td>NaN</td>\n",
4879
+ " <td>Subsidence</td>\n",
4880
+ " <td>NR</td>\n",
4881
+ " <td>NR</td>\n",
4882
+ " <td>0%</td>\n",
4883
+ " <td>Oh JK 2013a.pdf</td>\n",
4884
+ " <td>NaN</td>\n",
4885
+ " <td>NaN</td>\n",
4886
+ " <td>NaN</td>\n",
4887
+ " <td>NaN</td>\n",
4888
+ " </tr>\n",
4889
+ " <tr>\n",
4890
+ " <th>2</th>\n",
4891
+ " <td>NaN</td>\n",
4892
+ " <td>Plate-related complications</td>\n",
4893
+ " <td>1</td>\n",
4894
+ " <td>54</td>\n",
4895
+ " <td>1.9%</td>\n",
4896
+ " <td>Oh JK 2013a.pdf</td>\n",
4897
+ " <td>NaN</td>\n",
4898
+ " <td>NaN</td>\n",
4899
+ " <td>NaN</td>\n",
4900
+ " <td>NaN</td>\n",
4901
+ " </tr>\n",
4902
+ " <tr>\n",
4903
+ " <th>3</th>\n",
4904
+ " <td>NaN</td>\n",
4905
+ " <td>No complications or adverse events were report...</td>\n",
4906
+ " <td>0</td>\n",
4907
+ " <td>0</td>\n",
4908
+ " <td>0%</td>\n",
4909
+ " <td>Oh JK 2013a.pdf</td>\n",
4910
+ " <td>NaN</td>\n",
4911
+ " <td>NaN</td>\n",
4912
+ " <td>NaN</td>\n",
4913
+ " <td>NaN</td>\n",
4914
+ " </tr>\n",
4915
+ " </tbody>\n",
4916
+ "</table>\n",
4917
+ "</div>"
4918
+ ],
4919
+ "text/plain": [
4920
+ " Safety Outcome Summary \\\n",
4921
+ "0 Subsequent Surgery \n",
4922
+ "1 Adverse Events \n",
4923
+ "2 Cage failure or migration \n",
4924
+ "3 Complications associated with the use of Grafton \n",
4925
+ "4 Spinal cord or nerve injury \n",
4926
+ "5 Infection \n",
4927
+ "6 Vascular or esophageal injuries \n",
4928
+ "7 Permanent hoarseness or swallowing difficulty \n",
4929
+ "0 Subsidence \n",
4930
+ "0 NaN \n",
4931
+ "1 NaN \n",
4932
+ "2 NaN \n",
4933
+ "3 NaN \n",
4934
+ "0 NaN \n",
4935
+ "1 NaN \n",
4936
+ "0 NaN \n",
4937
+ "1 NaN \n",
4938
+ "2 NaN \n",
4939
+ "0 NaN \n",
4940
+ "1 NaN \n",
4941
+ "2 NaN \n",
4942
+ "0 NaN \n",
4943
+ "1 NaN \n",
4944
+ "2 NaN \n",
4945
+ "3 NaN \n",
4946
+ "4 NaN \n",
4947
+ "5 NaN \n",
4948
+ "0 NaN \n",
4949
+ "1 NaN \n",
4950
+ "2 NaN \n",
4951
+ "3 NaN \n",
4952
+ "\n",
4953
+ " Adverse Events Event N Study N \\\n",
4954
+ "0 0 31 0.0% \n",
4955
+ "1 \n",
4956
+ "2 0 31 0% \n",
4957
+ "3 0 31 0% \n",
4958
+ "4 0 31 0% \n",
4959
+ "5 0 31 0% \n",
4960
+ "6 0 31 0% \n",
4961
+ "7 0 31 0% \n",
4962
+ "0 3 42 7.1% \n",
4963
+ "0 Subsequent Surgery 25.0 78 \n",
4964
+ "1 Subsidence NR NR \n",
4965
+ "2 Pseudarthrosis 4 38 \n",
4966
+ "3 Revision surgery for pseudarthrosis 4 38 \n",
4967
+ "0 Subsidence 20.0 81 \n",
4968
+ "1 Cage subsidence, Cervical kyphosis 13, 10 36 \n",
4969
+ "0 NaN NaN NaN \n",
4970
+ "1 NaN NaN NaN \n",
4971
+ "2 NaN NaN NaN \n",
4972
+ "0 Subsequent Surgery 0 25 \n",
4973
+ "1 Subsidence 1 25 \n",
4974
+ "2 Cage subsidence 1 25 \n",
4975
+ "0 Subsequent Surgery - Revision 0 53 \n",
4976
+ "1 Subsequent Surgery - Reoperation 0 \n",
4977
+ "2 Subsidence - Subsidence 5 53 \n",
4978
+ "3 Settling and Migration 0 \n",
4979
+ "4 Cage Subsidences 5 \n",
4980
+ "5 Heterotrophic Ossification 0 \n",
4981
+ "0 Subsequent Surgery 13.0 54 \n",
4982
+ "1 Subsidence NR NR \n",
4983
+ "2 Plate-related complications 1 54 \n",
4984
+ "3 No complications or adverse events were report... 0 0 \n",
4985
+ "\n",
4986
+ " Event % article Safety Outcome Subsidence Cage subsidence \\\n",
4987
+ "0 NaN Park JH 2009.pdf NaN NaN NaN \n",
4988
+ "1 Park JH 2009.pdf NaN NaN NaN \n",
4989
+ "2 NaN Park JH 2009.pdf NaN NaN NaN \n",
4990
+ "3 NaN Park JH 2009.pdf NaN NaN NaN \n",
4991
+ "4 NaN Park JH 2009.pdf NaN NaN NaN \n",
4992
+ "5 NaN Park JH 2009.pdf NaN NaN NaN \n",
4993
+ "6 NaN Park JH 2009.pdf NaN NaN NaN \n",
4994
+ "7 NaN Park JH 2009.pdf NaN NaN NaN \n",
4995
+ "0 Ha SK 2008.pdf NaN NaN NaN \n",
4996
+ "0 32.1% Song KJ 2009.pdf NaN NaN NaN \n",
4997
+ "1 10.5% Song KJ 2009.pdf NaN NaN NaN \n",
4998
+ "2 10.5% Song KJ 2009.pdf NaN NaN NaN \n",
4999
+ "3 10.5% Song KJ 2009.pdf NaN NaN NaN \n",
5000
+ "0 24.7% Han SY 2016.pdf NaN NaN NaN \n",
5001
+ "1 36.1%, 27.8% Han SY 2016.pdf NaN NaN NaN \n",
5002
+ "0 NaN Han SY 2016.pdf Event N 20.0 13 \n",
5003
+ "1 NaN Han SY 2016.pdf Study N 81 36 \n",
5004
+ "2 NaN Han SY 2016.pdf Event % 24.7% 36.1% \n",
5005
+ "0 0.0% Liu H 2012.pdf NaN NaN NaN \n",
5006
+ "1 4.0% Liu H 2012.pdf NaN NaN NaN \n",
5007
+ "2 4.0% Liu H 2012.pdf NaN NaN NaN \n",
5008
+ "0 0.0% Park JH 2008.pdf NaN NaN NaN \n",
5009
+ "1 Park JH 2008.pdf NaN NaN NaN \n",
5010
+ "2 9.4% Park JH 2008.pdf NaN NaN NaN \n",
5011
+ "3 0.0% Park JH 2008.pdf NaN NaN NaN \n",
5012
+ "4 100.0% Park JH 2008.pdf NaN NaN NaN \n",
5013
+ "5 0.0% Park JH 2008.pdf NaN NaN NaN \n",
5014
+ "0 24.1% Oh JK 2013a.pdf NaN NaN NaN \n",
5015
+ "1 0% Oh JK 2013a.pdf NaN NaN NaN \n",
5016
+ "2 1.9% Oh JK 2013a.pdf NaN NaN NaN \n",
5017
+ "3 0% Oh JK 2013a.pdf NaN NaN NaN \n",
5018
+ "\n",
5019
+ " Cervical kyphosis \n",
5020
+ "0 NaN \n",
5021
+ "1 NaN \n",
5022
+ "2 NaN \n",
5023
+ "3 NaN \n",
5024
+ "4 NaN \n",
5025
+ "5 NaN \n",
5026
+ "6 NaN \n",
5027
+ "7 NaN \n",
5028
+ "0 NaN \n",
5029
+ "0 NaN \n",
5030
+ "1 NaN \n",
5031
+ "2 NaN \n",
5032
+ "3 NaN \n",
5033
+ "0 NaN \n",
5034
+ "1 NaN \n",
5035
+ "0 10 \n",
5036
+ "1 36 \n",
5037
+ "2 27.8% \n",
5038
+ "0 NaN \n",
5039
+ "1 NaN \n",
5040
+ "2 NaN \n",
5041
+ "0 NaN \n",
5042
+ "1 NaN \n",
5043
+ "2 NaN \n",
5044
+ "3 NaN \n",
5045
+ "4 NaN \n",
5046
+ "5 NaN \n",
5047
+ "0 NaN \n",
5048
+ "1 NaN \n",
5049
+ "2 NaN \n",
5050
+ "3 NaN "
5051
+ ]
5052
+ },
5053
+ "execution_count": 135,
5054
+ "metadata": {},
5055
+ "output_type": "execute_result"
5056
  }
5057
  ],
5058
  "source": [
 
5060
  "\n",
5061
  "# transform the tables into dataframe and join them together\n",
5062
  "dfs = []\n",
5063
+ "for article,records in article_tables.items():\n",
5064
+ " for r in records:\n",
5065
+ " df_temp = pd.DataFrame(r)\n",
5066
+ " df_temp[\"article\"] = article\n",
5067
+ " dfs.append(df_temp)\n",
5068
  "\n",
5069
  "df = pd.concat(dfs)\n",
5070
  "df"