Claim entry, correction and editor screens
The claim workspace is built from three host windows that dynamically load a claim-form tab object (one per claim form type) plus shared tabs for adjudication results and payment history. All of them delegate business logic to clmshare/n_cst_claims (data orchestration, save, message handling) and clmshare/n_cst_claim_control (locking / status / security).
Host windows
claims/w_claim_entry — Claims Entry
- Purpose: capture a brand-new claim. Loads the tab object for the selected claim form (
of_setform), sized to the form. - Actions: choose claim form; enter data; Save (claim id generated, status
RFCP— see CLM-1/2). Menum_claim_entry.
claims/w_claim_correction — Claims Correction
- Purpose: work claims that have open error messages. A claim-list DataWindow with a search-criteria panel (
ue_search) retrieves claims for the screen's status family; clicking a claim opens it in the embedded editor surface (ue_retrieveclaim). - Notes: the same window class also serves "show deleted" mode for returned/deleted claims (
ue_showdeleted).
claims/w_claim_editor — Open Claim ("Claims editor")
- Purpose: the general claim viewer/editor. Opens in a screen mode that determines title, help text and which actions are enabled:
AUDIT(Claims Audit),CORRECTIONS(Claims Corrections),RETURN(Returned Claims),ADJUDICATION(Claims Adjudication),VOID,RFFand default Open Claim (ue_setscreenstatus). - Layout: claim-id header (
dw_claim_id), dynamically loaded claim-form tab (ue_setclaimstabviaclmshare/n_cst_claimform), messages grid (dw_messages, shared withn_cst_claims), original-values view (dw_original), action log (dw_action), status text (st_statusshows Read Only reasons). - Actions (menu/toolbar
m_claims_correction):- Void / Return / Mark-for-Deletion / Reactivate / Hold — all via
wf_setstatus+ confirmation popupw_setclaimsstatus(info messages 88/87/144/89/86). Void is disabled once the claim has ever beenPAID(claim_statuses_history check). - Message operations: add / edit / close (close triggers the per-message-number workflows in
n_cst_claims.of_closemessage). - View: benefit definitions applied (
w_claim_lines_benefit_definition), claim lines before code review (w_before_claim_linesviaof_viewbeforeclaimlines), status history (w_claims_disp_status_history), original values, notes, associated claims (w_assoc_list), claim letters (ue_issueletters→w_claims_letters), EOB (ue_vieweob), enrollment. - Assign provider / subscriber / patient (lookup + assignment events
ue_setprovider/ue_setsubscriber/ue_setpatient). - Mark claim for Outbound EDI (
ue_outbound_edi): checks the claim is not already inoutbound_edi_transactions, prompts for a trading partner (w_claims_partners_select), inserts the transaction row and logs message 223. - Duplicate viewer (
claims/u_duplicate_claim, titled View Duplicates): lists the claim ids from the message-102DupClaims:comment; double-click opens each candidate in anotherw_claim_editorsheet (read-only if locked).
- Void / Return / Mark-for-Deletion / Reactivate / Hold — all via
Entry-desk operating conventions (User Guide ch. 10)
How the screens above were actually used, per the official user guide — useful for validating migrated UX against real workflow:
- Who keys what: the Claims Data Entry department keys UB92, HCFA1500, SSO, generic-medical, HCR/DepCare and all repricing sheets; examiners key dental, vision, WDI, drug, ineligible and EOB forms, all foreign claims, and any claim arriving with an EOB attached (those bypass data entry). Ineligible claims may only be entered by examiners and require an active "Ineligible" coverage election.
- Keyboard/mouse conventions: Enter can act as Tab (user preference); F6 hops between form sections and out of multi-line areas; tabbing out of the last line of a repeating area auto-adds a row; right-mouse adds/deletes rows in box areas; keying
SAMEin patient (or subscriber) name/address copies the other party's data during the next background run. - Common header fields on every form: Source (Provider / HCN / Subscriber — defaults Provider; implies whether a repricing sheet is expected, so it is critical to set correctly); Received On (defaults today; override with the mailroom date stamp); Operative Notes checkbox; Foreign Claim checkbox.
- Foreign claims can only be entered on generic forms, with provider entry inhibited; amounts must be manually converted to US dollars before entry, and the foreign flag cannot be changed in Data Correction.
- Mandatory fields are not enforced at keypunch: the claim always saves, and missing-mandatory messages are generated at save for later correction (CLM-19). Field-level numeric/date validation happens at keypunch; unresolvable forms are bypassed to the responsible examiner.
- Insured's signature accepts exactly three states: Signature on file (pay provider), Pay subscriber, or blank (possible split — resolved in adjudication) — see CLM-74.
- EOB-first rule: primary-carrier EOBs must be entered before the claim so the background process can auto-attach EOB lines to claim lines; the EOB modal on the claim form only attaches/detaches existing EOB records.
- Anesthesia popup is auto-raised when a line indicates anesthesia (anesthesia CPT/HCPCS/ASA code, modifier 23/47, type of service 7, anesthesia revenue code on UB forms); dental forms instead carry an anesthesia-minutes column. On generic forms it must be requested manually. Claims recognized as anesthesia but keyed without times/units fall back to corrections.
- Repricing sheets: entry must check HCN considers member not on file / HCN considers provider OON per the stamp on the sheet and pick the HCN from the dropdown — these three fields drive the whole reprice-vs-convert decision tree in the background process. UB92 outpatient sheets needing per-diem pricing go on the generic reprice form (box 4 distinguishes in/outpatient).
- HCFA box 33 with four address lines: the extra line is a second provider name — key the business name, or the name matching box 31.
- Dental tooth rules: tooth number and (for restorative ADA ranges 02110–02387, 02510–02530) tooth surface are required for the ADA codes listed in the guide; entry is allowed without them but the background process raises the error.
- Line limit: no more than 100 detail lines per claim (code-review software limit); larger claims must be split at entry.
- Batch filing: each day's entered claims are stamped with batch number + claim id, verified against a batch-control sheet, and filed by batch (claim storage procedure).
Correction-desk conventions (User Guide ch. 10)
- Background process contention: a claim open in any window is invisible to the background process and to code review — operators must close claims so they can process. Locks orphaned by crashes are cleared via the supervisor unlock window.
- Worklist routing: correction lists are filtered by the user's security groups plus message routing — Claims Data Correction users see batches from their assigned entry users; Enrollment/Provider/COBRA/UM users see claims whose open messages carry their area prefix (EN, PV, …) from
global_messages.area. - Do not close messages prematurely: the background process auto-closes system error messages when the underlying data is fixed. Manually closing specific messages suppresses future processing — e.g. "member has never had correct coverage" (skips coverage lookup, duplicate check and pricing; line rejects at adjudication), "user has manually assigned column value", the HCN member-unknown/provider-OON messages, and code-review question/error messages. Closing the enrollment-wait messages (no coverage / no eligibility / initial enrollment / line partially in eligibility period) rejects the associated line.
- Closing a not-found message (provider, subscriber, patient, coverage, package) offers to open the matching Select popup; manual member reassignment requires changing the SSN on the claim, otherwise the background process resets the name from the old SSN.
- Generated fields: claim type and examiner are system-assigned but user-overridable; once overridden the system leaves them alone until cleared (an override writes a message). Member/provider syskeys and claim id are never user-editable.
- Hold discipline: any claim waiting on an outside department or information request should be put on Hold (with a user message) so it stops recycling through the background process; enrollment/provider requests are routed as user messages to the department, and the claim comes off hold when the response arrives.
- Provider errors: look up box 31 (with degree) first, then box 33; if not found, message Provider Relations and hold the claim. A selected provider is remembered — the system links the claim's provider strings to the chosen provider and auto-assigns future identical claims (active providers only). TINs flagged "unsearchable" (e.g. Cleveland Clinic) cannot be searched by tax id alone.
- Duplicate disposition (message 102 popup): manually review each candidate claim id in claim history; confirm to let the system deny the lines, or mark Not A Duplicate to release the claim.
- Manual line rejection: right-click the claim line and assign a reject code to the whole line; partial rejections require splitting the line first.
Claim form tab objects (clmentry)
clmshare/n_cst_claimform.of_getclaimsobject maps claims.claim_form_type to the tab object; each tab is composed of DataWindows over claim_entries, claim_lines and form-specific tables.
| Claim form type | Tab object | Window title | Extra tables |
|---|---|---|---|
| HCFA1500 | u_claims_tab_hcfa | HCFA 1500 | claims_hcfa_info |
| HCFA_REPRICE | u_claims_tab_hcfa_reprice | HCFA 1500 Repricing | + claims_reprice_info |
| UB92 | u_claims_tab_ub92 | UB92 | claims_ub92_info, conditions/occurrences/procedures/values, itemized |
| UB92_REPRICE_IN / _OUT | u_claims_tab_ub92_reprice_in / _out | UB92 Inpatient / Outpatient Repricing | + reprice info/detail |
| GENERIC_REPRICE | u_claims_tab_generic_reprice | Generic UB92 Repricing | + reprice info/detail |
| GENERIC_MEDICAL | u_claims_tab_generic_medical | Generic Medical | |
| DED_SUPPLEMENT | u_claims_tab_dedsupp | Deductible Supplement | |
| SFPI_DENTAL | u_claims_tab_sfpi_dental | SFPI Dental | claims_dental_info, claim_missing_teeth |
| SFPI_VISION_EXAM | u_claims_tab_sfpi_vision_exam | SFPI Vision Examination | claims_vision_info |
| SFPI_VISION | u_claims_tab_sfpi_vision_lens | SFPI Vision Lens and Frames | claims_vision_info (lens detail) |
| SFPI_HCR | u_claims_tab_sfpi_hcr | SFPI Healthcare Reimbursement | claims_reimb_info |
| SFPI_DEPENDENT | u_claims_tab_sfpi_dependent | SFPI Dependent Care | claims_reimb_info |
| SFPI_WDI | u_claims_tab_sfpi_wdi | SFPI Weekly Income Benefits | claims_wdi_info, claim_wdi_lines |
| SFPI_INELIGIBLE | u_claims_tab_sfpi_ineligible | SFPI Ineligible Benefit | |
| DRUG | u_claims_tab_drug | Prescription Drug | line-level refill_ind (New/Refill) |
| SSO | u_claims_tab_sso | Second Surgical Opinion | claims_sso_info + diagnosis/procedure sections |
Common header/entry fields (clmentry/d_claim_entries_common and per-form variants)
Grouped summary — the DataWindows carry 80–100 columns each; do not enumerate in migration UI specs, map from the claim_entries table:
- Receipt: received-from (Provider / HCN / Subscriber), received method, received/entered dates.
- Subscriber: name, address, phone, gender, birth date, SSN/member id, employer (group) name & address.
- Patient: name, gender, birth date, relationship (Self/Spouse/Child/Other), marital status (Single/Married/Other), student status (Full/Part/None), employment status.
- Claim classification: claim type (Medicare / Medicaid / Champus / Champva / Group plan / FECA / Other — HCFA box 1), accident indicators (auto / employment / other), COB indicator, operative-notes and attachment indicators, QMCSO flag.
- Provider: billing/attending/facility provider name, address, TIN + TIN type (SSN/EIN), degree, signature/assignment indicators (
accept_assignment_ind,outside_lab_indon HCFA). - Payee:
initial_payee— Subscriber or Provider (clmentry/d_claims_infoa). - Repricing forms only: HCN (network), Member Not on File and Provider Out of Network checkboxes (drive conversion message 104 / whole-claim-pricing eligibility).
Claim lines
Line grids (clmentry/d_claim_lines_*, master clmshare/d_claim_lines_master) capture per service line: from/thru dates, place of service, procedure code + type + modifiers, revenue code (UB), diagnosis reference, units, claimed amount; and display system results: allowed amount, considered, allowed-after-copay/deductible/coinsurance, benefit amount, payable amount, line status (REJECT/HOLD), duplicate indicator, reject reason, assigned benefit definition and package. Line sequence numbers are auto-incremented (n_cst_claims.of_incrementsequence); deleting a line forces reprocessing (CLM-18).
Adjudication tab — clmentry/u_adjudication
- Top grid: the claim's lines (select a line to filter the panels).
- Benefit Rules Currently Applied to Claim Line (
clmshare/d_claim_line_rules_master): rule code, type, reason, retained amount/qty, editable exclude flag; users may manually add a rule from the pricing-rules grid (duplicate rule keys prevented; new rows get keys fromALL_PURPOSE_SEQ). - Pricing Rules Applied to Claim Line (
clmshare/d_claim_line_pricing_rules_master). - Line adjudication amounts (
d_claim_lines_adjudication) with buttons Select (opensclaims/w_select_benefit_definitionto pick a benefit definition) and Clear (clears the definition, recording the change). - Rule totals summary (
d_claim_line_rules_totals, excludes rows flaggedexclude_ind='Y').
Payment tab — clmentry/u_payment
- Fund-register activity for the claim (
clmentry/d_claim_history): applied/paid dates, amounts, paid/void/backout/hold/waiver/check-cleared indicators; default filter shows applied activity only, with a Show All Activity checkbox. - For Aetna electronic claims (id prefix
EAET) shows "Sent to Aetna: date" fromext_output_transactions.
Message-resolution and utility popups
| Window | Purpose / behavior |
|---|---|
claims/w_setclaimsstatus | Confirmation for Void/Return/Delete/Reactivate/Hold; writes the matching info message; Return currently redirected to Delete (CLM-11) |
claims/w_setstatusfromaudit | Close audit hold (msg 151/171): blocks if other messages open; choose Return to Corrections (RFCP) or Proceed to Funding (RFF, REXOUT if electronically paid); comment required |
claims/w_setstatusfrompreadj | Close pre-adjudication hold (msg 167): choose RFCP or advance to Dupe Check (RFDC) |
claims/w_claim_message_duplicate | Disposition duplicate message 102: mark Not A Duplicate or keep/adjust the duplicate-claim list |
claims/w_claim_message_multiple_benefit | Resolve msg 40 — pick the coverage (type_of_claim) when multiple benefits could apply |
claims/w_claim_message_select_package | Resolve msg 109 — pick the benefit package for a claim line |
claims/w_claim_message_claim_line_hold | Resolve msg 124 (benefit-rule HOLD): Accept or Deny the held amount with reason |
claims/w_claim_message_cm_hold | Resolve internal-CM messages 225/226/227: Accept / Deny (reason) / Not-a-service |
claims/w_claims_message_wizard (2 steps, u_wizard_user_message1/2) | Add and route a user-defined claim message |
claims/w_claims_message_edit | Edit a claim message |
claims/w_claims_select_reason_code | Pick a reject/denial reason code |
claims/w_comment_prompt | Free-text comment prompt used by status flows |
clmentry/w_anesthesia_popup | Anesthesia units: start/end time, elapsed/total time, base + time + modifier units, unit conversion → total units (claims_anesthesia) |
claims/w_select_benefit_definition | Search/select a benefit definition for a claim line (manual assignment, msg 128) |
claims/w_claim_lines_benefit_definition | Read-only view of the definition applied to each line (includes duplicate flag) |
claims/w_claim_line_pricing_rules | Record manually entered pricing data for a line |
claims/w_claim_lines_remove_modifiers | Change/remove procedure modifiers on claim lines |
claims/w_before_claim_lines | Side-by-side current lines vs lines before code review (claim_lines_before) |
claims/w_convert_to_reprice_form / w_select_reprice_form | Despite its name, this window drives message 104 in the opposite direction — converting a repricing sheet into its non-repricing equivalent when the system decides it should not be repriced (CLM-29); w_select_reprice_form chooses the UB92 reprice in-vs-out form |
claims/w_claims_hcn_list | Choose the HCN (network) for a repricing claim |
claims/w_add_claim_to_internal_cm | Attach the claim to an internal case-management case (um_case_mgt_claims) |
claims/w_claims_unlock | Supervisor: clear a stuck claim lock |
claims/w_claim_search_by_claim_id | Open a claim directly by claim id |
clmshare/w_cm_select | Case-management case picker (shared) |