E2E Test Scenarios for Bahmni-SNOMED Engagement

E2E Test Scenarios for Bahmni-SNOMED Engagement

This page contains the end to end test scenarios of all the proposed user journeys for the Bahmni-SNOMED Engagement in a Tabular Format. Manual testing is the approach that has been taken to ensure thorough check on quality and delivery of the user journeys

The table contains the scenario, the test steps, action to be taken by user, and the expected outcome of those actions

The purpose of these scenarios is to ensure that all the user journeys are working as agreed upon at the start of the project. It also allows any user to test the scenarios by laying out easy to follow steps to perform all the tests.

 

List of E2E journeys

 

 

 

 

 

 

 

Test Scenario for Diagnosis Search, Save, and Display

 

Test Description

Step No.

Step Description

Expected Results

As an end user, I want to test the functionality of Diagnosis Search and Save from SNOMED CT server, so that I can ensure the Bahmni-SNOMED integration is working as expected

OpenMRS Configuration Setup

Login to the OpenMRS Global Properties form https://qa.snomed.mybahmni.in/openmrs/admin/maintenance/globalProps.form

Global Properties page should be displayed.

In the properties form, Verify that the Global Property bahmni.lookupExternalTerminologyServer in OpenMRS is set to TRUE in order to search diagnosis terms from the SNOMED CT server

bahmni.lookupExternalTerminologyServer should be set to True to fetch results from SNOMED server.

In the properties form, Verify that the Global Property ts.fhir.baseurl field is set to https://snowstorm.snomed.mybahmni.in/fhir/

ts.fhir.baseurl field should be set to https://snowstorm.snomed.mybahmni.in/fhir/

In the properties form, Verify that ts.fhir.valueset.urltemplate field is set as ValueSet/$expand?url={0}&filter={1}&count={2}&displayLanguage={3}&includeDesignations={4}

ts.fhir.valueset.urltemplate field should be set to ValueSet/$expand?url={0}&filter={1}&count={2}&displayLanguage={3}&includeDesignations={4}

1

Login to Bahmni application as user
Application URL - https://qa.snomed.mybahmni.in

User should be logged in

2

Navigate to Clinical module and open an 'active' patient

The patient dashboard should be displayed

3

Click on 'Consultation' button and then click on Diagnoses tab

Diagnoses page should be displayed

4

Enter a search term on Diagnoses search field and validate that the Bahmni system returns search results from SNOMED CT Terminology server

The search results should be fetched from SNOMED CT Terminology server.

The search results can be verified from SNOMED CT browser by providing the same search term
URL - SNOMED International Browser

5

User Enters less than 3 characters in the diagnosis search field, validate that Bahmni system displays message

No search results will be displayed for less than 3 characters

6

  1. Goto OpenMRS Global Properties, under ts.fhir.baseurl field, change the value from https://snowstorm.snomed.mybahmni.in/fhir/ to https://ssnowstorm.snomed.mybahmni.in/fhir/.

  2. Enter keywords in Diagnosis search field in Bahmni application
    Validate that Bahmni system displays appropriate error message on the diagnosis screen

"There was an unexpected issue on the server. Please try again"

7

  1. Goto OpenMRS Global Properties, under ts.fhir.baseurl field, change the value from https://snowstorm.snomed.mybahmni.in/fhir/ to https://snowstorm.snomed.mybahmni.in/fhirrr/.

  2. Enter keywords in Diagnosis search field in Bahmni application
    Validate that Bahmni system displays appropriate error message on the diagnosis screen

"There was an unexpected issue on the server. Please try again"

8

  1. Goto OpenMRS Global Properties, remove the value set in ts.fhir.valueset.urltemplate field

  2. Enter keywords in Diagnosis search field in Bahmni application

Validate that Bahmni system displays appropriate error message on the diagnosis screen

"There was an unexpected issue on the server. Please try again"

9

Validate that the search results return the preferred terms of Disorders from SNOMED CT TS

