Skip to main content

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 key COBRSTAT) with Select All / Unselect All, and the result grid (cobra/d_cobra_event_select: group, SSN, name, eligibility eff/exp, QE code dep_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)/INCOMPLETE events, 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 (dddw dddw_cobra_status, key COBRSTAT), eligibility exp date, QE code (dep_exp_cd).
    • Letter Recipients (cobra/d_cobra_persons on cobra_elect_persons): per-recipient name, SSN, member id.
    • Letters (cobra/d_cobra_letters): letter type (dddw dddw_cobra_letter_codes, key COBRLETTER), sent/deadline/response/rescind dates, response code (dddw dddw_cobra_response_cds, key COBRRESP), print flag, description; static text shows First Premium Payment Deadline = response date + 45 days.
    • Qualified Beneficiaries On Letter (cobra/d_cobra_benficiaries on cobra_qb): eff date, max exp date, exp date, exp reason (dddw dddw_cobra_termcodes, key COBRA, with synthetic (None)), elect flag, coverage level, disability + disability-notice flags.
    • Payments (cobra/d_cobra_payments on cobra_stub): paid-through, received date, check no, amount, partial-pay/significant flags.
  • Linkage: header → recipients → QBs → payments; letters linked to the selected recipient; key columns forced consistent before update (pfc_preopen, ue_linkage events, 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; Elected marks 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).
  • 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 latest RELATIONS category, 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_key to members; the paid-through date must be inside the QB coverage window, or on/before nvl(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).
  • Writes: inserts cobra_stub (key from all_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 with cobra_errors rows.
  • Actions (pfc_print): per selected row, loads the blob (cobra_letter_data or report_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 _prior layouts), fills the payment-periods child (f_premium_periods), shows signature lines per member class, updates sent_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, clears unprinted_flg, stamps print_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).
  • 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_errors joined 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_event row (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_select on cobra_rates_master); double-click opens rate maintenance keyed by rate_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_coverages rows (dw_selection.pfc_deleterow).
  • 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 from cobra_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_reports report_type='COBRA', cobrarpt/dddw_cobrarpt_types), group multi-select (defaults master groups SFPI, 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 the CobraADM enrollment option.
  • Windows opened: w_cobrarpt_display (with str_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 (open event).

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 Single coverage — via cobradw/n_cobra_functions.of_printlabels and cobrarpt/d_cobra_labels; reports "no labels to print" when empty.

Non-window entry points

ObjectEntry pointBehavior
cobra/n_cst_cobra_notification_genFrame 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_genFrame 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_genFrame 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)