Combined IOWA Reporting Forms - Test

Purpose: Visual verification of the combined IBHRS form.
Sections: Client Data, Treatment Episode, Service Event
File: combinediowareportingforms.json Download JSON
Loading form...

Changelog / Applied Changes

v16 - Removed EMR Auto-Populated Client Fields

v15 - Removed IBHRS Explanatory Content

v14 - Extended Conditional Fields

v13 - Conditional Fields Metadata

v12 - Care Status Conditional Field Visibility

v11 - Pre-v12 Backup

v10 - Data Persistence (clearOnHide=false)

v9 - Editgrid Labels & Required Linkage

v8 - Validation & Phone Fixes

v7 - Email Field Conversion

v6 - Linkage Fields Fixes

v5 - Repeatable Sections with Editgrid

v4 - Datagrid Attempt (Reverted)

v3 - Initial Repeatable Transformation

v2 - Before Repeatable Transformation

v1 - Original Combined Form


Linkage Priority Rules (for Export Code)

When processing ServiceEvent data in export mappers, linkage fields have TWO sources:

  1. Select box - for linking to episodes/care statuses in the CURRENT submission
  2. Text field - for manual entry (linking to PREVIOUS submissions)

Priority: Text field takes precedence over select box if both are filled.

// Episode linkage
const episodeId = data.linkedEpisodeIdentifier || data.linkedEpisodeIdentifierSelect;

// Care Status linkage
const careStatusId = data.linkedCareStatusIdentifier || data.linkedCareStatusIdentifierSelect;

See LINKAGE_PRIORITY.md for detailed documentation.


Conditional Fields Reference (for Export Code)

Many fields are conditionally visible based on:

Export mappers should check conditional visibility before including fields.

// Example: Check if field should be exported
const metadata = require('./conditional-fields-metadata.json');
const field = metadata.conditionalFields.treatmentEpisodes
  .knownFieldDependentFields.find(f => f.key === 'monthlyHouseholdIncomeAmount');

// Only export if condition is met
if (rowData.monthlyHouseholdIncomeKnown === 'yes') {
  // Export monthlyHouseholdIncomeAmount
}

See conditional-fields-metadata.json for complete field definitions and export notes.


Testing Conditional Fields

To test conditional field visibility:

  1. Load the form and expand the Treatment Episode section
  2. Change the Status field to different values:
    • Pre-Admission: Most fields should be hidden
    • Admission: Prior episode fields should appear
    • Transfer/Discharge: Discharge Reason should appear, Prior fields hidden
  3. Change the Program Area field:
    • Substance Use: Days Substance Used, Substance-related arrests visible
    • Gambling: Days Gambled, Bankruptcy, Money Lost, Gambling arrests visible
  4. Toggle Known fields to Yes/No to see count fields appear/disappear