Versions Compared

Key

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

...

DHIS2

FHIR

DHIS2 vs FHIR %

Average

0.552877 559433

0.552823559633

100-5.84614751

Test detailed results

logged on Nov 2229/ 2022 UTC-7 2008:5035:00

Performance Testing for

Attempt

DHIS2 API

FHIR API

FHIR API (with HealthcareServices),

Improvement

(

%

)

El Salvador

Attempt - 1

0.

519389

519845

0.

440304

49418

0.

469497

562221

117

4.

961

93705

Attempt - 2

0.

529713

57532

0.

477896

424411

0.

511702

454275

110

26.

843

2304

Attempt - 3

0.

531602

54541

0.

471425

4306

0.

494385

445373

112.765

Average

0.526901

0.463208

0.491861

113.856

21.0502

Kenya

Attempt - 1

0.

671807

649501

0.

54995

616995

0.

676148

613571

122

5.

158

00477

Attempt - 2

0.

659882

681508

0.

565902

559262

0.

646831

577607

116

17.

607

9376

Attempt - 3

0.

675049

663324

0.

582467

57675

0.

673331

61023

115.895

Average

0.668913

0.566106

0.665437

118.22

13.0515

Nigeria

Attempt - 1

0.

543742

52902

0.

573266

599715

0.

683242

629629

94

-13.

8499

3634

Attempt - 2

0.

52637

536094

0.

569232

579989

0.

745541

68599

92

-8.

4702

18793

Attempt - 3

0.

541472

588082

0.

608343

579535

0.

790074

60863

89.0077

Average

0.537195

0.583614

0.739619

92.1092

1.45337

Cameroon

Attempt - 1

0.

376211

371575

0.

561858

63747

0.

652159

606542

66

-71.

9584

5589

Attempt - 2

0.

37443

371396

0.

599746

566286

0.

79305

588483

62

-52.

4314

475

Attempt - 3

0.

360255

363826

0.

587638

571734

0.

671873

582228

61.3056

Average

0.370299

0.583081

0.705694

63.5651

-57.1449

Nepal

Attempt - 1

0.

660437

675976

0.

549037

604182

0.

654779

593038

120

10.

29

6208

Attempt - 2

0.

655759

651016

0.

559969

590685

0.

826436

672721

117

9.

106

26721

Attempt - 3

0.

667043

669601

0.

595319

562703

0.

671326

57227

112.048

Average

0.66108

0.568108

0.717514

116.481

15.9644

Overall Average

0.

552877

559433

0.

552823

559633

0.

664025

586854

100.846

...

-5.14751

Code Block
breakoutModewide
languagepy
##Case 1
case_1_results = [{"description": "Performance Testing for", "attempt": "Attempt", "dhis2": "DHIS2 API", "fhir": "FHIR API", "fhir_with_healthcareServices": "FHIR API (with HealthcareServices),", "improvement":"Improvement %"}]
print("Case #1 - Getting 500 orgUnits/Location in the country (by ISO)")

...

improvements = 

...

[]

...

dhis2_

...

performances = 

...

[]
fhir_

...

hsc_

...

performances = 

...

[]

...

fhir_

...

performances = 

...

[]
for country in countries:

...


...

 

...

   

...

for i in range(1,4):
        case_1_result = {}
        if i == 1:
            case_1_result['description'] = "{}".format(country['name'])
        case_1_result['attempt'] = "Attempt - {}".format(i)
        dhis2_url = dhis2_base_url+'iso2={}&number=500'.format(country['code'])
        result = requests.get(dhis2_url, auth=dhis2_auth)
        if result.status_code == 200:
            dhis2_performances.append(result.elapsed.total_seconds())
            case_1_result['dhis2'] = 

...

dhis2_performances[-1]

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

...

fhir_performances[-1]
        
        request_healthcare_url = fhir_location_url+'address-country={}&_count=500&_revinclude=HealthcareService:location'.format(country['name'])
        fhirHealthcareServicesResult = requests.get(request_healthcare_url, auth=fhir_auth)
        if fhirHealthcareServicesResult.status_code == 200:
            

...

fhir_

...

hsc_performances.append(fhirHealthcareServicesResult.elapsed.total_seconds())

...


            

...

case_1_result['

...

fhir_with_healthcareServices'] = fhir_hsc_performances[-1]
       

...

 

...


        

...

improvements.

...

append(((case_1_result['

...

dhis2'] 

...

- case_1_result['

...

fhir']

...

) / case_1_result['

...

dhis2'])*100)

...

 

...

 

...

 

...

     case_1_result['

...

improvement'] = 

...

improvements[-1]
        case_1_results.append(case_1_result)

...


...

 

...

 

...

     

...

 time.sleep(0.01)
case_1_result = {}
case_1_result['description'] = "Overall Average"
case_1_result['dhis2'] = Average(dhis2_

...

performances)
case_1_result['fhir'] = Average(fhir_

...

performances)
case_1_result['fhir_with_healthcareServices'] = Average(fhir_

...

hsc_performances)
case_1_result['improvement'] = 

...

Average(improvements)
case_1_results.append(case_1_result)
print(tabulate(case_1_results, headers='firstrow', tablefmt='

...

pipe'))