Bahmni 제품 회귀 테스트 스위트
| Sl No | Module | Test Scenario | Test Case | Test Steps | Jira ID | Spec File |
|---|---|---|---|---|---|---|
| 1 | Registration | Patient registration tests | Register and verify patient demographic details | Login as AdminNavigate to Registration moduleCreate new patient with all details (name, gender, DOB, phone, email)Upload patient photoFill address informationSave patientSearch and open patient by IDVerify basic, contact and address information | BAH-4252, BAH-4244, BAH-4275 | registerSearch.spec.ts |
| 2 | Registration | Patient registration tests | Verify patient relationship | Login as AdminCreate first patient and saveCreate second patientAdd Father/Son relationship to second patient linking first patientSave second patientVerify relationship on second patientNavigate to first patientVerify reciprocal relationship (Son) on first patient | BAH-4253, BAH-4389 | registerSearch.spec.ts |
| 3 | Clinical | Clinical Consultation Tests | Add allergy with severity and reaction in consultation | Navigate to clinical moduleAdd allergy (allergen, severity, reaction) in consultationSave and verify allergy displayed in patient summary | BAH-4449 | consultation.spec.ts |
| 4 | Clinical | Clinical Consultation Tests | Order investigation and procedure in consultation | Navigate to clinical moduleAdd investigations (single test, panel, radiology) and a procedure in consultationSave and verify each displayed under Lab Investigations, Radiology Investigations, and Procedures sections | BAH-4449 | consultation.spec.ts |
| 5 | Clinical | Clinical Consultation Tests | Add condition and diagnosis in consultation | Navigate to clinical moduleAdd condition and diagnosis in consultationSave and verify condition displayedVerify diagnosis displayed | BAH-4449 | consultation.spec.ts |
| 6 | Clinical | Clinical Consultation Tests | Add medication in consultation | Navigate to clinical moduleAdd medication (drug, dosage, frequency, duration, route) in consultationSave and verify medication displayed | BAH-4449 | consultation.spec.ts |
| 7 | Clinical | Clinical Consultation Tests | Add vaccination in consultation | Navigate to clinical moduleAdd vaccination in consultationReload pageVerify vaccination displayed | BAH-4405, BAH-4393 | consultation.spec.ts |
| 8 | Clinical | Clinical Consultation Tests | Add vitals observation form in consultation | Navigate to clinical moduleFill and save vitals formVerify vitals in observations sectionVerify vitals flowsheetOpen vitals form modal and verify data | BAH-4449 | consultation.spec.ts |
| 9 | Clinical | Duplicate Medication Tests | Adding an active medication in different dosage in a new consultation shows duplicate error | Navigate to clinical moduleAdd first medication and save consultationVerify first medication displayedIn new consultation, search for same drug with different dosageVerify duplicate medication error shownCancel consultation | duplicateMedication.spec.ts | |
| 10 | Lab | Lab Orders | Validate lab orders - order anemia panel and absolute atypical lymphocyte count and verify results | Navigate to clinical moduleOrder Anemia Panel and Atypical Lymphocyte Count investigationsSave consultationPost lab results via FHIR API (anemia + atypical lymph reports)Reload pageVerify anemia lab results displayedVerify atypical lymphocyte lab results displayed | BAH-4412, BAH-4385 | labOrders.spec.ts |
| 11 | Observation Forms | Observation Form Tests | Add admission letter observation form in consultation | Navigate to clinical moduleFill and save Admission Letter formOpen Admission Letter form from observationsVerify form dataClose modal | BAH-4449, BAH-4280, BAH-4285, BAH-4382 | observationForms.spec.ts |
| 12 | Observation Forms | Observation Form Tests | Add vitals observation form in consultation | Navigate to clinical moduleFill and save Vitals formVerify vitals in observations sectionVerify vitals flowsheetOpen Vitals form modal and verify dataClose modal | BAH-4449, BAH-4280, BAH-4285, BAH-4382 | observationForms.spec.ts |
| 13 | Observation Forms | Observation Form Tests | Add death note observation form in consultation | Navigate to clinical moduleFill and save Death Note formOpen Death Note form from observationsVerify form dataClose modal | BAH-4449, BAH-4280, BAH-4285, BAH-4382 | observationForms.spec.ts |
| 14 | Observation Forms | Observation Form Tests | Add diabetes progress observation form in consultation | Navigate to clinical moduleFill and save Diabetes Progress formOpen Diabetes Progress form from observationsVerify form dataClose modal | BAH-4449, BAH-4280, BAH-4285, BAH-4382 | observationForms.spec.ts |
| 15 | Observation Forms | Observation Form Tests | Add malaria observation form in consultation | Navigate to clinical moduleFill and save Malaria formOpen Malaria form from observationsVerify form dataClose modal | BAH-4449, BAH-4280, BAH-4285, BAH-4382 | observationForms.spec.ts |
| 16 | E2E | End-to-End Patient Flow with different user roles | E2E patient flow | Login as Front Desk — Register patient — Start OPD visitLogoutLogin as Doctor — Navigate to patient clinicalAdd allergy, condition/diagnosis, and medication in consultationLogoutLogin as Clinical Read user — Navigate to patient clinicalVerify allergy, diagnosis, and medication displayedLogout | Privilege | e2ePatientFlow.spec.ts |
| 17 | Registration | Edit patient registration tests | Edit patient and verify | Login as AdminRegister a new patient with name, gender, DOB, phone, email, address and saveEdit patient details with new dataSave updated patientSearch and open patient by updated nameVerify updated basic, contact and address information | editRegistration.spec.ts | |
| 18 | Clinical | Appointments Display Tests | Upcoming appointments sorted ASC and past appointments sorted DESC | Set up patient with 2 upcoming (10:00 AM, 2:00 PM) and 2 past (10:00 AM, 2:00 PM) appointments via APINavigate to clinical moduleVerify Upcoming tab is active with 2 Scheduled appointmentsVerify upcoming appointments are sorted in ascending order by timeClick Past tabVerify 2 Completed appointments are sorted in descending order by time | appointments.spec.ts | |
| 19 | Clinical | Patient Document Tests | View uploaded patient documents in clinical dashboard | Upload patient documents via APINavigate to clinical moduleVerify document is displayed by identifier and document typeOpen attachmentVerify all attachments are displayed | patientDocuments.spec.ts | |
| 20 | Lab | Radiology Investigations | Validate radiology report - order echocardiogram and verify report results | Navigate to clinical moduleOrder Echocardiogram investigation in consultationSave consultationPost echocardiogram report via FHIR APIReload pageVerify echocardiogram report results displayed | investigations.spec.ts | |
| 21 | Registration (API) | Patient Registration E2E API Tests | Create patient with demographics, verify details, start OPD visit and confirm visit is active | POST /patientprofile — create patient with name, gender, DOB, phone, email, address; verify 200 and patient UUIDGET /patientprofile — verify stored demographics match payloadGET /visit — confirm no active visit exists yetPOST /visit — start OPD visit; verify 201 and visitType contains OPDGET /visit — confirm visit is active and stopDatetime is null | registration.spec.ts, patient.spec.ts | |
| 22 | Registration (API) | Patient Registration Edge Cases | Identifier auto-generation, jump detection, and birthdate handling | POST /patientprofile without specifying identifier — verify identifier auto-generated with configured prefixPOST /patientprofile with manually-entered identifier that jumps ahead of sequence — verify 412 returnedPOST /patientprofile with exact birthdate (birthdateEstimated=false) — verify exact date stored and flag is falsePOST /patientprofile with estimated birthdate (birthdateEstimated=true) — verify flag stored as true | patientRegistrationEdgeCases.spec.ts | |
| 23 | Registration (API) | Patient Registration Edge Cases | Name length validation and patient relationships | POST /patientprofile with givenName exceeding 50 characters — verify 400 returnedPOST /patientprofile with familyName exceeding 50 characters — verify 400 returnedPOST /patientprofile with a relationship to another patient — verify patient and relationship createdGET /relationship — verify relationship is retrievablePOST /patientprofile with empty personB.uuid — verify relationship is not persisted | patientRegistrationEdgeCases.spec.ts | |
| 24 | Registration (API) | FHIR Patient Resource Mapping | GET /fhir2/R4/Patient maps OpenMRS person fields to FHIR Patient resource | POST /patientprofile to create a patientGET /fhir2/R4/Patient/{uuid} — verify resourceType is PatientVerify identifier value, name (given + family), gender and birthDate map correctly from OpenMRS person fields | fhirPatient.spec.ts | |
| 25 | Clinical (API) | Patient Data Isolation | FHIR queries return only the queried patient's data | Create two patients (A and B) each with a different allergy (penicillin / aspirin) via ConsultationBundleGET /fhir2/R4/AllergyIntolerance?patient={A} — verify only A's allergy returned; B's allergy absent; all patient references contain A's UUIDGET /fhir2/R4/AllergyIntolerance?patient={B} — verify only B's allergy returned; A's allergy absentGET /fhir2/R4/Encounter?subject:Patient={A} — verify all returned encounters belong to patient A only | dataIsolation.spec.ts | |
| 26 | Clinical (API) | Clinical Dashboard Privilege Checks | Role-based access control for FHIR clinical resources | GET /fhir2/R4/AllergyIntolerance without authentication — verify 401 returnedGET AllergyIntolerance, Condition, MedicationRequest, ServiceRequest, Observation as doctor role — verify 200GET same resources as nurse role — verify 200GET same resources as clinicalRead role — verify 200POST /fhir2/R4/ConsultationBundle as doctor role — verify 200 or 201 | clinicalDashboardPrivileges.spec.ts | |
| 27 | Clinical (API) | AllergyIntolerance via ConsultationBundle | Save allergy, verify FHIR fields, and validate error cases | POST /fhir2/R4/ConsultationBundle with allergy entryGET /fhir2/R4/AllergyIntolerance — verify allergy appears with correct patient reference, valid category, allergen code, reaction severity and manifestation codePOST duplicate allergen for same patient — verify 400 returnedPOST bundle with invalid patient reference — verify 400 returnedGET with _count=1 — verify 1 entry returned; GET with _count=2 — verify 2 entries returned | allergy.spec.ts | |
| 28 | Clinical (API) | Conditions via ConsultationBundle | Save encounter-diagnosis and problem-list-item; verify category isolation | POST ConsultationBundle with encounter-diagnosis — verify Condition saved with correct code, category, subject, encounter reference and recorderPOST ConsultationBundle with problem-list-item — verify Condition saved with correct code, clinicalStatus active, onsetDateTime; no encounter referenceGET /fhir2/R4/Condition?category=problem-list-item — verify encounter-diagnosis does not appearGET /fhir2/R4/Condition?category=encounter-diagnosis — verify problem-list-item does not appear | conditions.spec.ts | |
| 29 | Clinical (API) | Observation Forms via ConsultationBundle | Submit Vitals and Obstetrics and Gynaecology observation forms and verify | POST /fhir2/R4/ConsultationBundle with Vitals and Obstetrics and Gynaecology observations — verify response echoes all submitted observations with matching values, notes, interpretation and form-namespace extensionGET /bahmnicore/patient/{uuid}/forms?numberOfVisits=10 — verify both Vitals and Obstetrics and Gynaecology forms appear for the encounterGET /fhir2/R4/Observation/$fetch-all?encounter={uuid} — verify all submitted observations returned with values preserved | observationForms.spec.ts | |
| 30 | Clinical (API) | Appointments via API | Create single and recurring appointments and verify via FHIR | POST /appointment — create single appointment; verify status Scheduled, patient, service, provider, location and datetimePOST /recurring-appointments with DAY frequency, period=1, frequency=3 — verify 3 instances created sharing one booking identifierGET /fhir2/R4/Appointment?patient={uuid} — verify 1 regular + 3 recurring instances returned with correct service, dates and practitioner | appointments.spec.ts | |
| 31 | Lab (API) | Lab Orders via ConsultationBundle | Order single lab test, panel, radiology and procedure; verify ServiceRequest fields | POST ConsultationBundle with single lab test — GET ServiceRequest; verify status active, category lab, requester, note and urgency extensionPOST ConsultationBundle with panel lab test — verify ServiceRequest reuses same encounterPOST ConsultationBundle with radiology order — verify ServiceRequest with radiology categoryPOST ConsultationBundle with procedure order — verify ServiceRequest with procedure category | labOrder.spec.ts | |
| 32 | Lab (API) | Lab Orders — Visit Filtering | GET ServiceRequest with numberOfVisits limits orders to N most recent visits | Create patient with lab and radiology orders across two separate visitsGET lab ServiceRequests with numberOfVisits=1 — verify only orders from most recent visit returnedGET lab ServiceRequests with numberOfVisits=2 — verify orders from both visits returnedGET radiology ServiceRequests with numberOfVisits=1 — verify only most recent visit orders returnedGET radiology ServiceRequests with numberOfVisits=2 — verify orders from both visits returned | labOrder.spec.ts | |
| 33 | Lab (API) | DiagnosticReport — Lab Results | Submit DiagnosticReport with various observation types and verify via $fetch-bundle | POST DiagnosticReport/$submit-bundle with single numeric observation — verify final status and valueQuantityPOST with panel (numeric x6) — verify 6 result references and observation valuesPOST with coded observation and 1 attachment — verify presentedForm and valueCodeableConceptPOST with mixed observations (numeric + text + coded) and 3 attachments — verify all typesPOST with text observation — verify valueStringPOST with boolean observation — verify valueBoolean | labOrder.spec.ts | |
| 34 | Lab (API) | DiagnosticReport — Radiology Results | Submit radiology DiagnosticReports and verify echocardiogram and X-ray results | Order Echocardiogram and X-ray Arm via ConsultationBundlePOST DiagnosticReport/$submit-bundle for Echocardiogram — GET $fetch-bundle; verify 15 mixed observations including ejection fraction (valueQuantity), LV function (valueCodeableConcept) and summary (valueString)POST DiagnosticReport/$submit-bundle for X-ray Arm — GET $fetch-bundle; verify 8 observations including summary text, swelling coded value and arm length numeric value | labOrder.spec.ts | |
| 35 | Clinical (API) | Patient Documents via FHIR | Register patient documents and verify via DocumentReference | Upload PNG via document upload APIPOST /fhir2/R4/DocumentReference with single attachment — verify 201, patient reference, masterIdentifier, content URL and authorUpload PNG and PDF; POST DocumentReference with multiple attachments — verify 2 content entries with correct URLsGET /fhir2/R4/DocumentReference?patient={uuid} sorted by _lastUpdated DESC — verify both docs returned sorted newest first with attachment counts and practitioner preserved | patientDocuments.spec.ts | |
| 36 | Clinical (API) | Medication Orders via ConsultationBundle | Order medications across all supported routes and verify MedicationRequest fields | POST ConsultationBundle for each route; verify MedicationRequest status active, route code, dose value/unit, frequency, duration and total dispense quantityRoutes: Oral (Acetaminophen Tablet), Intravenous (Acetaminophen Injection), Intramuscular (Anti-rabies vaccine), Sub Cutaneous (Insulin), Inhalation PRN (Isoflurane)Routes: Sub Lingual (Nitroglycerin), Nasogastric (ORS Powder), Per Rectum (Acetaminophen Suppository), Nasal (Xylometazoline), Topical (Lidocaine Gel)Routes: Per Vaginal (Clotrimazole Pessary), Intradermal (Thiopental), Intraperitoneal (Amoxicillin), Intrathecal (Diltiazem), Intraosseous (Epinephrine) | medication.spec.ts | |
| 37 | Clinical (API) | Medication Search | Search medications by name and verify _count limiting | GET /fhir2/R4/Medication?name=par with _count=20 — verify matching medications returned with display containing search termGET /fhir2/R4/Medication?name=p — verify results returned for single-character searchGET /fhir2/R4/Medication?name=a with _count=5 — verify at most 5 results returned | medication.spec.ts | |
| 38 | Clinical (API) | ConsultationBundle Server-Enforced Validation | Validate encounter datetime constraints and bundle transaction atomicity | POST ConsultationBundle with encounter datetime in the future — verify 400 returnedPOST ConsultationBundle with encounter datetime before visit start — verify 400 returnedPOST bundle with valid allergy and invalid ServiceRequest — verify 400; GET Encounter confirms no consultation encounter persistedRepeat partial failure bundle — GET AllergyIntolerance confirms no allergy persisted (full rollback) | bundleValidation.spec.ts | |
| 39 | Clinical (API) | TB Program Enrollment | Enroll patient in TB Program and verify enrollment details | POST /bahmniprogramenrollment — enroll patient in TB Program with initial state and 4 attributes (ID number, treatment date, doctor in charge, patient stage)Verify response: patient UUID, program UUID, dateEnrolled, 1 initial state and 4 attributesGET /bahmniprogramenrollment?patient={uuid} — verify enrollment returned with program name, episodeUuid, initial state (endDate null) and all 4 attribute values | programs.spec.ts |
원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0