Versions Compared

Key

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

...

DHIS2

FHIR

DHIS2 vs FHIR %

Average

0.552675 554281

0.555544555023

99-0.943713%

Test detailed results

logged on Nov 22Dec 1/ 2022 UTC-7 2008:5040:00

...

Performance Testing for

...

Testing Script

...

Attempt

...

<table>
<thead>
<tr><th>Performance Testing for  </th><th>Attempt    </th><th style="text-align: right;">  DHIS2 API</th><th style="text-align: right;">  FHIR API</th><th style="text-align: right;">  FHIR API (with HealthcareServices),</th><th style="text-align: right;">  Improvement %</th></tr>
</thead>
<tbody>
<tr><td>El Salvador              </td><td>Attempt - 1</td><td style="text-align: right;">   0.519389</td><td style="text-align: right;">  0.440304</td><td style="text-align: right;">                             0.469497</td><td style="text-align: right;">       117.961 </td></tr>
<tr><td>                         </td><td>Attempt - 2</td><td style="text-align: right;">   0.529713</td><td style="text-align: right;">  0.477896</td><td style="text-align: right;">                             0.511702</td><td style="text-align: right;">       110.843 </td></tr>
<tr><td>                         </td><td>Attempt - 3</td><td style="text-align: right;">   0.531602</td><td style="text-align: right;">  0.471425</td><td style="text-align: right;">                             0.494385</td><td style="text-align: right;">       112.765 </td></tr>
<tr><td>                         </td><td>Average    </td><td style="text-align: right;">   0.526901</td><td style="text-align: right;">  0.463208</td><td style="text-align: right;">                             0.491861</td><td style="text-align: right;">       113.856 </td></tr>
<tr><td>Kenya                    </td><td>Attempt - 1</td><td style="text-align: right;">   0.671807</td><td style="text-align: right;">  0.54995 </td><td style="text-align: right;">                             0.676148</td><td style="text-align: right;">       122.158 </td></tr>
<tr><td>                         </td><td>Attempt - 2</td><td style="text-align: right;">   0.659882</td><td style="text-align: right;">  0.565902</td><td style="text-align: right;">                             0.646831</td><td style="text-align: right;">       116.607 </td></tr>
<tr><td>                         </td><td>Attempt - 3</td><td style="text-align: right;">   0.675049</td><td style="text-align: right;">  0.582467</td><td style="text-align: right;">                             0.673331</td><td style="text-align: right;">       115.895 </td></tr>
<tr><td>                         </td><td>Average    </td><td style="text-align: right;">   0.668913</td><td style="text-align: right;">  0.566106</td><td style="text-align: right;">                             0.665437</td><td style="text-align: right;">       118.22  </td></tr>
<tr><td>Nigeria                  </td><td>Attempt - 1</td><td style="text-align: right;">   0.543742</td><td style="text-align: right;">  0.573266</td><td style="text-align: right;">                             0.683242</td><td style="text-align: right;">        94.8499</td></tr>
<tr><td>                         </td><td>Attempt - 2</td><td style="text-align: right;">   0.52637 </td><td style="text-align: right;">  0.569232</td><td style="text-align: right;">                             0.745541</td><td style="text-align: right;">        92.4702</td></tr>
<tr><td>                         </td><td>Attempt - 3</td><td style="text-align: right;">   0.541472</td><td style="text-align: right;">  0.608343</td><td style="text-align: right;">                             0.790074</td><td style="text-align: right;">        89.0077</td></tr>
<tr><td>                         </td><td>Average    </td><td style="text-align: right;">   0.537195</td><td style="text-align: right;">  0.583614</td><td style="text-align: right;">                             0.739619</td><td style="text-align: right;">        92.1092</td></tr>
<tr><td>Cameroon                 </td><td>Attempt - 1</td><td style="text-align: right;">   0.376211</td><td style="text-align: right;">  0.561858</td><td style="text-align: right;">                             0.652159</td><td style="text-align: right;">        66.9584</td></tr>
<tr><td>                         </td><td>Attempt - 2</td><td style="text-align: right;">   0.37443 </td><td style="text-align: right;">  0.599746</td><td style="text-align: right;">                             0.79305 </td><td style="text-align: right;">        62.4314</td></tr>
<tr><td>                         </td><td>Attempt - 3</td><td style="text-align: right;">   0.360255</td><td style="text-align: right;">  0.587638</td><td style="text-align: right;">                             0.671873</td><td style="text-align: right;">        61.3056</td></tr>
<tr><td>                         </td><td>Average    </td><td style="text-align: right;">   0.370299</td><td style="text-align: right;">  0.583081</td><td style="text-align: right;">                             0.705694</td><td style="text-align: right;">        63.5651</td></tr>
<tr><td>Nepal                    </td><td>Attempt - 1</td><td style="text-align: right;">   0.660437</td><td style="text-align: right;">  0.549037</td><td style="text-align: right;">                             0.654779</td><td style="text-align: right;">       120.29  </td></tr>
<tr><td>                         </td><td>Attempt - 2</td><td style="text-align: right;">   0.655759</td><td style="text-align: right;">  0.559969</td><td style="text-align: right;">                             0.826436</td><td style="text-align: right;">       117.106 </td></tr>
<tr><td>                         </td><td>Attempt - 3</td><td style="text-align: right;">   0.667043</td><td style="text-align: right;">  0.595319</td><td style="text-align: right;">                             0.671326</td><td style="text-align: right;">       112.048 </td></tr>
<tr><td>                         </td><td>Average    </td><td style="text-align: right;">   0.66108 </td><td style="text-align: right;">  0.568108</td><td style="text-align: right;">                             0.717514</td><td style="text-align: right;">       116.481 </td></tr>
<tr><td>Overall Average          </td><td>           </td><td style="text-align: right;">   0.552877</td><td style="text-align: right;">  0.552823</td><td style="text-align: right;">                             0.664025</td><td style="text-align: right;">       100.846 </td></tr>
</tbody>
</table>