(This can be checked by searching the term in SNOMED CT Browser and checking for the preferred term, filtered by disorder)

System displays only the preferred term of the searched word from the SNOMED CT server
URL from where the result can be validated - SNOMED International Browser

10

Verify that system also returns the descendants of the search term in the search result

The search results should be fetched from SNOMED CT Terminology server and result can be verified from SNOMED CT browser
URL - SNOMED International Browser

11

Select a value from search result, select the 'Order', 'Certainty', and 'Status'

The selected values for 'Order', Certainty and Status are highlighted and selected term should be displayed on diagnoses field

12

Click on 'save' button and validate success message is displayed

Success message should be displayed

13

Verify that the value is saved in OpenMRS application
Goto OpenMRS dictionary module, search for the saved diagnoses, validate the term is added to OpenMRS dictionary with the Fully Specified Name same as the Fully Specified Name in SNOMED CT, and the preferred synonym is added as Short Name in OpenMRS.
OpenMRS Dictionary URL - https://dev.snomed.mybahmni.in/openmrs/dictionary/index.htm

The value is saved in OpenMRS. The dictionary term should be available on OpenMRS and details as 'same as' SNOMED CT browser.
Fully Specified Name in OpenMRS = Fully Specified Name in SNOMED CT
Short Name in OpenMRS = Preferred Synonym in SNOMED CT

14

Verify the saved diagnosis is displayed on patient dashboard

The saved diagnoses should be displayed on patient dashboard.

As an end user, I want to test the functionality of Conditions Search and Save from SNOMED CT server, so that I can ensure the Bahmni-SNOMED integration is working as expected

1

Login to Bahmni application as user
Application URL - https://qa.snomed.mybahmni.in

User should be logged in

2

Navigate to Clinical module and open an 'active' patient

The patient dashboard should be displayed

3

Click on 'Consultation' button and then click on Diagnoses tab

Diagnoses page should be displayed

4

Enter a search term on 'Conditions' search field and validate that the Bahmni system returns search results from SNOMED CT Terminology server

The search results should be fetched from SNOMED CT Terminology server.

The search results can be verified from SNOMED CT browser by providing the same search term
URL - SNOMED International Browser

5

Repeat Steps 5 to 14 above for conditions search

The expected results should match the corresponding results for step 5 to 14

As a user, I want to Validate that no new ID is created for the same saved Diagnosis term in OpenMRS, when more than 1 patient has been recorded with same diagnosis

1

Select a new patient and navigate to Diagnosis Tab

Diagnoses page should be displayed

2

Select and save the same diagnosis term that was saved in step#13

Success message should be displayed

3

Validate that the same diagnosis value is saved for this patient, meaning, no new concept ID is created for the existing diagnosis in OpenMRS

No new concept ID should be created if the existing concept is used to record patient data

 

 

Test Scenario for Diagnosis Report By Gender

As an end user, I want to test the E2E journey of Diagnosis Count Report for Asthma and Malaria, so that I can ensure the report is providing accurate count of diagnosis

Step No.

Step Description

Expected Results

1

Login to Bahmni application as user
Application URL- https://qa.snomed.mybahmni.in

User should be logged in

2

Navigate to report module and open report dashboard

The report dashboard should be displayed with list of different reports

3

Validate "Diagnosis Count Report for Malaria" and "Diagnosis Count Report for Asthma" are available in the list of reports

System should display the below 2 reports in the list
"Diagnosis Count Report for Malaria"
"Diagnosis Count Report for Asthma"

4

Select Start and End date from the calendar for "Diagnosis Count Report for Malaria"

The selected date should be displayed in given format ‘dd/mm/yyyy’

5

For the format, click on HTML from the format drop down list

HTML should be selected as format for report

6

Clicks on "RUN NOW" button for the report

The report for diagnosis count of patients for Malaria should be displayed based total count of patients for each diagnosis

7

Verify that the generated report is displayed in a Tabular format, with Malaria as diagnosis and the total count

