...
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 | ||||
---|---|---|---|---|
| ||||
##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')) |