DHIS2 API

FHIR API

FHIR API (with HealthcareServices),

Improvement %

El Salvador

Attempt - 1

0.566667

0.488375

0.487989

16.03%

Attempt - 2

0.532607

0.437886

0.548295

21.63%

Attempt - 3

0.532142

0.452103

0.463129

17.7%

Kenya

Attempt - 1

0.657443

0.604362

0.625961

8.78%

Attempt - 2

0.655574

0.578361

0.574557

13.35%

Attempt - 3

0.659164

0.573111

0.663475

15.02%

Nigeria

Attempt - 1

0.526847

0.570136

0.651838

-7.59%

Attempt - 2

0.528978

0.588868

0.620271

-10.17%

Attempt - 3

0.536548

0.568277

0.70342

-5.58%

Cameroon

Attempt - 1

0.372636

0.587497

0.590178

-36.57%

Attempt - 2

0.371032

0.584348

0.595724

-36.5%

Attempt - 3

0.371502

0.558964

0.585595

-33.54%

Nepal

Attempt - 1

0.662525

0.612458

0.682753

8.17%

Attempt - 2

0.670834

0.56743

0.571592

18.22%

Attempt - 3

0.669719

0.553174

0.584597

21.07%

Overall Average

0.554281

0.555023

0.596625

-0.13%

Testing Script

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)")
dhis2_overall_averageimprovements = 0[]
fhirdhis2_overall_averageperformances = 0[]
fhir_hcshsc_overall_averageperformances = 0[]
improvementfhir_overallperformances = 0[]
for country in countries:
    dhis2_section_sum = 0
    fhir_section_sum = 0
    fhir_hcs_section_sum = 0
    improvement_section_sum = 0
    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'] = result.elapsed.total_seconds()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'] = fhirResult.elapsed.total_seconds()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:
            case_1_result['fhir_with_healthcareServices'] = hsc_performances.append(fhirHealthcareServicesResult.elapsed.total_seconds())
    
            case_1_result['improvementfhir_with_healthcareServices'] = (casefhir_1hsc_result['dhis2'] / case_1_result['fhir'])*100
  performances[-1]
     case_1_results.append(case_1_result)   
      dhis2_section_sum +=  improvements.append(((case_1_result['dhis2']         fhir_section_sum +=/ case_1_result['fhir']) - 1)*100)
      fhir_hcs_section_sum += case_1_result['fhir_with_healthcareServices']'improvement'] = '{}%'.format(float("{:.2f}".format(improvements[-1])))
        improvementcase_section_sum += 1_results.append(case_1_result['improvement'])
        time.sleep(1)
   0.01)
case_1_result = {}
   
case_1_result['attemptdescription'] = "Overall Average"
   
case_1_result['dhis2'] = np.average(dhis2_section_sum / 3
   performances)
case_1_result['fhir'] = np.average(fhir_section_sum / 3
   performances)
case_1_result['fhir_with_healthcareServices'] = np.average(fhir_hcs_section_sum / 3
    hsc_performances)
case_1_result['improvement'] = improvement_section_sum / 3
    case_1_results.append(case_1_result)
    dhis2_overall_average += dhis2_section_sum / 3
    fhir_overall_average += fhir_section_sum / 3
    fhir_hcs_overall_average += fhir_hcs_section_sum / 3
    improvement_overall += improvement_section_sum / 3
case_1_result = {}
case_1_result['description'] = "Overall Average"
'{}%'.format(float("{:.2f}".format(((case_1_result['dhis2'] = dhis2_overall_average / nos_countries
case_1_result['fhir'] = fhir_overall_average / nos_countries
case_1_result['fhir_with_healthcareServices'] = fhir_hcs_overall_average / nos_countries
case_1_result['improvement'] = improvement_overall / nos_countries
case_1_)-1)*100)))
case_1_results.append(case_1_result)
print(tabulate(case_1_results, headers='firstrow', tablefmt='fancy_gridpipe'))