Report should be shown in tabular format with generated date and time and selected duration (start date to end date) with Malaria diagnosis and the count of patients

8

Verify that the generated report also has count based on Gender

The report for diagnosis count should include columns Male, Female, Other, Not disclosed, and Total

9

Verify that all the descendants of Malaria that are saved in OpenMRS are shown in the report in separate line item

Below is the configuration which is found in https://github.com/Bahmni/default-config/blob/<BRANCH>/openmrs/apps/reports/reports.json

"diagnosisCountMalaria": {
"name": "Diagnosis Count Report for Malaria",
"type": "snomedDiagnosis",
"requiredPrivilege": "app:reports",
"config": {
"snomedParentCode": "61462000"
}
},

 

The verification of descendant output can be done with the help of given link, where we can cross verify the diagnosis SNOMED International Browser

10

Check initial count of the Malaria diagnosis, then add the same malaria diagnosis for a new patient and re-run the report.

The total count of the Malaria diagnosis should be incremented by 1

11

Select a patient, save diagnosis as 'heart block', goto the reports and run the diagnosis count report for Malaria

The total count of the Malaria diagnosis should remain the same

12

For validation for Diagnosis count report for Asthma, repeat steps 2 to 10 with below configuration

Below is the configuration which is found in https://github.com/Bahmni/default-config/blob/<BRANCH>/openmrs/apps/reports/reports.json

"diagnosisCountAsthma": {
"name": "Diagnosis Count Report for Asthma",
"type": "snomedDiagnosis",
"requiredPrivilege": "app:reports",
"config": {
"snomedParentCode": "195967001"
}
}

 

13

  1. Goto OpenMRS Global Properties, under ts.fhir.baseurl field, change the value from https://snowstorm.snomed.mybahmni.in/fhir/ to https://ssnowstorm.snomed.mybahmni.in/fhir/.

  2. Run the report for Malaria or Asthma

System should display error message

 

Test Scenario for CDSS Alerts

As an end user, I want to test the functionality of all the types of CDSS alerts so that I can ensure the feature is working as expected

Step No.

Step Description

Expected Results

Configuration Setup

Login to the OpenMRS Global Properties form https://qa.snomed.mybahmni.in/openmrs/admin/maintenance/globalProps.form

Global Properties page should be displayed.

In the properties form, verify that the Global Property "cdss.enable" in OpenMRS is set to TRUE in order to invoke CDSS rule

cdss.enable should be set to TRUE for leveraging CDSS engine rules

In the properties form, check the value of cdss.fhir.baseurl

cdss.fhir.baseurl should be set to https://cdss-dev.snomed.mybahmni.in/cds-services/

 

 

 

Diagnosis-Drug Contraindication

Login to Bahmni application as user
Application URL - https://qa.snomed.mybahmni.in

User should be logged in

Navigate to clinical module and open an active patient

The patient dashboard should be displayed

Click on consultation button and then click on diagnoses tab

Diagnoses page should be displayed

In Diagnosis search box, search for Asthma

System displays list of matched results

Select Asthma and save the diagnosis

Asthma is saved as Diagnosis for the patient

Navigate to Medications Tab

Medication page should be displayed

Under Drug Name, search for Propranolol as drug

System should display list of matched results

Select 'Propranolol hydrochloride 40 mg oral tablet (Tablet)' from the search list

 

Provide all the information such as dose, unit, frequency, duration, route, etc and click on Add button

System should display a drug-diagnosis 'Critical' alert message against the drug on the right hand panel. Summary should display the drug and the diagnosis causing the contraindication

Alternate Scenario: User selects 'Hypokalemia' as diagnosis and Acetazolamide 250 mg oral tablet (Tablet) as medication

System should display a drug-diagnosis 'Warning' alert message against the drug on the right hand panel. Summary should display the drug and the diagnosis causing the contraindication

Alternate Scenario: User selects 'Hyponatremia' as diagnosis and Acetazolamide 250 mg oral tablet (Tablet) as medication

