CareWell clinic / appointments-return
appointments-return
Back to the open appointments of the same patient. Clinic > Patients goes to the open CW_PATIENTS; Appointments... with the same current patient finds CW_APPOINTMENTS open and goes to it with GO_FORM. Its WHEN-FORM-NAVIGATE runs LOAD_PATIENT, which sees the patient already loaded and does nothing.
Three runs from a fresh database gave byte-identical diffs. Behaviour that looks odd in the migrated app but is the original's: faithful to the original and waivers. Files: scenario, golden record, target record, diff (JSON).
Scenario steps
Items are addressed by their Forms name (BLOCK.ITEM[row]), the same name in the
original and, through the mapping, in the migrated app.
| # | Step | Action | Checked on the original |
|---|---|---|---|
| 0 | Open form cw_login | ||
| 1 | Type CTL.USERNAME = ADMIN | ||
| 2 | sign in | Click CTL.SIGN_IN | |
| 3 | patients | Click HOME.PATIENTS | |
| 4 | appointments | Click CTL.APPTS | |
| 5 | back to patients | Step {"label": "back to patients", "menu": "CLINIC.PATIENTS"} | |
| 6 | appointments again | Click CTL.APPTS |
Screens, step by step
Left: the original Oracle Forms application, recorded on a virtual display. Right: the migrated application in headless Chromium. Screenshots are evidence only; the comparison works on the recorded values.
No step screenshots of the original were kept for this app; the comparison uses the recorded values, which are in the golden record below.
Step 0: open cw_login
Step 1: type
Step 2: sign in
Step 3: patients
Step 4: appointments
Step 5: back to patients
Step 6: appointments again
Golden record of the original
After each step: the focus, the displayed values that changed, the message line and any alert. The full record (every item of every step, windows, lists of values) is in the JSON file.
| # | Step | Action (by name) | Focus after | Displayed values that changed | Message line | Alert | Expect |
|---|---|---|---|---|---|---|---|
| 0 | Open form cw_login | CTL.USERNAME[0] | |||||
| 1 | Type CTL.USERNAME = ADMIN | CTL.USERNAME[0] | CTL.USERNAME[0] = ADMIN | ||||
| 2 | sign in | Click CTL.SIGN_IN | HOME.SCHEDULE[0] | HOME.CHECKED_IN[0] = <any>HOME.OPEN_AMOUNT[0] = 15,015HOME.OPEN_INVOICES[0] = 180HOME.TODAY_TOTAL[0] = <any>HOME.WELCOME[0] = Welcome, Clinic Administrator | |||
| 3 | patients | Click HOME.PATIENTS | PATIENTS.MRN[0] | CTL.COUNTER[0] = Patient 1 of 240PATIENTS.CITY[0] = NoidaPATIENTS.CITY[1] = GurugramPATIENTS.CITY[2] = DelhiPATIENTS.CITY[3] = BengaluruPATIENTS.CITY[4] = DelhiPATIENTS.CITY[5] = PunePATIENTS.CITY[6] = HyderabadPATIENTS.CITY[7] = GurugramPATIENTS.CITY[8] = ChennaiPATIENTS.FIRST_NAME[0] = AdamPATIENTS.FIRST_NAME[1] = MeeraPATIENTS.FIRST_NAME[2] = RiyaPATIENTS.FIRST_NAME[3] = SamuelPATIENTS.FIRST_NAME[4] = SaraPATIENTS.FIRST_NAME[5] = AishaPATIENTS.FIRST_NAME[6] = AishaPATIENTS.FIRST_NAME[7] = ArjunPATIENTS.FIRST_NAME[8] = DavidPATIENTS.LAST_NAME[0] = AliPATIENTS.LAST_NAME[1] = AliPATIENTS.LAST_NAME[2] = AliPATIENTS.LAST_NAME[3] = AliPATIENTS.LAST_NAME[4] = AliPATIENTS.LAST_NAME[5] = BanerjeePATIENTS.LAST_NAME[6] = BanerjeePATIENTS.LAST_NAME[7] = BanerjeePATIENTS.LAST_NAME[8] = BanerjeePATIENTS.MRN[0] = CW100686PATIENTS.MRN[1] = CW100791PATIENTS.MRN[2] = CW100427PATIENTS.MRN[3] = CW100014PATIENTS.MRN[4] = CW100084PATIENTS.MRN[5] = CW100350PATIENTS.MRN[6] = CW100847PATIENTS.MRN[7] = CW100966PATIENTS.MRN[8] = CW101547PATIENTS.PHONE[0] = +91 9714247138PATIENTS.PHONE[1] = +91 9747265671PATIENTS.PHONE[2] = +91 9319917758PATIENTS.PHONE[3] = +91 9239366764PATIENTS.PHONE[4] = +91 9231537636PATIENTS.PHONE[5] = +91 9698396784PATIENTS.PHONE[6] = +91 9078161038PATIENTS.PHONE[7] = +91 9550902396PATIENTS.PHONE[8] = +91 9732765917PATIENTS.PLAN_ID[1] = 5PATIENTS.PLAN_ID[3] = 6PATIENTS.PLAN_ID[5] = 6PATIENTS.PLAN_ID[8] = 1 | |||
| 4 | appointments | Click CTL.APPTS | APPOINTMENTS.DEPT_ID[0] | APPOINTMENTS.APPT_START[0] = 14-JAN-2026 09:30APPOINTMENTS.APPT_START[1] = 30-JAN-2026 14:45APPOINTMENTS.APPT_START[2] = 18-MAR-2026 09:30APPOINTMENTS.APPT_START[3] = 24-MAR-2026 10:45APPOINTMENTS.APPT_START[4] = 27-APR-2026 15:15APPOINTMENTS.APPT_START[5] = 24-JUN-2026 15:15APPOINTMENTS.DEPT_ID[0] = CardiologyAPPOINTMENTS.DEPT_ID[1] = CardiologyAPPOINTMENTS.DEPT_ID[2] = CardiologyAPPOINTMENTS.DEPT_ID[3] = OrthopedicsAPPOINTMENTS.DEPT_ID[4] = DiagnosticsAPPOINTMENTS.DEPT_ID[5] = General MedicineAPPOINTMENTS.DOCTOR_NAME[0] = Sophia BoseAPPOINTMENTS.DOCTOR_NAME[1] = Sara NairAPPOINTMENTS.DOCTOR_NAME[2] = Sara NairAPPOINTMENTS.DOCTOR_NAME[3] = Nikhil MehtaAPPOINTMENTS.DOCTOR_NAME[4] = Lina VermaAPPOINTMENTS.DOCTOR_NAME[5] = Maya WilsonAPPOINTMENTS.DURATION_MIN[0] = 30APPOINTMENTS.DURATION_MIN[1] = 30APPOINTMENTS.DURATION_MIN[2] = 30APPOINTMENTS.DURATION_MIN[3] = 30APPOINTMENTS.DURATION_MIN[4] = 30APPOINTMENTS.DURATION_MIN[5] = 30APPOINTMENTS.REASON[0] = Hypertension follow-upAPPOINTMENTS.REASON[1] = Chest painAPPOINTMENTS.REASON[2] = Chest painAPPOINTMENTS.REASON[3] = Shoulder stiffnessAPPOINTMENTS.REASON[4] = UltrasoundAPPOINTMENTS.REASON[5] = Blood pressure reviewAPPOINTMENTS.STATUS[0] = No-showAPPOINTMENTS.STATUS[1] = CompletedAPPOINTMENTS.STATUS[2] = CompletedAPPOINTMENTS.STATUS[3] = CompletedAPPOINTMENTS.STATUS[4] = No-showAPPOINTMENTS.STATUS[5] = CompletedCTL.PATIENT_NAME[0] = Adam Ali (CW100686) | |||
| 5 | back to patients | Step {"label": "back to patients", "menu": "CLINIC.PATIENTS"} | PATIENTS.MRN[0] | ||||
| 6 | appointments again | Click CTL.APPTS | APPOINTMENTS.DEPT_ID[0] |
Database effects
None: the scenario changes no row and draws no sequence value.
Classified diff against the migrated app
Diff: appointments-return counts: match 421, tolerated 15, waived 7, defect 0, unmapped 0, harness 0 generated-id pairs (source -> target): none waivers: C1 [proposed] Oracle's frame title before sign-in: applied to 2 value(s) C2 [proposed] The home page's collected-today gauge reads empty: applied to 5 value(s) C3 [proposed] Help > About names nobody: applied to 0 value(s) C4 [proposed] The home page forgets the user after File > Exit of a module: applied to 0 value(s) C5 [proposed] No item has the focus after a fetched record is refused: applied to 0 value(s) C6 [proposed] The second payment of billing-pay is lost: applied to 0 value(s) [tolerated] ui.values.HOME.CHECKED_IN rule=mask:today-counts x5 [tolerated] ui.values.HOME.OPEN_AMOUNT rule=text x5 [tolerated] ui.values.HOME.TODAY_TOTAL rule=mask:today-counts x5 [waived] ui.values.HOME.COLLECTED rule=waiver:C2 x5 step02.values.HOME.COLLECTED[0]: source '' | target '83' step03.values.HOME.COLLECTED[0]: source '' | target '83' step04.values.HOME.COLLECTED[0]: source '' | target '83' step05.values.HOME.COLLECTED[0]: source '' | target '83' step06.values.HOME.COLLECTED[0]: source '' | target '83' [waived] ui.windows rule=waiver:C1 x2 step00.windows: source [["FRAME", "Oracle Fusion Middleware Forms Services"], ["MAIN_WIN",... | target [["FRAME", "CareWell Clinic"], ["MAIN_WIN", "CareWell Clinic - Sign... step01.windows: source [["FRAME", "Oracle Fusion Middleware Forms Services"], ["MAIN_WIN",... | target [["FRAME", "CareWell Clinic"], ["MAIN_WIN", "CareWell Clinic - Sign...
Waivers
| Id | Waiver | Values | Reason |
|---|---|---|---|
| C1 | Oracle's frame title before sign-in | 2 | Until CW_NAV.START_FORM sets the MDI title, the Forms frame shows the runtime's own title "Oracle Fusion Middleware Forms Services". The target's frame reads "CareWell Clinic" from the start: the web page is the clinic's application, not Oracle's runtime. From sign-in on, both show the same title. |
| C2 | The home page's collected-today gauge reads empty | 5 | HOME.COLLECTED is a display item drawn as a half gauge on the original canvas; the Forms client's component tree exposes no text for it, so the source records '' at every step. The target shows the amount REFRESH_HOME computes (the same query as the source), as a number with a bar. |






