CareWell clinic / login-billing
login-billing
Sign in as BILLING1. APPLY_MENU disables Records > Delete (HAS_ROLE false for ADMIN,RECEPTION) and the home page's Invoices button stays enabled. CW_PATIENTS, opened by OPEN_FORM, does not see the sign-in: START_FORM signs in its P_USER default (title "Front Desk One (Reception)"), so its Invoices... button is disabled for the billing clerk too.
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 = BILLING1 | ||
| 2 | sign in | Click CTL.SIGN_IN | HOME.WELCOME = Welcome, Billing Clerk |
| 3 | patients | Click HOME.PATIENTS |
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
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 = BILLING1 | CTL.USERNAME[0] | CTL.USERNAME[0] = BILLING1 | ||||
| 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, Billing Clerk | pass | ||
| 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 |
Database effects
None: the scenario changes no row and draws no sequence value.
Classified diff against the migrated app
Diff: login-billing counts: match 109, tolerated 6, waived 4, 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 2 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 x2 [tolerated] ui.values.HOME.OPEN_AMOUNT rule=text x2 [tolerated] ui.values.HOME.TODAY_TOTAL rule=mask:today-counts x2 [waived] ui.values.HOME.COLLECTED rule=waiver:C2 x2 step02.values.HOME.COLLECTED[0]: source '' | target '83' step03.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 | 2 | 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. |