System should display a drug-diagnosis 'Info' alert message against the drug on the right hand panel. Summary should display the drug and the diagnosis causing the contraindication

 

 

 

Diagnosis-Drug Contraindication in Diagnoses Tab

Login to Bahmni application as user
Application URL - https://qa.snomed.mybahmni.in

User should be logged in

Navigate to clinical module and open an active patient

The patient dashboard should be displayed

Click on consultation button and then click on Medications tab

Medications page should be displayed

Search and select 'Propranolol hydrochloride 40 mg oral tablet (Tablet)' from the search list

 

Provide all the information such as dose, unit, frequency, duration, route, etc and click on Add button

System should add the prescribed drug on the right side

Navigate to diagnoses tab

System should display the diagnoses page

In Diagnoses search box, search and select Asthma

System should display a drug-diagnosis 'Critical' alert message below the selected drug (in this case 'Asthma')

 

The alert message should also indicate the user to go to the medications tab by displaying a message

 

Save button is disabled with an error message

User navigates to medications tab, and dismisses the critical alert, and navigates back to diagnoses tab

Grey 'info' icon is displayed against the diagnoses (in this case, Asthma)

User clicks on the 'info' icon

Dismissed alert is displayed along with the category (in this case 'Critical')

Alternate Scenario: User selects Acetazolamide 250 mg oral tablet (Tablet) in medications tab and selects Hypokalemia in diagnosis tab

System should display a drug-diagnosis 'Warning' alert message below the selected drug (in this case 'Hypokalemia')

 

The alert message should also indicate the user to go to the medications tab by displaying a message

 

Save button remains enabled

User clicks on Save button

The system should save the record

 

Grey 'info' icon is displayed against the diagnoses (in this case, Hypokalemia)

 

 

Alternate Scenario: User selects Acetazolamide 250 mg oral tablet (Tablet) in medications tab and selects Hyponatremia in diagnosis tab

System should display a drug-diagnosis 'Info' alert message below the selected drug (in this case 'Hyponatremia')

 

The alert message should also indicate the user to go to the medications tab by displaying a message

 

Save button remains enabled

User clicks on Save button

The system should save the record

 

 

Grey 'info' icon is displayed against the diagnoses (in this case, Hyponatremia)

Drug-Drug Contraindication

Login to Bahmni application as user
Application URL - https://qa.snomed.mybahmni.in

User should be logged in

Navigate to clinical module and open an active patient

The patient dashboard should be displayed

Click on consultation button and then click on medication tab

Medication page should be displayed

Search and select Acetazolamide 250 mg oral tablet (Tablet) from the drug search field

 

Provide all the information such as dose, unit, frequency, duration, route, etc and click on Add button

System should display the drug on the right hand panel

Search and select Allopurinol 100 mg oral tablet (Tablet) from the drug search field

 

Provide all the information such as dose, unit, frequency, duration, route, etc and click on Add button

System should display drug-drug 'warning' alert message against the drugs Acetazolamide and Allopurinol on the right hand panel. Summary should display the drug-drug interaction causing the contraindication

Alternate Scenario: User selects 'Amiodarone hydrochloride 100 mg oral tablet (Tablet)' and 'Albendazole 400 mg chewable tablet (Tablet)' as drugs

System should display drug-drug 'info' alert message against the drugs Amiodarone and Albendazole on the right hand panel. Summary should display the drug-drug interaction causing the contraindication

Alternate Scenario: User selects 'Amitriptyline hydrochloride 10 mg oral tablet (Tablet)' and 'Amoxicillin 250 mg chewable tablet (Tablet)' as drugs

System should display drug-drug 'critical' alert message against the drugs Amitriptyline and Amoxicillin on the right hand panel. Summary should display the drug-drug interaction causing the contraindication

 

 

 

High Dosage Alert for a single substance in a single drug

Login to Bahmni application as user
Application URL - https://qa.snomed.mybahmni.in

User should be logged in

Navigate to clinical module and open an active patient

The patient dashboard should be displayed

The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)