Program Components


A program component is a page or set of pages within nVIRO that contains a customized group of data elements that relate to a specific program and/or a functional area. Program components provide a flexible way of storing and managing data elements that are not found elsewhere in nVIRO. They also serve as a convenient repository for historical data that has been migrated in from legacy systems and that needs to be retained for reference.

For example, the standard Site Details page for a given site captures common data elements such as name, site type, address, etc. However, most fields on the Site Details page are generic and are applicable to many different types of sites, whether they be wastewater treatment plants, Title V air facilities, or oil production facilities. To track data specific to a given site type, program staff can create a program component form. For a Title V air facility, a program component form might be used to store air-specific facility information such as pollutants, applicable federal air programs, emission units, and so on.

Program components are implemented as nFORM forms that are set up by administrators working closely with subject matter experts. System administrators can also set up component types that make the component forms available to a specific program/functional area.  

Program components are displayed on the Program Components tab of the details page within each of the following functional areas:

Functional Area

Detail Page(s)


Site Details


Application Details, Complaint Details, Schedule Details


Permit Details


Evaluation Details

Compliance Action

Compliance/Enforcement Action Details

Environmental Projects

Project Activity Details

Adding a Program Component to a Parent Entity

Program forms may be manually added under the Program Components tab of an entity. Alternatively, depending on system configuration, the component may be automatically created and added to the entity. (See Automatically Created Components below).

To add a program component:

  • Navigate to the Program Component tab for the entity. (See the table above for the detail pages where the relevant Program Components tabs can be found.)

  • Select the component that you wish to add from the drop-down control labeled Add New Program Component...

  • Click Add.

    • The program component is added and the first section of the form is opened for editing.

  • Edit the fields of the program component form (see Editing a Program Component Form below).

 Program components can be configured to allow the addition of multiple instances of the same program component to a target entity.

Automatically Added Components

Component forms which are always required for a given entity type and program may be configured to be automatically added at the time the entity is created and will appear on the Program Components tab as described above.

Single Occurrence/Repeating Components

A component's type can be configured such that it can be added multiple times to a parent entity.

If this option is not configured, once an instance of a program component type has been added to an entity, it will no longer be listed for selection in the Add New Program Component drop-down control.

Editing a Program Component Form

To edit a program component:

  • Navigate to the Program Component tab for the entity.

  • Click the Open button for the component that you wish to edit.

    • The program component opens.

  • Edit the fields as desired. Data is saved when navigating from one section to another or by clicking the Save Progress button. 

  • To exit the form, click the Exit Form button. 


Component Form Management

Component forms are managed via the Admin > Forms menu. See Configuring Program Component Forms and Configuring Component Types for information related to creation and maintenance of component forms.

Component Form Design

Component forms are designed and configured via the Admin > Forms menu. Designing component forms is similar to designing a regular submission form, with a few key differences. See Configuring Program Component Forms.