Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DHIS2

FHIR

DHIS2 vs FHIR %

Average

0.468058460583

0.304159 305799

15433.8036063

Test detailed results

logged on Nov 2229/ 2022 UTC-7 2109:3807:00

Performance Testing for finding

Attempt

DHIS2 API (s)

FHIR API (s)

Improvement (%)

El Salvador, Santa Ana, Santa Ana

Attempt 1

0.

511257

500818

0.

366876

359716

139

28.

354

1743

Attempt 2

0.

509355

491777

0.

360223

353378

141

28.

4

1426

Attempt 3

0.

522452

501194

0.

359657

364875

145

27.

264

1988

Kenya, Nairobi, Dagoretti North

Attempt 1

0.

507172

514793

0.

285228

285152

177

44.

813

6084

Attempt 2

0.

523098

501061

0.

280332

278943

186

44.

599

3295

Attempt 3

0.

500746

505827

0.

282245

28871

177

42.

415

9232

Nigeria, Kaduna State, Ifedayo LGA

Attempt 1

0.

341146

345526

0.

285766

291971

119

15.

379

4996

Attempt 2

0.

33383

326727

0.

2955

275393

112

15.

971

7116

Attempt 3

0.

334494

330137

0.

276497

296474

120

10.

976

1967

Nepal, Banepa, Banepa

Attempt 1

0.

510542

503351

0.

28096

301019

181

40.

713

197

Attempt 2

0.

514676

505373

0.

285235

285749

180

43.

439

4578

Attempt 3

0.

507931

500418

0.

291392

288203

174

42.

312

4075

Overall Average

0.

468058

460583

0.

304159

305799

154

33.

803

6063

Testing Script

Code Block
languagepy
## Case #4
results4 = [{"description": "Performance Testing for finding","attempt": "Attempt", "dhis2": "DHIS2 API (s)", "fhir": "FHIR API (s)", "improvement": "Improvement (%)"}]
print("Case #4 - Measuring time taken to find outlets in area & subArea")
improvements = []
dhis2_performances = []
fhir_performances = []
for country in countries:
    if country['name'] != "Cameroon":
        for i in range (1,4):
            result4 = {}
            if i == 1:
                result4['description'] = "{}, {}, {}".format(country['name'], country['area'], country['subArea'])
            result4['attempt'] = "Attempt {}".format(i)
            dhis2_url = dhis2_base_url+'area={}&areaSub={}'.format(country['area'], country['subArea'])
            result = requests.get(dhis2_url, auth=dhis2_auth)
            if result.status_code == 200:
                dhis2_performances.append(result.elapsed.total_seconds())
                result4['dhis2'] = dhis2_performances[-1]

            request_url = fhir_location_url+'address={}&address-city={}&_count=500'.format(country['area'], country['subArea'])
            fhirResult = requests.get(request_url, auth=fhir_auth)
            if fhirResult.status_code == 200:
                fhir_performances.append(fhirResult.elapsed.total_seconds())
                result4['fhir'] = fhir_performances[-1]

            improvements.append(((dhis2_performances[-1]/fhir - fhir_performances[-1])/dhis2_performances[-1])*100)
            result4['improvement'] = improvements[-1]
            results4.append(result4)
            time.sleep(0.01)
result4 = {}
result4['description'] = "Overall Average"
result4['dhis2'] = Average(dhis2_performances)
result4['fhir'] = Average(fhir_performances)
result4['improvement'] = Average(improvements)((result4['dhis2'] - result4['fhir'])/result4['dhis2'])*100
results4.append(result4)
print(tabulate(results4, headers='firstrow', tablefmt='htmlpipe'))