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 | 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 | |
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 |
| "There was an unexpected issue on the server. Please try again" | |
7 |
| "There was an unexpected issue on the server. Please try again" | |
8 |
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 | |
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 | |
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 | The value is saved in OpenMRS. The dictionary term should be available on OpenMRS and details as 'same as' SNOMED CT browser. | |
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 | 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 | |
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
Test Description | Step No. | Step Description | Expected Results |
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 | 1 | Login to Bahmni application as user | 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 | |
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": { | The verification of descendant output can be done with the help of given link, where we can cross verify the diagnosis https://browser.ihtsdotools.org/?perspective=full&conceptId1=8186001&edition=MAIN/2023-01-31&release=&languages=en | |
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": { | ||
13 |
| System should display error message |
Test Scenario for CDSS Drug-Diagnosis Interaction
Test Description | Step No. | Step Description | Expected Results |
As an end user, I want to test the functionality of the CDSS for the drug-diagnosis interaction so that I can ensure the feature is working as expected | 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/ | ||
1 | Login to bahmni application as user | 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 | In Diagnosis search box, search for Asthma | System displays list of matched results | |
5 | Select Asthma and save the diagnosis | Asthma is saved as Diagnosis for the patient | |
6 | Navigate to Medications Tab | Medication page should be displayed | |
7 | Under Drug Name, search for Propranolol as drug | System should display list of matched results | |
8 | Select Propranolol 40 mg from the search list | System should display alert notification, saying Propranolol 40 mg as a product contraindicates Asthma | |
System should display all the alert messages in the left panel, above the "Add" button | |||
Each alert card should consist of summary, details, CDS Indicator, and CDS source link | |||
Each card should have an indicator of either Critical, Warning, or Information | |||
The name of section is determined by alert card of highest priority (Critical highest, Info Lowest) eg., if there are two cards, one with Critical and one with Warning, then Critical will be name of section | |||
9 | Click on the expand button on any of the alert | System should display the details of that alert | |
10 | Click on the CDS source link in the alert card | User should be taken to the page of the source in a new tab | |
11 | System displays multiple notification cards | System should display all the alert messages in the left panel, above the "Add" button | |
12 | System displays atleast 1 card with 'Critical' as indicator | Add' button should be disabled | |
The close button ("Cross") is disabled for all the "Critical" cards | |||
13 | Click on the "Cross" button on the Warning or Info card | The alert card should be removed from the display | |
14 | Click on the "Expand" button on the Critical card | System should display the reason for dismissal with a dropdown list | |
15 | Select a reason from the dropdown list and click Dismiss button | The alert card should be removed from the display | |
The dismiss action should be logged using audit module Post API call from the frontend using the endpoint https://dev.snomed.mybahmni.in/openmrs/ws/rest/v1/auditlog | |||
16 | User navigates back to search bar and removes the drug selection | All the cards should be removed from display | |
17 | User dismisses all critical alerts | Add button should be enabled | |
18 | User Clicks on Add button | The selected drug should be added to the prescribed list | |
19 | Clicks on Save | The medication should be saved for that patient |
Test Scenario for Configuring and Using Form Builder
Test Description | Step No. | Step Description | Expected Results |
As an end user, I want to test the functionality of the form builder to ensure it is working as expected | 1 | Login to Bahmni OpenMRShttps://qa.snomed.mybahmni.in/openmrs | User should be logged in |
2 | Click on dictionary tab | Dictionary page should be displayed | |
3 | Click on 'Add new Concept' | New concept form is displayed | |
4 | Provide Fully Specified Name | ||
5 | Set Class as 'Misc' and Datatype as 'Coded' | Misc is selected as Class | |
6 | Save the concept | Concept Should be saved in OpenMRS | |
As an end user, I want to test the functionality of the form builder to ensure it is working as expected | 1 | Login to Bahmni application as user | User should be logged in |
2 | Navigate to implementer interface module and open form builder | The form builder page should be displayed | |
3 | Click on 'Create New Form' | Form Name dialog box should be displayed | |
4 | Enter form name and click on 'Create Form' | Form details page should be displayed | |
5 | Drag and drop Obs from the controls in the left panel into the form details canvas | Obs control should be displayed in the form canvas | |
Select the "Select Obs Source" from the form canvas | Control Properties for that source should be enabled | ||
6 | Under the Control Properties in the left panel, search for the coded name created in OpenMRS in previous steps | System displays list of matched results | |
7 | Select the coded concept from the search list | Selected concept is displayed in the form canvas | |
Select the coded concept from the form canvas | Control Properties for that source should be enabled | ||
Under control properties, in the URL field provide the SNOMED ECL query This provides the list of ‘Motor vehicle on road in collision with another motor vehicle (event)’. This can be checked in https://browser.ihtsdotools.org/?perspective=full&conceptId1=274913009&edition=MAIN/2023-04-30&release=&languages=en by searching for the the code 274913009 | System displays the value sets from the SNOMED CT | ||
8 | Click on 'Save' | The form should be saved as a draft | |
9 | Click on 'Preview' | The form should be displayed as in a preview mode | |
10 | Click on 'Publish' | The form should be published, and should be available for clinician to use the form (this can be checked under Clinical module in observations Tab. Under 'Add new Obs form, the currently published form should be available for selection) | |
Using Form Builder in OPD | 1 | Navigate to clinical module | Clinical landing page should be displayed |
2 | Select an Active patient from the list | Selected patient's dashboard is displayed | |
3 | Click on Consultation | Consultation page should be displayed | |
4 | Under observations Tab, click on Add New Obs form | List of forms should be displayed | |
5 | Select the form that was configured in previous steps | The selected form should be displayed along with the questions and SNOMED value sets as answers | |
6 | Record patient's response by selecting one of the values from the answer | ||
7 | Save the response in Bahmni | The answer should be saved in OpenMRS | |
Reporting of the form builder records | 1 | Navigate to reports module | List of reports should be displayed |
2 | For Form Builder Form Report, provide the start date, end date, and format | System should display the selected values by the user | |
3 | Run the report | System should display the patient details along with the response recorded for the question in the form used in previous steps |
Test Scenario for Ordering Procedures
Test Description | Step No. | Step Description | Expected Results |
As an end user, I want to test the functionality of SNOMED CT procedures for body-sites | Configuration Setup | To upload the procedures in Bahmni application, follow the steps mention here | Procedures should be uploaded in Bahmni |
1 | Login to Bahmni application as user | 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 orders tab | Orders page should be displayed | |
4 | In Orders Tab, click on Procedures on the left panel | List of body sites should be displayed | |
5 | Select Head from the body site | System should display the list of SNOMED procedures for 'Head' | |
6 | Select a procedure from the list | System should highlight the selected procedure | |
7 | Click on Save | System should save the procedure in OpenMRS | |
8 | Click on patient dashboard | The selected procedure should be displayed in the procedure card |
Test Scenarios for ICD-10 Code Mapping for a given SNOMED Code
As an end user, I want to test the functionality of ICD-10 Code mapping for a given SNOMED code, so that I can ensure correct ICD-10 codes are getting displayed in the report. More on understanding of the mapping of ICD-10 codes in below document
Step No. | Step Description | Expected Results |
Configuration Setup | Introduce configuration entry in reports.json for ICD-10 code(s) extension i.e., "extensions": ["<FULLY_QUALIFIED_CLASSNAME>"] | "diagnosisLineReportPneumonia": { "name": "SNOMED Diagnosis Line Report(ICD) for Pneumonia", "type": "fhirTSLookupDiagnosisLine", "requiredPrivilege": "app:reports", "config": { "tsConceptSource": "SCT", "conceptNameDisplayFormat": "shortNamePreferred", "terminologyParentCode": "421671002", "displayTerminologyCode": "true", "terminologyColumnName": "SNOMED Code", "patientAttributes": [ ], "patientAddresses": [ ], "extensions": ["org.bahmni.reports.extensions.icd10.Icd10ResultSetExtension"] } } |
1 | Login to Bahmni application as user | 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 Diagnosis tab | Diagnosis page should be displayed |
Use case for displaying multiple ICD-10 codes for single SNOMED Code from each mapgroups (in this case, there will be more than one mapgroup) | In Diagnosis/condition search bar, search for 'SARS-CoV-2 breakthrough infection' (SNOMED Code 1217296006) | System should display the search result for SARS-CoV-2 breakthrough infection |
Select and Save 'SARS-CoV-2 breakthrough infection' | System should save the selected diagnosis for the patient | |
Navigate to Reports module | System should display the list of reports | |
Provide Start Date, End Date and Format for 'SNOMED Line Report for COVID' and click Run | System should display the line report with the following columns | |
| System should display ICD-10 codes "T88.0, U07.1" in the ICD-10 Code column | |
|
|
|
Use case for displaying single ICD-10 code (default one-to-one rule) for single SNOMED Code having single mapgroup | Navigate to clinical module and open an active patient | The patient dashboard should be displayed |
Click on consultation button and then click on Diagnosis tab | Diagnosis page should be displayed | |
In Diagnosis/condition search bar, search for 'Peritonitis' (SNOMED code 48661000) | System should display the search result for Peritonitis | |
Select and Save Peritonitis | System should save the selected diagnosis for the patient | |
Navigate to Reports module | System should display the list of reports | |
Provide Start Date, End Date and Format for 'SNOMED Line Report for Malaria' and click Run | System should display the line report with the following columns | |
| System should display ICD-10 codes "K65.9" in the ICD-10 Code column | |
|
|
|
Use case for displaying single ICD-10 code from a mapgroup for a SNOMED Code based on patient's Age | Navigate to clinical module and open an active patient | The patient dashboard should be displayed |
Click on consultation button and then click on Diagnosis tab | Diagnosis page should be displayed | |
In Diagnosis/condition search bar, search for 'Bronchitis' (SNOMED Code 32398004) | System should display the search result for Bronchitis | |
Select and Save Bronchitis | System should save the selected diagnosis for the patient | |
Navigate to Reports module | System should display the list of reports | |
Provide Start Date, End Date and Format for 'SNOMED Line Report for Bronchitis' and click Run | System should display the line report with the following columns | |
Age of the patient is less than or equal to 15 | System should display ICD-10 codes "J20.9" in the ICD-10 Code column | |
Age of the patient is more than 15 | System should display ICD-10 codes "J40" in the ICD-10 Code column | |
|
|
|
Use case for displaying ICD-10 codes from a mapgroup for a SNOMED code based on patient's Age Range | Navigate to clinical module and open an active patient | The patient dashboard should be displayed |
Click on consultation button and then click on Diagnosis tab | Diagnosis page should be displayed | |
In Diagnosis/condition search bar, search for 'Excessive Growth Rate' (SNOMED Code 440311000124109) | System should display the search result for Excessive Growth Rate | |
Select and Save Excessive Growth Rate | System should save the selected diagnosis for the patient | |
Navigate to Reports module | System should display the list of reports | |
Provide Start Date, End Date and Format for 'SNOMED Line Report for Excessive growth rate' and click Run | System should display the line report with the following columns | |
Age of the patient is >=12 and <19 | System should display ICD-10 code "Z00.3" in the ICD-10 Code column | |
Age of the patient is <19 | System should display ICD-10 codes "Z00.2" in the ICD-10 Code column | |
Age of the patient is apart from above 2 scenarios | System should display Blank in the ICD-10 Code column | |
|
|
|
Use case for displaying ICD-10 code from a mapgroup for a SNOMED Code based on Gender | Navigate to clinical module and open an active patient | The patient dashboard should be displayed |
Click on consultation button and then click on Diagnosis tab | Diagnosis page should be displayed | |
In Diagnosis/condition search bar, search for 'Pelvic peritonitis' (SNOMED Code 788010000) | System should display the search result for Pelvic peritonitis | |
Select and Save Pelvic peritonitis | System should save the selected diagnosis for the patient | |
Navigate to Reports module | System should display the list of reports | |
Provide Start Date, End Date and Format for 'SNOMED Line Report for Peritonitis' and click Run | System should display the line report with the following columns | |
Gender of the patient is Female | System should display ICD-10 codes "N73.5" in the ICD-10 Code column | |
Gender of the patient is Male | System should display ICD-10 codes "K65.0" in the ICD-10 Code column | |
Gender of the patient is apart from the above 2 scenarios | System should display Blank in the ICD-10 Code column | |
|
|
|
Use case for displaying ICD-10 codes being Blank/Empty for a SNOMED Code | Navigate to clinical module and open an active patient | The patient dashboard should be displayed |
Click on consultation button and then click on Diagnosis tab | Diagnosis page should be displayed | |
In Diagnosis/condition search bar, search for 'Dietary finding' (SNOMED Code 41829006) | System should display the search result for Dietary finding | |
Select and Save Dietary finding | System should save the selected diagnosis for the patient | |
Navigate to Reports module | System should display the list of reports | |
Provide Start Date, End Date and Format for 'SNOMED Line Report for Dietary finding' and click Run | System should display the line report with the following columns | |
| System should display Blank in the ICD-10 Code column | |
|
|
|
4 | Select the format as CSV and click on Run | System should download the corresponding report in the CSV format |
5 | If Snowstorm server is down and user is trying to generate ICD-10 report | 504 Internal server error should be displayed |
|
|
|
Use case for ICD-10 codes and reports if the diagnosis/condition is drafted and not saved | Navigate to clinical module and open an active patient | The patient dashboard should be displayed |
Click on consultation button and then click on Diagnosis tab | Diagnosis page should be displayed | |
In Diagnosis/condition search bar, search for 'Pelvic peritonitis' | System should display the search result for Pelvic peritonitis | |
Select and do NOT Save Pelvic peritonitis | System should draft the selected diagnosis for the patient | |
Navigate to Reports module | System should display the list of reports | |
Check for the "SNOMED Line Report for Peritonitis" | This Report shouldn't be available in the report section because the diagnosis/condition was added not saved |