COBRA Screen Catalog
All 13 windows across cobra and cobrarpt. Citations are library/object.
Menu entry points: system frame menu m_cobra (homersys/m_sys_frame) —
COBRA Administration, Receive Premium, COBRA Reports, Delete COBRA, Letter Error
Maintenance, Letter Print Queue, COBRA Rates, Mailing Labels, Request
Notification / Conversion / Unavailability Letter.
w_cobra_event_select — "Cobra Administration Select"
cobra/w_cobra_event_select (extends the standard maintenance-selection window;
menu m_cobra_admin).
- Purpose: work queue / search for COBRA events; double-click opens the
event in COBRA Administration via the edit service registered with keys
cobra_event_sub_member_sys_key,cobra_event_dep_member_sys_key,cobra_event_qe_elig_eff_dt(dw_selection.constructor). - Field groups: criteria (SSN, Member ID, Group ID prefix), an event-status
multi-select list (
cobra/d_event_cd_select, code keyCOBRSTAT) with Select All / Unselect All, and the result grid (cobra/d_cobra_event_select: group, SSN, name, eligibility eff/exp, QE codedep_exp_cd, QE date, status). - Validations / code tables: at least one status must be selected before
searching ("You Must select at least one Event Status Code")
(
dw_selection.pfc_finddlg). Criteria map to SQL via control tags (m.soc_sec_no = …,m.member_id = …,me.group_id like …%,c.status_cd in (…)). - Default result set:
(PENDING)/INCOMPLETEevents, plus events of other statuses that already have recipients and QBs (cobra/d_cobra_event_select). - Windows opened:
w_cobra_administration(edit service).
w_cobra_administration — "COBRA Administration"
cobra/w_cobra_administration (menu m_cobra_admin with "Create Letters" and
"Add Letter Members" tool items). The central event-management sheet: four
linked panes.
- Field groups:
- Event header (
cobra/d_cobra_event): group, member identifiers, QE eligibility eff date, QE date, QE notify date, status (dddwdddw_cobra_status, keyCOBRSTAT), eligibility exp date, QE code (dep_exp_cd). - Letter Recipients (
cobra/d_cobra_personsoncobra_elect_persons): per-recipient name, SSN, member id. - Letters (
cobra/d_cobra_letters): letter type (dddwdddw_cobra_letter_codes, keyCOBRLETTER), sent/deadline/response/rescind dates, response code (dddwdddw_cobra_response_cds, keyCOBRRESP), print flag, description; static text shows First Premium Payment Deadline = response date + 45 days. - Qualified Beneficiaries On Letter (
cobra/d_cobra_benficiariesoncobra_qb): eff date, max exp date, exp date, exp reason (dddwdddw_cobra_termcodes, keyCOBRA, with synthetic(None)), elect flag, coverage level, disability + disability-notice flags. - Payments (
cobra/d_cobra_paymentsoncobra_stub): paid-through, received date, check no, amount, partial-pay/significant flags.
- Event header (
- Linkage: header → recipients → QBs → payments; letters linked to the
selected recipient; key columns forced consistent before update
(
pfc_preopen,ue_linkageevents,pfc_preupdate). - Meaningful behavior / validations:
- Entering the QE date sets status ((PENDING)/INCOMPLETE) and auto-creates
letters + QBs per qualifying-event code, including the 18/36-month maximum
(see COB-3, COB-10..COB-15 on the module page) (
dw_header.itemchanged,wf_create_letters). - Response code drives event status;
Electedmarks QBs elected and sets Family/Single level (COB-21/22) (dw_detail4.itemchanged). - Disability flag pair extends max exp by 11 months (COB-14)
(
dw_detail2.itemchanged). - Rescind date propagates to all QB eff dates (COB-23).
- Unsaved QB/payment/letter rows must be saved before switching recipients
("You must save … before continuing") (
dw_detail.rowfocuschanging). - On save with modified QB exp dates: auto-terminate / open enrollment /
ignore flow (COB-50/51), then flags reset (
pfc_save). - Notes service registers every member on the event (
pfc_postopen).
- Entering the QE date sets status ((PENDING)/INCOMPLETE) and auto-creates
letters + QBs per qualifying-event code, including the 18/36-month maximum
(see COB-3, COB-10..COB-15 on the module page) (
- Windows opened:
w_select_family_members(add QB, via pop-up "Add Letter Members"),w_cobra_receive_premium(payments pane add row),w_cobra_autoterm_response,w_enrollment_maintenance(auto-term path).
w_select_family_members — "Select Member"
cobra/w_select_family_members (response window).
- Purpose: pick a family member to add as a QB to the current letter.
- Fields: family grid (
cobra/d_select_family_members: member name, relationship from latestRELATIONScategory, ids). - Validation: refuses the subscriber when the letter belongs to someone else
("Cannot add Subscriber to letter") (
cb_1.clicked). - Returns: selected sub/dep keys + name; Cancel returns zeros
(caller deletes the pending QB row) (
w_cobra_administration.ue_add_qb).
w_cobra_autoterm_response — "COBRA Administration" (prompt)
cobra/w_cobra_autoterm_response (response window).
- Purpose: three-way decision when COBRA expiration dates imply eligibility
termination: Open Enrollment (1), Auto Terminate (2), Ignore (3);
returned as a double parm to
w_cobra_administration.pfc_save.
w_cobra_receive_premium — "Receive COBRA Premiums"
cobra/w_cobra_receive_premium (response window; also opened standalone from
the frame menu "Receive Premium").
- Field groups: received date (defaults to today), SSN (masked
###-##-####) or Member ID, paid-through date, check number (upper-cased), check amount, Partial Payment and Insignificant Amt. checkboxes; read-only member name + group name; payment history grid (cobra/d_cobra_payments). - Validations:
- Identifier lookup joins
cobra_qb.new_qb_member_sys_keytomembers; the paid-through date must be inside the QB coverage window, or on/beforenvl(response_dt + 45, deadline_dt)of an elected election letter (em_ssn.modified,em_member_id.modified). - Multiple matches refused ("Member has elected COBRA more than once. Look under spouse also.").
- All fields mandatory; zero amount refused (
cb_save.clicked).
- Identifier lookup joins
- Writes: inserts
cobra_stub(key fromall_purpose_seq) and commits; clears the form for the next check.
w_cobra_printqueue — "COBRA Print Queue"
cobra/w_cobra_printqueue (menu m_cobra_printqueue: Retrieve, Reprint
Mailing Certificate).
- Field groups: letter-type dropdown (
cobra/d_cobra_letter_types+cobra/dddw_letter_types:%all, NOTIFY, ELECTION, CONVERSION, BADPREM, INSIG, COUPONS, UNAVAIL, EARLYTERM), master-group prefix, sent-from/sent-to dates, "Printed and Unprinted Letters?" checkbox, "UPDATE SENT DATE?" checkbox, sent-date to stamp (defaults today), Select All / Unselect All, progress bar, letter grid. - Grid variants by type (
dw_lettertypes.itemchanged):d_cobra_printqueue_notify(NOTIFY),d_cobra_printqueue_letters(single type incl. UNAVAIL/EARLYTERM unions),d_cobra_printqueue_all(everything); all exclude letters withcobra_errorsrows. - Actions (pfc_print): per selected row, loads the blob
(
cobra_letter_dataorreport_objects), writes a temp PSR file, prints:- NOTIFY: prints letter, stamps
member_eligibilities.cobra_rights_sent_dt, then prints a first-notice report (cobra/d_cobra_notification_rpt) and offers to delete the requests. - ELECTION: prints letter + election form (chained via
related_letter_sys_key; legacy text blobs re-imported into_priorlayouts), fills the payment-periods child (f_premium_periods), shows signature lines per member class, updatessent_dt,print_flg='Y',response_cd='Pending',deadline_dt = greatest(sent+60, covg_end+60). - CONVERSION: prints and stamps sent/print flags.
- UNAVAIL / EARLYTERM: prints from
report_objects, clearsunprinted_flg, stampsprint_dt, prints companion reports (cobra/d_cobra_unavailability_rpt,cobra/d_cobra_termed_rpt). - INSIG / COUPONS: refused ("cannot be currently printed").
- After the batch: certificate of mailing (3–15 addressees per page,
postage/fee from code key
POSTAGE) (wf_certificatemailing).
- NOTIFY: prints letter, stamps
- Other actions: duplex printer-setup prompt once per session; reprint
mailing certificate without printing letters (
ue_certificate_reprint); delete selected notification letters (pfc_deleterow); add-row disabled.
w_cobra_letter_errors — "COBRA Letter Error Maintenance"
cobra/w_cobra_letter_errors (menu m_cobra_letter_error_maintenance).
- Purpose: review letter-generation failures logged by the background
process (
cobra_errorsjoined to members/events, both letter and notification branches) (cobra/d_cobradw_letter_errors). - Actions: mark rows
corrected = 'Y'; save deletes corrected rows (pfc_preupdate); print the error list (pfc_print).
w_cobra_member_delete — "Delete COBRA Event"
cobra/w_cobra_member_delete (response window).
- Fields: SSN (masked), QE eligibility effective date, read-only resolved sub/dep sys keys.
- Validations: SSN must resolve to an active member; user security check
(
uf_user_security_for_social); multiple-SSN matches resolved through a social-search picker; date required; confirmation naming the member. - Writes: deletes the
cobra_eventrow (children cascade per code comment); reports "either date is incorrect or record no longer exists" when nothing is deleted (cb_ok.clicked).
w_cobra_rate_select — "COBRA Billing Rate Selection"
cobra/w_cobra_rate_select (menu m_cobra_billing: Copy Cobra Rates, Copy All
Groups Cobra Rates, Copy Cobra Rates Forward).
- Purpose: search and manage group COBRA rates
(
cobra/d_cobra_rate_selectoncobra_rates_master); double-click opens rate maintenance keyed byrate_sys_key. - Criteria: group id, rate code, level (tag-based filters).
- Actions:
- Copy rates to group — copies the retrieved rates and their coverage rows
to a target group, skipping identical existing rates
(
wf_copy_rates). - Copy rates forward — for every division under a group, clones rates
effective on an original start date to a new start date with expiration =
new start + 1 year − 1 day (
wf_copy_rates_forward). - Deleting a rate first deletes its
cobra_rate_coveragesrows (dw_selection.pfc_deleterow).
- Copy rates to group — copies the retrieved rates and their coverage rows
to a target group, skipping identical existing rates
(
- Windows opened:
w_cobra_rate_maint(edit service; new rows inherit the group criteria).
w_cobra_rate_maint — COBRA rate maintenance
cobra/w_cobra_rate_maint (response window over header/detail).
- Field groups: rate header (
cobra/d_cobra_rates_hdr: group, coverage level, eff/exp dates, rate amount, rate code, display description; key fromcobra_rates_master_seq) and covered benefits detail (cobra/d_cobra_rates_dtl: coverage type + coverage code, dddw filtered by group). - Validations: group id immutable once set ("create a new rate for the
desired group"); display text required; at least one coverage row required;
coverage type/code must be chosen on every row before adding another; when a
type has exactly one coverage it is defaulted (
dw_header.itemchanged,dw_header.ue_validate,dw_detail.pfc_addrow,dw_detail.ue_afteritemchanged). - Actions: Generate display text concatenates coverage types with
/; OK saves header+detail and commits; hidden/disabled Generate-rate-code and Delete Rate buttons exist (cb_3,cb_5).
w_cobrarpt_select_criteria — "COBRA Reports"
cobrarpt/w_cobrarpt_select_criteria (menu m_cobrarpt_select_criteria:
Retrieve).
- Fields: report dropdown (data-driven from
batch_reportsreport_type='COBRA',cobrarpt/dddw_cobrarpt_types), group multi-select (defaults master groupsSFPI,M/III), date fields shown per report (mail-received / "Not Expired as of" / sent date / from–thru), and a special "Run All Groups With Active ARRASUBSID Members" button for the ARRA report (wf_cobraarrareport). - Behavior: criteria controls toggle per selected report DataWindow
(
dw_report_list.itemchanged); the ARRA case rewrites the group pick-list SQL to groups holding theCobraADMenrollment option. - Windows opened:
w_cobrarpt_display(withstr_cobrarpt_parms).
w_cobrarpt_display — report viewer
cobrarpt/w_cobrarpt_display (menu m_cobrarpt_display_menu).
- Purpose: hosts the chosen report DataWindow, titled with the report name,
and retrieves with the criteria in
str_cobrarpt_parms(per-report CHOOSE); the ARRA report post-processes rows to de-duplicate overlapping rate descriptions and merge duplicate payment rows before display (openevent).
w_cobra_printlabel_select — COBRA mailing labels
cobrarpt/w_cobra_printlabel_select (response window; frame menu "Mailing
Labels").
- Fields: group multi-select (master groups
SFPI,M/III), "Offset Labels By…" (skip used labels on a sheet), "New page for each division". - Behavior: prints labels for active QBs with an election letter —
electing members, or elected dependents with
Singlecoverage — viacobradw/n_cobra_functions.of_printlabelsandcobrarpt/d_cobra_labels; reports "no labels to print" when empty.
Non-window entry points
| Object | Entry point | Behavior |
|---|---|---|
cobra/n_cst_cobra_notification_gen | Frame menu "Request Notification Letter" | Member search (multi-select) → inserts cobra_notification_requests rows (skip existing), letter keys from cobra_letters_seq; rendering left to the background process |
cobra/n_cst_cobra_conversion_gen | Frame menu "Request Conversion Letter" | Member search → validates own-ID election, group Conversion option, no duplicate → inserts a CONVERSION row into cobra_letters |
cobra/n_cst_cobra_unavailability_letter_gen | Frame menu "Request Unavailability Letter" | Member search with date → validates termed eligibility / termed COBRA-typed coverages under a CobraADM group → upserts cobra_non_qual (re-flags unprinted_flg='Y' when the row exists) |