. Office of Enforcement and Compliance Assurance Integrated Compliance Information System ICIS-Air Programs Web Design Version 1.3 Revised Final July 14, 2015 . OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Document Change History Version Number Date Description 0.1 6/14/2013 Initial Draft Release 1.0 7/16/2013 Incorporated EPA Comments 1.1 11/13/2013 Incorporated the following Change Requests: AIR145, AIR 146 Updated Sub-Process: Process Program Operating Status Updated Requirements and Error Messages: PRO-009 PRO-022 PRO-023 PRO-024 PRO-054 PRO-038 Modified to apply to the Add Function PRO-036 PRO-037 Removed PRO-021 1.2 8/4/2014 Changed “Other Air Program Description” to “Program Description” Updated Requirement PRO-052 to require Program Description when Program = Federally-Enforceable Requirement. Removed Requirement PRO-053. Added Requirement PRO-060 to filter the list of Subpart values based on the selected Program. Updated Requirement PRO-036 to include GHG in the list of Programs that can have Subparts. Updated the error message for PRO-052. 1.3 7/14/2015 Per AIR-2260, updated business rule PRO-036 for mapping of Subparts to Programs. Per Air-2722, added PRO-056 and updated Data Elements Mapping for the Air DA filter and sort order for Air Programs. ICIS-Air Programs Web i OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Table of Contents 1. INTRODUCTION..................................................................................................................... 4 2. ADD PROGRAM ...................................................................................................................... 5 2.1 SCREEN NAVIGATION ACTIONS.............................................................................................. 5 2.2 SAMPLE SCREEN .................................................................................................................... 6 2.3 USE CASE ............................................................................................................................... 8 3. LIST AIR PROGRAMS ........................................................................................................... 9 3.1 SCREEN NAVIGATION ACTIONS.............................................................................................. 9 3.2 SAMPLE SCREEN .................................................................................................................... 9 3.3 USE CASE ............................................................................................................................. 10 4. EDIT PROGRAM ................................................................................................................... 12 4.1 SCREEN NAVIGATION ACTIONS............................................................................................ 13 4.2 SAMPLE SCREEN .................................................................................................................. 13 4.3 USE CASE ............................................................................................................................. 16 5. DELETE PROGRAM ............................................................................................................ 17 5.1 SCREEN NAVIGATION ACTIONS............................................................................................ 17 5.2 SAMPLE SCREEN .................................................................................................................. 17 5.3 USE CASE ............................................................................................................................. 18 6. SUB-PROCESSES .................................................................................................................. 20 6.1 PROCESS PROGRAM OPERATING STATUS ............................................................................. 20 6.2 CALCULATE FACILITY OPERATING STATUS ......................................................................... 27 7. REQUIREMENTS.................................................................................................................. 30 8. DATA ELEMENT MAPPING .............................................................................................. 36 APPENDIX A: ACRONYMS .................................................................................................... 41 ICIS-Air Programs Web ii OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE List of Tables Table 2.1-1. Screen Navigation: Add Program .........................................................................................................5 Table 2.3-1: Add Program ..........................................................................................................................................8 Table 3.1-1. Screen Navigation: List Air Programs ..................................................................................................9 Table 3.3-1. Use Case: List Air Programs ............................................................................................................... 10 Table 4.1-1. Screen Navigation: View/Edit Program.............................................................................................. 13 Table 4.3-1. Use Case: Edit Program ....................................................................................................................... 16 Table 5.1-1. Navigation: Delete Program ................................................................................................................ 17 Table 5.3-1. Use Case: Delete Program.................................................................................................................... 18 Table 6.1-1. Process Program Operating Status ..................................................................................................... 24 Table 6.2-1. Calculate Facility Operating Status .................................................................................................... 29 Table 7-1. Program Requirements ........................................................................................................................... 30 Table 8-1. Program Data Element Mapping ........................................................................................................... 36 Table A-1: Acronym List .......................................................................................................................................... 41 List of Figures Figure 2.2-1. Add Air Program ..................................................................................................................................7 Figure 3.2-1. List Air Programs ............................................................................................................................... 10 Figure 4.2-1. Edit Air Program ................................................................................................................................ 15 Figure 5.2-1. Delete Air Program ............................................................................................................................. 18 Figure 6.1-1. Process Program Operating Status.................................................................................................... 21 Figure 6.2-1 Calculate Facility Operating Status .................................................................................................... 28 ICIS-Air Programs Web iii OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 1. INTRODUCTION A Program represents a regulatory program defined by the Clean Air Act. A Facility can be associated with one or more Programs. Each Program added to the Facility will be required to have an operating status. The system will track and display changes to the operating status of a Program. In addition, the system will evaluate the current operating status of each Program associated with a Facility to generate an overall Facility Operating Status. This status will be displayed on the Facility Summary screen. Users will be able to run reports to view the full Facility Operating Status history. The hierarchy for a Facility’s Air Program Operating Status (where 1 represents the most active status) is: 1. 2. 3. 4. 5. 6. Operating Seasonal Temporarily Closed Under Construction Planned Facility Permanently Closed An Air Program may be associated with zero to many Air Program Subparts. When a user adds an Air Program Subpart to an Air Program record, the Subpart Operating Status field will default to blank. Users may set the Subpart Operating status to ‘Active’ or ‘Inactive’. If a user sets an Air Program’s operating status to ‘Permanently Closed’ and active Air Program Subparts exist for the Air Program, the system will automatically set all associated ‘Active’ Air Program Subparts to ‘Inactive’. The following functions are available for the Programs module: Add List View/Edit Delete. ICIS-Air Programs Web 4 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 2. ADD PROGRAM This section provides a summary of screen navigation, sample screens, and a use case for the Add Program function. The Program record is a child of the Facility record, therefore a Facility must exist before an associated Program record can be added. 2.1 SCREEN NAVIGATION ACTIONS Table 2.1-1. Screen Navigation: Add Program provides a list of the navigation options when adding a Program record. Entry Point describes how the user navigates to the specific screen to perform the action. User Action describes the actions performed by the user on the screen. Exit Point describes the results of the user’s action. Table 2.1-1. Screen Navigation: Add Program Entry Point Search Facility → Search Results-List Facility → View/Edit Facility → Add Program Home → Add Facility → Save and Add Program Search Facility → Search Results-List Facility → View/Edit Facility → List Air Programs → Add Program User Action Save Exit Point System saves the record and navigates to the View/Edit screen of the current record. Save and Add Another System saves the record and navigates to the Add Air Program screen. Cancel System does not save the record and navigates to the Edit Facility screen. Save System saves the record and navigates to the View/Edit screen of the current record. Save and Add Another System saves the record and navigates to the Add Air Program screen. Cancel System does not save the record and navigates to the Edit Facility screen. Save System saves the record and navigates to the View/Edit screen of the current record. Save and Add Another System saves the record and navigates to the Add Air Program screen. Cancel System does not save the record and navigates to the List Air Programs screen. ICIS-Air Programs Web 5 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 2.2 SAMPLE SCREEN Figure 2.2-1. Add Air Program illustrates the Add Program screen. The associated Facility information (Facility Site Name, Programmatic ID, Facility Registry ID, and EPA Region) is located in the context header at the top of the record. The following is a list of data areas on the Add Facility Screen: Air Program Air Program Subpart Users may add multiple Air Program Subparts to the MACT, NSPS, NESHAP, and GHG Air Program records. ICIS-Air Programs Web 6 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Figure 2.2-1. Add Air Program ICIS-Air Programs Web 7 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 2.3 USE CASE Table 2.3-1: Add Program contains the use case for adding a Program record. The use case provides the steps for user input and the system response that corresponds to each user action. Table 2.3-1: Add Program Step 1. User Input User selects Add Program. System Response System displays the Add Program screen. 2. User enters Program data and saves. System validates data against business rules. If processing of the data results in an error/exception condition, the • System generates an error message and rejects the transaction. • Use case continues at Step 2 for data correction unless the user cancels or exits the transaction. Else • System saves the record to the database. System calls the Process Program Operating Status process to generate the Operating Status History of the Air Program record. (See Section 6 Sub-Processes for details on this process). 3. System calls the Calculate Facility Operating Status process to generate the Facility Operating Status (See Section 6 Sub-Processes for details on this process). 4. Use case terminates. ICIS-Air Programs Web 8 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 3. LIST AIR PROGRAMS This section provides a summary of screen navigation, sample screens and a use case for the List Air Programs function. The List Air Programs screen provides users with a list of all of the Air Program records associated with a Facility. From the List Air Programs screen users can select an Air Program record to Edit or Delete. Users can also click Add Air Program from the list screen. 3.1 SCREEN NAVIGATION ACTIONS Table 3.1-1. Screen Navigation: List Air Programs provides a list of the navigation options when viewing the List Air Programs screen. Entry Point describes how the user navigates to the specific screen to perform the action. User Action describes the actions performed by the user on the screen. Exit Point describes the results of the user’s action. Table 3.1-1. Screen Navigation: List Air Programs Entry Point Search Facility → Facility Search Results → View/Edit Facility → List Air Programs User Action Edit Program Exit Point System navigates to the View/Edit Program screen. Delete Program System deletes the selected record and remains on the List Air Programs screen. Add Air Program System navigates to the Add Program screen. Add Pollutant System navigates to the Add Pollutant screen. 3.2 SAMPLE SCREEN The List Air Programs screen will display all Programs that are associated to a Facility record. The List Air Programs screen will default the sort order according to Air Program, in alphabetical ascending order. Users will be able to click on the column headers for the Air Program, Operating Status and Start Date to re-sort the List screen by a specific column of data. The default sort for each column is as follows: alphabetically ascending for Air Program; by decreasing status (from most active to least active) for Operating Status; chronologically descending for Start Date (the most current date displaying at the top of the list). If the column is clicked twice the sort will change to alphabetical descending for Air Program, increasing status (least active to most active) for Operating Status; chronologically ascending for Start Date (the most current date displaying at the bottom of the list). ICIS-Air Programs Web 9 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Figure 3.2-1. List Air Programs 3.3 USE CASE Table 3.3-1. Use Case: List Air Programs contains the use case for viewing the List Air Programs screen. The use case provides the basic steps, user input and system response that apply to that step. Table 3.3-1. Use Case: List Air Programs Step 1. 2. 3. 4. User Input User searches for the Facility record to View/Edit. User indicates the desire to View/Edit a Facility record. User selects the Air Programs hyperlink from within the Facility record. Use case terminates. System Response System provides a list of records that match the search criteria. System displays the Edit Facility screen. System displays the List Air Programs screen. ICIS-Air Programs Web 10 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE ICIS-Air Programs Web 11 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 4. EDIT PROGRAM This section provides a summary of screen navigation, sample screens, and a use case for the Edit Program function. Users will be unable to edit the Air Program Name, which is the key that uniquely identifies the Program record. If the Air Program Name was entered incorrectly, users will have to delete the Air Program record and enter a new record with the correct Air Program Name. Users may add a new Operating Status, edit the current Operating Status, or delete the current Operating Status from within the Edit Air Program screen. When editing an Air Program record, users will have the ability to add a new operating status by populating the Operating Status and Start Date fields in the ‘Add New Operating Status’ section of the screen. When a user chooses to add a new operating status, upon save, the new row will become the current Operating Status and the previous row in the Edit Current Operating Status section will become historical data. When editing a current Operating Status row, users may edit the Operating Status field, the Start Date field or both. If a user modifies the Start Date and the date is greater than the Start Date of the previous row, ICIS will save the modifications to the current row. The system will not write the previous data to a historical row. If the Start Date is less than the Start Date of the previous row in the history table, ICIS will issue an error message and will not save the record. If historical operating status rows exist, the End Date for the previous historical value will be system generated to equal the Start Date of the current Operating Status minus one day. If the user modifies the Operating Status value, upon save, the new value will become the current Operating Status. The system will not write the previous data to a historical row. If the user modifies both the Operating Status value and the Start Date, upon save, the new values will become the current Operating Status row. The system will not write the previous data to a historical row. The end date for the previous value will be system generated to equal the Start Date of the current Operating Status row minus one day. If the new value for the Start Date is less than the previous value, ICIS will issue an error message and will not save the record. Users can simultaneously add a new Operating Status and edit the current Operating Status by populating data in both rows and saving in a single transaction. When users enter data in both the ‘Add New Operating Status’ and ‘Edit Current Operating Status’ sections: If the user added a new Operating Status and modified the Start Date of the current Operating Status row, the Start Date of the new Operating Status row must be greater than the current Operating Status Start Date. The modified Start Date of the current row must be greater than the Start Date of the previous row. Upon save, ICIS will display the most recent Start Date as the current Operating Status and the previous values in the ICIS-Air Programs Web 12 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Current Operating Status section will become historical data. The end date for the previous value would be system generated to equal the Start Date of the current Operating Status minus one day. If the user added a new Operating Status row and modified the Operating Status value on the current row, the new row will become the current Operating Status. The End Date for the historical values will be system generated to equal the Start Date of the more recent Operating Status row minus one day. If the user added a new row and modified both the Operating Status and the Start date of the current row, the new row will become the current Operating Status. The End Date for the historical values will be system generated to equal the Start Date of the more recent Operating Status row minus one day. For all modifications to the current Operating Status, if the new value for the Start Date is less than the previous historical value, ICIS will issue an error message and will not save the record. When a user deletes the current row, the system will populate the current row with data from the most recent historical Air Program Operating Status row as the current operating status row and blank out the End Date. If the user chooses to delete the current row and add a new row in a single transaction, upon save, the new row will become the current Operating Status. Users may not delete an Air Program Operating Status row if only the current Operating Status exists and no historical data exist. 4.1 SCREEN NAVIGATION ACTIONS Table 4.1-1. Screen Navigation: View/Edit Program provides a list of the navigation options when editing a Program record. Entry Point describes how the user navigates to the specific screen to perform the action. User Action describes the actions performed by the user on the screen. Exit Point describes the results of the user’s action. Table 4.1-1. Screen Navigation: View/Edit Program Entry Point Search Facility → Facility Search Results → View/Edit Facility → List Air Programs → View/Edit Program User Action Save Exit Point System saves the record and remains on the View/Edit screen of the current record. Save and Add Program System saves the record and navigates to the Add Air Program screen. Cancel System does not save the record and navigates to List Air Programs screen. 4.2 SAMPLE SCREEN Figure 4.2-1. Edit Air Program illustrates the Edit Program screen from the perspective of a State user. The associated Facility information (Facility Site Name, Programmatic ID, Facility ICIS-Air Programs Web 13 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Registry ID, and EPA Region) and Air Program Name are located in the context header at the top of the record. The following is a list of data areas on the Edit Program Screen: Air Program Operating Status Air Program Subparts. ICIS-Air Programs Web 14 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Figure 4.2-1. Edit Air Program ICIS-Air Programs Web 15 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 4.3 USE CASE Table 4.3-1. Use Case: Edit Program contains the use case for editing a Program record. The use case provides the steps for user input and the system response that corresponds to each user action. Table 4.3-1. Use Case: Edit Program Step 1. 2. User Input From the List Air Program screen user selects a Program and indicates the desire to edit it. User edits the Program data and saves. System Response System displays the Edit Program screen populated with data for the selected Program. The following fields are non-editable: • Air Program Name. System validates data against business rules. If processing of the data results in an error/exception condition, the • System generates an error message and rejects the transaction. • Use case continues at Step 2 for data correction unless the user cancels or exits the transaction. Else • System saves the record to the database and use case continues at Step 3. System calls the Process Program Operating Status process to generate the Operating Status History of the Air Program record. (See Section 6 SubProcesses for details on this process). 3. System calls the Calculate Facility Operating Status process to generate the Facility Operating Status (See Section 6 Sub-Processes for details on this process). 4. Use case terminates. ICIS-Air Programs Web 16 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 5. DELETE PROGRAM This section provides a summary of screen navigation, sample screens and a use case for the Delete Program function. 5.1 SCREEN NAVIGATION ACTIONS Table 5.1-1. Navigation: Delete Program provides a list of the navigation options when deleting a Program record. Entry Point describes how the user navigates to the specific screen to perform the action. User Action describes the actions performed by the user on the screen. Exit Point describes the results of the user’s action. Table 5.1-1. Navigation: Delete Program Entry Point Search Facility → Facility Search Results → View/Edit Facility → List Air Programs User Action Delete Exit Point System deletes the record and navigates to the List Air Programs screen. Cancel System does not delete the record and navigates to the List Air Programs screen. 5.2 SAMPLE SCREEN Figure 5.2-1. Delete Air Program below illustrates the Delete Air Program screen and warning/ confirmation message users receive when deleting an Air Program. ICIS-Air Programs Web 17 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Figure 5.2-1. Delete Air Program 5.3 USE CASE Table 5.3-1. Use Case: Delete Program contains the use case for deleting a Program record. The use case provides the basic steps, user input and system response that apply to that step. Table 5.3-1. Use Case: Delete Program Step 1. User Input From the List Air Program screen user selects a Program and indicates the desire to delete it. System Response System verifies user privileges. If user has permissions to delete, go to Step 2. If the user does not have permissions to delete the Air Program record the delete link will not appear on the List Air Program screen. ICIS-Air Programs Web 18 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Step 2. 3. User Input User confirms deletion. If processing of the data results in an error/exception condition, the • System generates an error message and rejects the transaction. • Use case continues at Step 2 for data correction unless the user cancels or exits the transaction. If user cancels or exits the transaction, the system returns the user to the List Air Programs screen. Else • System prompts the user to confirm deletion. System deletes the record from the database. System calls the Calculate Facility Operating Status process to generate the Facility Operating Status (See Section 6 Sub-Processes for details on this process). 4. 5. System Response System validates against the business rules. Use case terminates. ICIS-Air Programs Web 19 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 6. SUB-PROCESSES 6.1 PROCESS PROGRAM OPERATING STATUS The Process Program Operating Status is initiated each time the user adds, edits, or deletes an Operating Status on an Air Program record. Figure 6.1-1. Process Program Operating Status is a diagram depicting the processing of a Pollutant Classification. A table detailing each step in the flow is also included in this section. ICIS-Air Programs Web 20 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Figure 6.1-1. Process Program Operating Status ICIS-Air Programs Web 21 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Process Program Operating Status No 1. Are there any unprocessed rows? No 1A. Return to calling program Yes 2. Is the row marked for Deletion? Yes 3. Does more than one Operating Status row exist in ICIS? No 3A. Does one Operating Status row exist in ICIS? Yes 3A1. Delete most recent Operating Status row in ICIS. No Yes 4A. Issue error message. No 3B. Delete most recent Operating Status row and blank out End Date of previous Operating Status row in ICIS. 4. Does Air Program Operating Status and Start Date values exist? Yes 5A. Create a new Operating Status row with the data submitted in ICIS. No 5. Do any Operating Status rows exist in ICIS? 7A. Issue error message.. Yes Yes 6. Does Air Pollutant Operating Status Code = Operating Status Code in most recent Classification row in ICIS? Yes 7. Is the user adding a new row? No 8. Does Start Date = most recent Operating Status row Start Date in ICIS? Yes 8A. Issue error message.. No 9A. Update Operating Status Start Date for the current Operating Status row and update Yes Operating Status End Date for the previous row in ICIS. 9.Does Start Date = most recent Operating Status row Start Date in ICIS? No No 10A. Issue error message. 11A. Issue error message. No No 10.Is the Start Date > most recent Operating Status row Start Date in ICIS? 8B. Is Start Date > most recent Operating Status row Start Date in ICIS? Yes Yes 11.Is the Start Date <= Current Date? 8C.Is the Start Date <= Current Date? Yes Yes 12. Create a new Operating Status row with the data submitted and generate Operating Status End Date of most recent Operating Status row in ICIS. 8D. Update Operating Status Start Date for the current Operating Status row and update Operating Status End Date for the previous row in ICIS. No 8B1. Issue error message.. No 8C1. Issue error message. ICIS-Air Programs Web 22 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Table 6.1-1. Process Program Operating Status contains a description of the items in the above flow. The Item Number column refers to the Processing step being referenced. The Item Description column gives a more in-depth explanation of each step of the process. The Mapping to Business Rules Table column references the specific business rules that are checked in that ICIS-Air Programs Web 23 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE step. All Business Rules relating to the flow can be found in Table 7. -1. Program Requirements Table 6.1-1. Process Program Operating Status ICIS-Air Programs Web 24 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Item Number Item Description 1. Are there any unprocessed rows for any Operating Status Type? If all Operating Status rows have been processed, processing of the Program Operating Status ends, otherwise processing continues at #1A. 1A. Read next unprocessed row per Operating Status type. ICIS reads the next unprocessed row per classification type (e.g., EPA, DA). Processing continues at #2. 2. Is the row marked for Deletion? If the user has marked the current Operating Status row for deletion, processing continues at #3, otherwise processing continues at #4. 3. Does more than one Operating Status row exist in ICIS for the Air Program? If multiple Operating Status rows currently exist for the Air Program, processing continues at 3B, otherwise processing continues at 3A. 3B. Delete current Operating Status row and blank out End Date of previous Operating Status row in ICIS. The system deletes the current Operating Status and sets the End Date of the previous row, recorded in the Program Operating Status history, as the current Operating Status row. The history of the Operating Status is recalculated to display the preceding row, if it exists, as the first historical classification row, processing continues at #1. 3A. Does one Operating Status row exist in ICIS? If multiple Operating Status rows exist (e.g., the user has simultaneously added a new row and deleted the current row), processing continues at #1, otherwise processing continues at 3A1. 3A1. Delete current Operating Status row in ICIS. The system deletes the current Operating Status row in ICIS. The system displays the Operating Status row as blank, processing continues at #1. 4. Do Air Program Operating Status and Start Date values exist? If both the Program Operating Status and Operating Status Start Date have been submitted, processing continues at #5, otherwise processing continues at #4A. 4A. Issue error message. Program Operating Status and Operating Status Start Date must both exist to add an Operating Status row or modify an existing Operating Status row, processing continues at #1. 5. Do any Operating Status rows exist in ICIS? If Operating Status rows currently exist in ICIS, processing continues at #6, otherwise processing continues at #5A. 5A. Create a new Operating Status row with the data submitted in ICIS. ICIS creates a new Operating Status row and sets the submitted Operating Status and Operating Status Start date as the current row, processing continues at #1. 6. Does Air Program Operating Status Code = Air Program Operating Status Code in current Operating Status row in ICIS? If the submitted Operating Status equals the Operating Status in the current Operating Status row, processing continues at #7, otherwise processing continues at #9. 7. Is the user adding a new row? If the user is submitting a new row and the submitted Operating Status equals the Operating Status in the current Operating Status row, processing continues at #7B, otherwise processing continues at #8. Mapping to Business Rule Table PRO-014 PRO-014 PRO-010 PRO-015 ICIS-Air Programs Web 25 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Item Number Item Description Mapping to Business Rule Table 7B. Issue error message When a user adds a Program Operating Status row, the new Program Operating Status cannot be the same as the Program Operating Status as the previous row (i.e., no consecutive operating status rows with the same operating status), processing continues at #1. 8. Does Start Date = current Operating Status row Start Date in ICIS? If the submitted Start Date does not equal the Start date of the current Operating Status row, processing continues at #8A, otherwise processing continues at #8B. 8A. Issue error message The combination of Start Date and Operating Status Code must be unique for submitted data, processing continues at #1. 8B. Is the Start Date > current Classification row Start Date in ICIS? If the submitted Start Date is greater than the Start Date of the current Operating Status row, processing continues at #8C, otherwise processing continues at #8B1. 8B1. Issue error message. The submitted Operating Status Start Date must be greater than or equal to the Operating Status Start Date in the current row, processing continues at #1. 8C. Is the Start Date <= Current Date? If the submitted Start Date is less than or equal to the current date, processing continues at #7D, otherwise processing continues at #7C1. 8C1. Issue Informational Message If the submitted Operating Status Start Date is greater than the current date, the system issues an informational message and processing continues at #8D. PRO-024 8D. Update Operating Status Start Date for the current Operating Status row and update Operating Status End Date for the previous row in ICIS. ICIS sets the submitted Start Date as the Operating Status Start Date for the current row and updates the Operating Status End Date for the previous row to equal Start Date of the current Operating Status row minus 1 day, processing continue at #1. PRO-017 9. Does Start Date = most recent Operating Status row Start Date in ICIS? If the submitted Start Date equal the most recent the Start Date of the current Operating Status row, processing continues at #9A, otherwise processing continues at #10. 9A. Update Operating Status Start Date for the current Operating Status row and update Operating Status End Date for the previous row in ICIS. ICIS sets the submitted Start Date as the Operating Status Start Date for the current row and updates the Operating Status End Date for the previous row to equal Start Date of the current Operating Status row minus 1 day, processing continue at #1. 10. Is the Start Date > current Classification row Start Date in ICIS? If the submitted Start Date is greater than the Start Date of the current Operating Status row, processing continues at #11, otherwise processing continues at #10A. 10A. Issue error message. The submitted Operating Status Start Date must be greater than or equal to the Operating Status Start Date in the current row, processing continues at #1. 11. Is the Start Date <= Current Date? If the submitted Start Date is less than or equal to the current date, processing continues at #11A, otherwise processing continues at #12. PRO-022 PRO-021 PRO-023 PRO-017 PRO-023 ICIS-Air Programs Web 26 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Item Number Item Description Mapping to Business Rule Table 11A. Issue Informational Message If the submitted Operating Status Start Date is greater than the current date, the system issues an informational message and processing continues at #12. PRO-024 12. Create a new Operating Status row with the data submitted and generate Operating Status End Date of current Operating Status row in ICIS. ICIS creates a new Operating Status row and sets the submitted data as the current row. The existing row becomes the first row in the Operating Status History and the End Date is system generated to equal the submitted Start Date minus 1 day. Processing continues at #1. PRO-015, PRO-017 6.2 CALCULATE FACILITY OPERATING STATUS The Calculate Facility Operating Status process is initiated each time the user accesses the Facility Summary screen. The system will aggregate the current Operating Status rows of all the Air Programs associated with the Facility and will compare the values to determine the Facility Operating Status according to the Operating Status hierarchy illustrated in Figure 6.2-1 ICIS-Air Programs Web 27 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Calculate Facility Operating Status. The process for calculating the Facility Operating Status is described below. Figure 6.2-1 Calculate Facility Operating Status is a diagram depicting the process used to determine the Facility Operating Status. A table detailing each step in the flow is also included in this section. Figure 6.2-1 Calculate Facility Operating Status Process for Calculating Facility Operating Status 1. Get current Operating Status row for all Air Programs associated with Facility. 2. Order the current Operating Status rows from most active to least active. 3. Set the Operating Status with the most active status as the Facility’s Operating Status. End Table 6.2-1. Calculate Facility Operating Status contains a description of the items in the above flow. The Item Number column refers to the Processing step being referenced. The Item Description column gives a more in-depth explanation of each step of the process. The Mapping to Business Rules Table column references the specific business rules that are checked in that step. All Business Rules relating to the flow can be found in Table 7. -1. Program Requirements. ICIS-Air Programs Web 28 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Table 6.2-1. Calculate Facility Operating Status Item Number Item Description Mapping to Business Rule Table 1. Get current Operating Status row for all Air Programs associated with the Facility. ICIS aggregates the current Status rows for all Air Programs associated with the Facility, processing continues at #2. PRO-025 2. Order the current Operating Status rows from most active to least active. ICIS sorts the current Status rows of the associated Air Programs from most active to least active. If duplicate Status rows exist, ICIS sorts the Status rows by chronological order and processing continues at #3. PRO-025 3. Set the most active Operating Status as the Facility’s Operating Status. ICIS sets the most active Operating Status as the Facility’s Operating Status and processing of the Facility Operating Status ends. PRO-025 ICIS-Air Programs Web 29 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 7. REQUIREMENTS Table 7. -1. Program Requirements lists the requirements that apply to Air Program functions. Each row has a unique ID which identifies the Requirement ID. The Description column describes the specific functional or business rule requirement that is being applied to the Air Program module. The Error/Warning/Informational Message column lists the specific message that will display on the screen. Functional requirements do not have error/warning/informational messages. An error message will display if a business rule is violated and prevents the user from saving the record. A warning message displays when a user is required to confirm the action prior to saving the record. An informational message displays after the record is saved. The Web Function column identifies all functions to which the requirement applies. Table 7. -1. Program Requirements ID PRO-001 PRO-002 PRO-003 PRO-004 PRO-005 Description The system shall allow the user to add an Air Program to a Facility record. The system shall allow the user to edit an Air Program on a Facility record. The system shall allow the user to view an Air Program on a Facility record The system shall allow the user to delete an Air Program from a Facility record The system shall display the following data elements on the Add and Edit Air Program screen: Air Program data: · Applicable Air Programs · Air Program Operating Status · Air Program Start Date · Air Program End Date (History row only) · Air Program Operating Status History (5 most recent) · Created By (Edit only) · Created Date (Edit only) · Last Modified By (Edit only) · Last Modified Date (Edit only) Error/Warning/Informational Message N/A Web Function Add N/A View/Edit N/A View/Edit N/A Delete N/A Add, View/Edit Air Program Subpart data: · Air Program Subparts · Air Program Subpart Operating Status ICIS-Air Programs Web 30 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE ID PRO-006 PRO-007 PRO-008 PRO-009 PRO-010 PRO-056 PRO-052 PRO-054 Description The system shall display a context header on the Add Air Program screen with the following fields: · Facility Site Name · Programmatic ID · Facility Registry ID · EPA Region The system shall display a context header on the Edit Air Program screen with the following fields: · Facility Site Name · Programmatic ID · Facility Registry ID · EPA Region · Air Program Name A Facility may be associated with zero to multiple Air Programs. Air Program must be unique for a Facility. The system shall require the user to enter data into the following fields to add an Air Program record: · Applicable Air Program · Air Program Operating Status · Air Program Operating Status Start Date The system shall filter Air Program to include only Air DA Programs (i.e., ref_program.program_category_code =AIR and ref_program.activity_filter_code has ref_activity_filter.air_da_flag = Y). If Air Program = Federally-Enforceable Requirement, Program Description must exist. An Air Program cannot be deleted if it is the only Air Program for the Air Facility. Air Program Operating Status The system shall allow a user to add a new Program PRO-011 Operating Status row to an existing Program record. The system shall allow the user to edit the current Program PRO-012 Operating Status row on an existing Program record. The system shall allow the user to delete the current PRO-013 Program Operating Status row for an existing Program record. ICIS-Air Programs Web Error/Warning/Informational Message N/A Web Function Add N/A View/Edit N/A Add The Air Program already exists for this Facility in ICIS. Air Program: This field is required. Operating Status: This field is required. Start Date: This field is required. Add Add, View/Edit N/A Add, View/Edit If Air Program = Federally-Enforceable Requirement, Program Description must exist. The Air Program {Air Program value} cannot be deleted because it is the only Air Program for the Air Facility {Facility ID}. Add N/A View/Edit N/A View/Edit N/A View/Edit Delete 31 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE ID PRO-014 PRO-015 PRO-016 PRO-017 PRO-019 PRO-020 PRO-022 PRO-023 PRO-024 Description When a user deletes the current Program Operating Status row from an existing Program record, the system shall set the previous Program Operating Status row to the current Program Operating Status row and blank out the End Date for that row. The system shall default the Air Program Operating Status Start Date to the current system date when an Air Program Operating Status row is added. The system shall allow users to overwrite the default data entry date and enter the start date of an Air Program Operating Status. When adding a new Program Operating Status Row or updating the Start Date of the current Operating Status row, the system shall generate the Program Operating End Date for the historical Program Operating status row to be one day less than the Program Operating Start Date of the new row. The system shall display Program Operating Status End Date as read only for Programs. When an Air Program Operating Status is changed from ‘Permanently Closed’ to ‘Operating’, the Restart Date will be displayed as the Air Program Operating Status Start Date. When a user adds a Program Operating Status row, the new Program Operating Status cannot be the same as the Program Operating Status as the previous row (i.e., no consecutive operating status rows with the same operating status). When adding a new Program Operating Status Row or editing a Current Program Operating Status row to an existing Program record, the Program Operating Status Start Date must be greater than the previous Program Operating Status row Start Date. If the user enters an Air Program Operating Status Start Date that is greater than current date, the system shall display an informational message after the record is saved. ICIS-Air Programs Web Error/Warning/Informational Message N/A Web Function View/Edit N/A Add, View/Edit N/A Add, View/Edit N/A View/Edit N/A Add, View/Edit N/A View/Edit A Program Operating Status cannot be the same as the previous row Program Operating Status. View/Edit An Operating Status Start Date must be greater than the previous Operating Status Start Date. View/Edit An Operating Status Start Date is greater than the current date. Add, View/Edit 32 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE ID Description Calculate Facility Operating Status The system shall get all current Air Program Operating PRO-025 Status rows for all Facility Air Programs and set Facility Operating Status based on the row with the most active status as of the current date using the following hierarchy (top is most active): · Operating · Seasonal · Temporarily Closed · Under Construction · Planned Facility · Permanently Closed and set the Facility Operating Status Start Date with the Start Date from the row with the most active status. Air Program Operating Status History The system shall track the history of changes of Air PRO-027 Program Operating Status per Program. The system shall display up to five (5) Historical Program PRO-028 Operating Status rows by Program Operating Status Start Date in descending order (i.e., latest to earliest). Historical Operating Status rows cannot be edited or PRO-029 deleted (i.e., read only). Air Program Subparts The system shall allow multiple Air Program Subparts to be PRO-030 added to an Air Program that has associated subparts. The system shall allow the user to edit a Program Subpart PRO-031 Status on an existing Program Subpart record. The system shall filter the list of values for Applicable Air PRO-060 Program Subparts based on the Program selected. The system shall sort the list of Applicable Air Program PRO-032 Subparts on the Edit Program screen by Applicable Air Program Subparts alphabetically ascending. When an operating status of PERMANENTLY CLOSED is PRO-034 entered for an Air Program, all Air Program subparts with a Status of Active for that program will be set to Inactive. An Air Program Subpart may only be associated with a PRO-035 Facility if its parent Air Program has already been associated with the Facility. The system shall allow the user to enter valid (i.e., Active) PRO-036 Air Program Subparts for any Programs that have associated Subparts in the REF_AIR_PROGRAM_SUBPART table. ICIS-Air Programs Web Error/Warning/Informational Message Web Function N/A Add, View/Edit, Delete N/A View/Edit N/A View/Edit N/A View/Edit N/A Add, View/Edit N/A View/Edit N/A Add, View/Edit N/A Add, View/Edit N/A View/Edit N/A Add, View/Edit Note: Enforced by the Web Interface. N/A Add, View/Edit Note: Enforced by the Web Interface 33 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE ID PRO-037 Description The system shall require the user to enter at least one subpart if the following Air Programs are added to the Facility record: · NESHAP · NSPS · MACT Program Subpart code must be unique for a Program. PRO-038 The system shall require the user to enter data into the PRO-039 following fields to add an Air Program subpart record: · Air Program Subpart The system shall default the status of a subpart to Blank PRO-055 with option to set the subpart status to active or inactive by the user. List Air Programs The system shall display a context header on the List Air PRO-042 Programs screen with the following fields: PRO-043 PRO-044 · Facility Site Name · Programmatic ID · Facility Registry ID · EPA Region The system shall display the following data elements on the List Air Programs screen with a default sort order by Air Program Description: · Air Program Description · Operating Status · Start Date The system shall allow the user to sort the Programs presented on the List Air Programs screen by: · · · Audit PRO-045 PRO-047 PRO-048 Error/Warning/Informational Message At least one Subpart is required for this Air Program. Web Function Add, View/Edit There cannot be two identical subparts for an Air Program. Air Program Subpart: This field is required. Add, View/Edit Add, View/Edit N/A Add, View/Edit N/A View/Edit N/A View/Edit N/A View/Edit N/A View/Edit N/A Add N/A View/Edit Air Program Description (sorted alphabetically) Operating Status (sorted according to status hierarchy) Start Date (sorted chronologically). The system shall display Created By, Created Date, Last Modified By, and Last Modified Date as read only on the Edit Program screen. The system shall populate Created By and Created Date after a new Program record is saved. The system shall update Last Modified By and Last Modified Date on the Edit Program screen when any data on the program record (including subpart data) is changed. ICIS-Air Programs Web 34 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE ID PRO-049 PRO-051 Description The system shall write the changes to an audit table when an Air Program record is edited or deleted from a Facility. The system shall write the changes to an audit table when a Program Subpart is edited or deleted from an Air Program. ICIS-Air Programs Web Error/Warning/Informational Message N/A Web Function View/Edit, Delete N/A View/Edit, Delete 35 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE 8. DATA ELEMENT MAPPING Table 8. -1. Program Data Element Mapping includes the data element name as displayed on the screen, whether the field is system required (SR?), programmatically required (PR?), and conditionally required (CR?). It also provides the default values that will be displayed when the user first arrives at the Add screen, how the data will be displayed on the screen, the source reference table, values for the selection boxes, and sort order, and where the data will be saved in the target database table and columns. Table 8. -1. Program Data Element Mapping Screen Data Element Name SR ? PR ? CR ? FE&C/ Air/Both Default Value Displayed Data Type Displayed (Type, Length) Y Y N Both N/A Data Validation (REF Table, Valid Values, Sort Order) Target Database Table & Column Air Program Context Header:: Facility Site Name Context Header:: Facility Registry ID N N N Both N/A Context Header:: Programmatic ID Y Y N Both System Generated ICIS-Air Programs Web Display Data Only in Air Program Context Header Alphanumeric Max Length 80 characters Display Data Only in Air Program Context Header Alphanumeric Max Length 12 characters Display Data Only in Air Program Context Header Alphanumeric Max Length 18 characters N/A ICIS_Facility_Interest.Facility_Name N/A ICIS_Facility_Interest.Facility_UIN N/A ICIS_Facility_Interest.Pgm_Sys_Acrnm And ICIS_Facility_Interest.Pgm_Sys_ID (Note: ICIS_Facility_Interest.Pgm_Sys_Acrnm = ‘AIR’) 36 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Screen Data Element Name SR ? PR ? CR ? FE&C/ Air/Both Context Header:: EPA Region N N N Both Air Program Name Default Value Displayed System Generated based on selected State code Data Type Displayed (Type, Length) N N N Air N/A Y Y N Air N/A Display Data Only in Air Program Header Display REF_State.Regio n_code for the State value selected Display Data Only in Air Program Context Header Data Validation (REF Table, Valid Values, Sort Order) N/A Target Database Table & Column N/A Ref_Program.Program_Desc (xref_air_fac_int_program.program_code) ICIS_Facility_Interest.EPA_Region_Code Air Program Air Program:: Applicable Air Programs Air Program:: Program Description N N ICIS-Air Programs Web Y Air N/A Single Select Dropdown Length of Largest Value Display as: Program_Descrip tion (Program_Code) Alphanumeric Free-form text Max Length 200 characters N/A REF_Program Filter where Program_Category_Cod e = AIR and ref_program.activity_fil ter_code has ref_activity_filter.air_d a_flag = Y Sort Order: o Alphabetic – Ascending by ref_program.a ir_sort_order Ref_Program.Program_Code where program_category_code = ‘AIR’ and ref_program.activity_filter_code has ref_activity_filter.air_da_flag = Y XREF_Air_Fac_Int_Program.Other_Air_Progr am 37 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Screen Data Element Name SR ? PR ? CR ? FE&C/ Air/Both Air Program:: Operating Status Y Y N Air Default Value Displayed N/A Data Type Displayed (Type, Length) Single Select Drop down Length of Largest Value Data Validation (REF Table, Valid Values, Sort Order) REF_Air_Operating_St atus Valid Values: o Operating o Seasonal o Temporarily Closed o Under Construction o Planned Facility o Permanently Closed Sort Order: o REF_Air_Op erating_Status .Rank_Order Target Database Table & Column XREF_Air_Fac_Int_Program.Air_Operating_St atus_Code Note: Operating Status descriptions may change after EPA confirmation. Air Program:: Start Date Y Y N Air Defaulted to date of data entry XREF_Air_Fac_Int_Program.Begin_Date Date o Must be valid date in mm/dd/yyyy format Air Program Operating Status History Air Program History:: Operating Status Y Y N Air N/A Air Program History:: Start Date Y Y N Air N/A ICIS-Air Programs Web Display Data Only Display Data Only Date o Must be valid date in REF_Air_Operating_St atus Valid Values: o Operating (O) o Seasonal (I) o Temporarily closed (T) o Under Construction (C) o Planned Facility (P) o Permanently Closed (X) N/A XREF_Air_Fac_Int_Program.Air_Operating_St atus_Code XREF_Air_Fac_Int_Program.Begin_Date 38 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Screen Data Element Name Air Program History:: End Date SR ? N PR ? N CR ? N FE&C/ Air/Both Air Default Value Displayed Data Type Displayed (Type, Length) Defaulted based on Start Date of preceding status row N/A mm/dd/yyyy format Display Data Only Date o Must be valid date in mm/dd/yyyy format Data Validation (REF Table, Valid Values, Sort Order) Target Database Table & Column N/A XREF_Air_Fac_Int_Program.End_Date REF_Air_Program_Sub part Valid Values: o Blank o Values currently in REF_Air_Program_ Subpart REF_Air_Subpart_Oper _Status Valid Values: o Blank o Active o Inactive N/A XREF_Air_Fac_Int_Prog_Subpart.Air_Progra m_Subpart_Code N/A XREF_AIR_FAC_INT_PROGRAM.Created_B y N/A XREF_AIR_FAC_INT_PROGRAM. Created_Date Air Program Subparts Air Programs Subparts:: Applicable Air Program Subparts N Applicable Air Programs Subparts:: Status N Y N Air N N Air N/A Single Select Dropdown Length of Largest Value Single Select Dropdown Length of Largest Value Applicable Air N Programs Subparts:: Comment Air Program Audit Info N N Both N/A Alphanumeric Free-form text Max Length 4000 characters Created By N N N Air Alphanumeric Max Length 30 Created Date N N N Air System generated based on User ID System generated based on date of data entry ICIS-Air Programs Web Date o Must be valid date in mm/dd/yyyy format XREF_Air_Fac_Int_Prog_Subpart.Status_Flag XREF_Air_Fac_Int_Prog_Subpart.Comment_T ext 39 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE Screen Data Element Name SR ? PR ? CR ? FE&C/ Air/Both Last Modified By N N N Air Last Modified Date N N N Air ICIS-Air Programs Web Default Value Displayed System generated based on User ID System generated based on date of data entry Data Type Displayed (Type, Length) Alphanumeric Max Length 30 Date o Must be valid date in mm/dd/yyyy format Data Validation (REF Table, Valid Values, Sort Order) N/A Target Database Table & Column N/A XREF_AIR_FAC_INT_PROGRAM.Updated_ Date XREF_AIR_FAC_INT_PROGRAM.Updated_ By 40 OFFICE OF ENFORCEMENT AND COMPLIANCE ASSURANCE APPENDIX A: ACRONYMS Table A-1: Acronym List Acronym Definition CMS Compliance Monitoring Strategy DA Delegated Agency FRS Facility Registry System ICIS Integrated Compliance Information System ICIS-Air Programs Web 41