Source: report windows across all libraries (inventory.json window titles and
comments), the dedicated report libraries clmrpt, cobrarpt, enrolrpt, the
reporting subsystem in reprint (n_cst_reportobject, w_reprint*), and the
report_hist table writers.
Reporting subsystem: how report history works
The report object and report_hist
reprint/n_cst_reportobject ("Master object for loading reports into the
report_hist table") is the shared engine for durable, reprintable output:
- A report is a DataWindow object plus up to 20 retrieval parameters
(
of_setdataobject, of_setparms, ue_retrieve).
of_insert_into_report_hist inserts a REPORT_HIST row carrying:
report_sys_key, report_type_cd, report_desc, report_data (blob),
orig_run_dt, requesting user and request date, group_id,
check_number, worksheet_number, payee_sys_key, recipient id/type,
batch_id, dw_object (the layout name needed to re-render),
format_type, and reissue_days.
- The stored blob is either the rendered report (
PSR format,
of_convertpsrtoblob) or just the data rows (DATA format,
of_convertdatatoblob), selected by of_converttoblob(..., as_Format) —
with DATA, the saved dw_object re-renders the rows on reprint.
- A parallel
of_insert_into_claim_letters_hist records claim letters in
claim_letters_hist; claims/n_reportobject_claims_letters specializes the
object for claims letters.
Sequence keys come from the database (report_hist_seq.nextval — e.g.
enroll/w_enroll_hipaa_generate line ~502). Some producers write the row and
then UPDATEBLOB report_hist SET report_data = ... in a second step (HIPAA and
custom termination letter generation).
Print queue and reprint
reprint/w_reprint ("print queue manager", DataWindow d_reprint over
report_hist joined to user_info) prints queued output;
reprint/n_cst_reprint_func re-instantiates stored blobs via a temp file
and prints them (of_printpsr, of_printdata).
reprint/w_reprint_maintenance searches REPORT_HIST with a dynamically
built filter (report type wildcard, internal vs. external payee, group,
check number) and retrieves the blob for view/reprint (lines ~200-256).
- After printing, producers set
prt_flg = 'Y' on the row (e.g.
enroll/w_enroll_hipaa_print line ~346), so "unprinted only" filters work.
- Check/EOB re-prints use the
chkrundw library DataWindows
(d_checkrun_eob*, d_checkrun_claim_lines, d_checkrun_claim_pricing) via
clmprint/n_check_copy and reprint/w_reprint_maintenance;
reprint/w_reprint_check_recon covers check reconciliation output.
- Group-specific print distribution (how many copies of what go to which
recipient) is maintained in
reprint/w_group_print_distribution.
system/w_letter_on_cd retrieves archived claims letters "stored on CD" via
the same reprint objects.
Billing report queue (separate store)
Billing runs write their outputs to a dedicated bill_reports table; users
view/print them from billing/w_bill_queue ("Billing Reports View and Print",
d_bill_bill_reports_list, with an unprinted-only checkbox and per-run delete
DELETE FROM bill_reports WHERE bill_def_sys_key = ... AND bill_run_sys_key = ...).
Batch report registry
homersys/w_batch_reports maintains the batch_reports table: report_cd,
report_name, report_dw, report_parameter_window, report_type,
allow_run_events, allow_times (homersys/d_batch_reports). This is a
registry of reports that can be run by a batch mechanism with event- or
time-based permissions; reprint/w_parameterwindow is the "Generic parameter
window for use with n_cst_reportobject" that such registered reports name.
Catalog by business area
Names below are the window objects (the operative report definitions are the
DataWindows each window retrieves). Purposes are taken from source comments
and window titles; where blank in source, the name is descriptive enough.
| Report window | Purpose / title | Key selection criteria |
|---|
w_rpt_group_claim_bendefs | Detailed Claims Listing by Benefit Definition | group, benefit definition |
w_rpt_group_claim_benrules | Detailed Claims Listing by Benefit Rule Type | group, rule type |
w_rpt_group_selected_accums | Accumulators by Member | group, accumulator selection |
w_rpt_member_accum_rulemax | Member Accumulators by Benefit Rule | member (embedded member search) |
w_clmrpt_accum_rpt | Member Accumulator Listing for groups | group |
w_clmrpt_member_accum_search | Member accumulator display by member criteria | member criteria |
w_claimrpt_large_claim_report | Large claim report | thresholds |
w_clm_claimed_amt_morethan | Claims with claimed amount above a threshold | amount threshold |
w_clmrpt_claims_older_than_90_days | Claims older than 90 days | group or all |
w_clmrpt_open_messages | Claims with open messages | status |
w_clm_message_status_summary | Claim message status summary | — |
w_clmrpt_status_count | Count of claims in each status | — |
w_clmrpt_outstanding_adjustments | Claims with outstanding adjustments | group |
w_clmrpt_outstanding_refunds | Outstanding refunds | group or all |
w_clmrpt_outbound_aging_tv | Claims - Outbound Aging (treeview) | age |
w_clmrpt_outbound_edi_older_than_10_days | Outbound EDI claims with no response after 10 days | age threshold |
w_no_group_id_fix | Claims with no Group ID assigned | — |
w_nobs_group_rpt | Group report (NOBS) | group |
w_cigna_p4p | Cigna Pay for Performance reporting | — |
w_ppaca_letters | PPACA letters (report picked from drop-down, per claim) | report name, claim id |
w_state_report (homersys) | Members and claims for specified states over time | states, date range |
clmforms/w_claim_status_listing | Claim status listing | — |
sales/w_sales_rpt_group_claim_detail | Detailed Claims Listing by group, claim type, paid dates | group, claim type, paid dates |
sales/w_sales_report_wizard / w_sales_report_sheet | Reporting wizard (parameterized report family) | wizard-driven |
Enrollment / membership (enrolrpt, enroll, enrollutils)
| Report window | Purpose / title | Key selection criteria |
|---|
w_annlstmt | Annual employee benefit statement generation | group, member |
w_annlstmt_option_maintenance | Maintain annual statement options | — |
w_census_rpt_args_sheet / w_census_rpt_display | Census reports | census parameters |
w_enrollrpt_deps_over_age | Dependents over age NN | age |
w_enrollrpt_error_rpts | Enrollment error reports (e.g. single member with multi-person coverage) | error type |
w_hb1_report | HB1 Member Report | — |
w_dep_audit | Dependent Eligibility Audit (also creates Matria claim files) | group |
w_mmo_audit | MMO audit | — |
enroll/w_hipaa_cert_report | Run/print HIPAA certificate report | member/date |
enroll/w_notes_hipaa_report_view | HIPAA notes report | — |
enrollutils/w_fsa_notices | Flexible Spending Account notices and summary listings | plan year |
enrollutils/w_fsa_depcare_tax_statements | FSA dependent-care tax statements | year |
client/w_client_census_rpt_args_sheet / _display | Client census reports | client |
COBRA (cobrarpt, cobra)
| Report window | Purpose / title | Key selection criteria |
|---|
w_cobrarpt_select_criteria / w_cobrarpt_display | COBRA Reports (criteria then display) | report type, criteria |
w_cobra_printlabel_select | COBRA mailing label selection | — |
cobra/w_cobra_printqueue | Main print queue for COBRA letters | letter type, group |
cobra/w_cobra_letter_errors | COBRA letter generation errors | — |
Funding / banking (funding)
| Report window | Purpose / title | Key selection criteria |
|---|
w_fund_funding_status | Funding Status Report | group, period |
w_fund_fund_page_listing | Fund Page Listing Report (setup completeness) | — |
w_fund_negative_balance | Negative balance report (screen version) | — |
w_fund_reconcile_report | Bank Reconciliation report | account, period |
w_fund_outstanding_checks | Outstanding checks | account |
w_fund_check_process_err_rpt | Fund check processing error report | run |
w_fund_wdi_period_rpt / w_fund_wdi_period_as_modified_rpt | WDI period reports (as billed / as modified) | period |
w_fund_delinquent_claims_summary / _detail | Delinquent claims funding | group |
w_withholding_reports | Withholding claims and census reports by state | states, date range |
Billing (billing)
| Report window | Purpose / title | Key selection criteria |
|---|
w_bill_queue | Billing Reports View and Print (bill run outputs) | bill definition, run, unprinted flag |
w_bill_reports | Billing Exception Report | run |
w_billrpt_flex_charges | Flex Charge Billing report | period |
w_billprt_disbursement_division_summary | Disbursement division summary | run |
The billfunc library holds the d_billprt_* print DataWindow family
(charge summaries, disbursement summaries, mailing pages, rate details).
Utilization / case management (um_cm, um_main)
| Report window | Purpose / title | Key selection criteria |
|---|
um_cm/w_um_cm_potentials_report | CM Potentials Report | criteria |
um_cm/w_um_management_cases | UM management cases report | — |
um_cm/w_cm_billing | CM billing reports and maintenance | period |
um_main/w_cm_possible_rpt | Possible CM claim report | — |
um_main/w_um_entities_report | Entity report | entity |
um_main/w_umclaim_rpts | UM claim reports | — |
Stop-loss (stoploss)
| Report window | Purpose / title | Key selection criteria |
|---|
w_sl_spec_clm_listing | Specific Stoploss Claims Listing | member (embedded search), contract |
w_sl_variable_clm_listing | Variable date-range stop-loss claims listing | member, date range |
w_sl_specific_rpt | Specific stop-loss report | contract |
Provider / network (provider), system and security
| Report window | Purpose / title | Key selection criteria |
|---|
provider/w_provider_rpt_hcn_pricing_methods | HCN pricing methods report | network |
provider/w_hms_report / w_hms_reporting / w_hms2 | HMS reporting extracts | period |
homersys/w_edi_report | EDI submitted by group | group |
homersys/w_pridecare_bill_data | Pridecare bill data report | — |
homersys/w_release_notes | Release notes viewer | version |
app_sec/w_sec_report1 | Security report | — |
idcard/w_enroll_idcard_usfhp | USFHP ID card request listing and letters | request batch |
Requirements
- RPT-1 Reports and printed documents that may need reissue (checks, EOBs,
worksheets, letters, statements) shall be persisted at generation time as a
report-history record holding the rendered output (or its data plus the
layout identifier), report type, description, original run date, requesting
user, and business keys (group, check number, worksheet number, payee,
recipient, batch) (
reprint/n_cst_reportobject::of_insert_into_report_hist).
- RPT-2 Persisted output shall support two storage formats — fully
rendered, and data-only re-rendered through the saved layout — chosen per
report (
n_cst_reportobject::of_converttoblob — PSR vs DATA).
- RPT-3 Users shall be able to search report history by report type,
group, check number, payee class (internal/external) and date, preview the
stored output, and reprint it (
reprint/w_reprint_maintenance,
reprint/w_reprint).
- RPT-4 Each history record shall track whether it has been printed
(
prt_flg), and print queues shall support an "unprinted only" view
(enroll/w_enroll_hipaa_print, billing/w_bill_queue).
- RPT-5 Claim letters shall additionally be recorded in a claim-letter
history keyed to the claim
(
n_cst_reportobject::of_insert_into_claim_letters_hist,
claims/n_reportobject_claims_letters).
- RPT-6 Billing-run outputs shall be queued in a billing report store and
be viewable, printable, and deletable per bill definition and run
(
billing/w_bill_queue).
- RPT-7 The system shall keep a maintainable registry of batch-runnable
reports naming the report code, layout, parameter-collection screen, type,
and whether event-triggered and/or time-triggered execution is allowed
(
homersys/w_batch_reports, batch_reports table).
- RPT-8 Per-group print distribution rules (recipients/copies) shall be
maintainable and honored when printing report batches
(
reprint/w_group_print_distribution).
Open questions
- The full report inventory ultimately lives in DataWindow objects (2,110 in
analysis/datawindows.json); the tables above list the user-facing report
windows. A per-DataWindow layout inventory should be generated per module
during migration.
batch_reports.allow_run_events / allow_times imply a scheduler/runner
that is not in the client source (see
Batch Processing open questions).
- Several report windows have neither title nor comment (e.g.
clmrpt/w_nobs_group_rpt, enrolrpt/w_mmo_audit); purposes need user
confirmation.
system/w_letter_on_cd implies an offline letter archive on optical media;
confirm whether that archive must be readable post-migration.