...
DHIS2 | FHIR | DHIS2 vs FHIR % | ||
---|---|---|---|---|
Average | 0.55943355735 | 0.559633556148 | -50.14751215675 |
Test detailed results
logged on Nov 29/ 2022 UTC-7 0809:3520:00
Performance Testing for | Attempt | DHIS2 API | FHIR API | FHIR API (with HealthcareServices), | Improvement % |
---|---|---|---|---|---|
El Salvador | Attempt - 1 | 0. |
584538 | 0. |
556832 | 0. |
51522 | 4. |
73981 | ||
Attempt - 2 | 0. |
540187 | 0. |
452148 | 0. |
490487 |
16. |
2979 | ||
Attempt - 3 | 0. |
527518 | 0. |
448206 | 0. |
464108 |
15. |
0349 | ||
Kenya | Attempt - 1 | 0. |
670854 | 0. |
580913 | 0. |
611169 |
13. |
4069 | ||
Attempt - 2 | 0. |
650981 | 0. |
573247 | 0. |
592193 |
11. |
9411 | ||
Attempt - 3 | 0. |
666113 | 0. |
553176 | 0. |
626906 |
16. |
9546 | ||
Nigeria | Attempt - 1 | 0. |
542913 | 0. |
581144 | 0. |
641549 | - |
7. |
04183 | ||
Attempt - 2 | 0. |
539101 | 0. |
570632 | 0. |
622898 | - |
5. |
84881 | ||
Attempt - 3 | 0. |
529134 | 0. |
551834 | 0. |
605798 |
-4. |
29003 | ||
Cameroon | Attempt - 1 | 0. |
356464 | 0. |
576357 | 0. |
588069 | - |
61. |
6873 | ||
Attempt - 2 | 0. |
362752 | 0. |
569168 | 0. |
562994 | - |
56. |
9028 | ||
Attempt - 3 | 0. |
376103 | 0. |
571142 | 0. |
568529 | - |
51. |
8579 | ||
Nepal | Attempt - 1 | 0. |
66836 | 0. |
582882 | 0. |
614518 |
12. |
7892 | ||
Attempt - 2 | 0. |
661991 | 0. |
603611 | 0. |
579578 |
8. |
81885 | ||
Attempt - 3 | 0. |
683248 | 0. |
570934 | 0. |
588029 |
16. |
4382 | ||
Overall Average | 0. |
55735 | 0. |
556148 | 0. |
578136 |
0.215675 |
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)")
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'] = |
...
np.average(dhis2_performances) case_1_result['fhir'] = |
...
np.average(fhir_performances) case_1_result['fhir_with_healthcareServices'] = |
...
np.average(fhir_hsc_performances) case_1_result['improvement'] = |
...
((case_1_result['dhis2'] - case_1_result['fhir'])/case_1_result['dhis2'])*100 case_1_results.append(case_1_result) print(tabulate(case_1_results, headers='firstrow', tablefmt='pipe')) |