Office of Enforcement and Compliance Assurance Integrated Compliance Information System ICIS-Air EDT Air Pollutants – Technical Specification Version 1.2 Revised Final October 27, 2014 Office of Enforcement and Compliance Assurance Document Change History Version Number Date Description 0.1 6/19/2013 Initial Draft Release. 1.0 7/19/2013 Incorporated EPA Comments Per CR#AIR-100, removed Air Pollutant Comments. Per CR#AIR-101, removed all instances of New and Change as valid transaction types. Updated Figure 2.2-2 step 7C and Table 2.2-2 Item 7C to add text “Update APEC Start Date for the most recent APEC row and update APEC End Date of the previous APEC row in ICIS.” to fix error. Updated Figure 2.2-3 step 7C and Table 2.2-3 Item 7C to add text “Update APDC Start Date for the most recent APDC row and update APDC End Date of the previous APDC row in ICIS.” to fix error. Updated to split Error Code POL080 into two separate error codes POL080 for EPA Classification and POL085 for DA Classification. Updated to split Error Code POL100 into two separate error code POL100 for EPA Classification Start Date and POL115 for DA Classification Start Date. Updated BR ID POL-059 error code from TBD to POL030 1.1 12/11/2013 Per CR#AIR-279, updated error message for POL-080 Replaced “TBD function” with function description Replaced “TBD role” with role name 1.2 10/27/2014 Per DR#2342, updated all references of “previous” row to “historical” row ICIS-Air EDT – Air Pollutants v1.1 i Office of Enforcement and Compliance Assurance Table of Contents 1. INTRODUCTION..................................................................................................................... 4 1.1 PURPOSE ................................................................................................................................ 5 1.2 DOCUMENT OVERVIEW .......................................................................................................... 5 2. VALIDATION AND PROCESSING ...................................................................................... 6 2.1 GENERAL EDT PROCESSING RULES ....................................................................................... 6 2.1.1 Asterisks ......................................................................................................................... 6 2.1.2 Multi-Value Items .......................................................................................................... 6 2.1.3 Default Values ............................................................................................................... 9 2.2 REPLACE (R) AIR POLLUTANTS PROCESSING ......................................................................... 9 2.2.1 Replace Air Pollutants Processing Flow ...................................................................... 10 2.2.2 Process Air Pollutant EPA Classification (APEC) Data.............................................. 16 2.2.3 Process Air Pollutant DA Classification (APDC) Data ............................................... 21 2.3 MASS DELETE (X) AIR POLLUTANTS PROCESSING............................................................... 26 2.3.1 Mass Delete Air Pollutants Processing Flow ............................................................... 26 2.4 BUSINESS RULES .................................................................................................................. 30 3. DATA ELEMENT MAPPING .............................................................................................. 33 4. XML SCHEMA ....................................................................................................................... 34 APPENDIX A: ACRONYMS .................................................................................................... 35 APPENDIX B: XML SUBMISSION EXAMPLE ................................................................... 36 ICIS-Air EDT – Air Pollutants v1.1 ii Office of Enforcement and Compliance Assurance List of Tables Table 2.1-1: Adding a Multi-Value Item List ................................................................................. 7 Table 2.1-2: Changing a Multi-Value Item List ............................................................................. 8 Table 2.1-3: Deleting from a Multi-Value Item List ...................................................................... 8 Table 2.2-1: Replace Air Pollutants Processing ........................................................................... 12 Table 2.2-2: Process APEC Data .................................................................................................. 18 Table 2.2-3: Process APDC Data.................................................................................................. 23 Table 2.3-1: Mass Delete Air Pollutants Processing .................................................................... 28 Table 2.4-1: Air Pollutants Business Rules .................................................................................. 30 Table 3-1: EDT Air Pollutants Data Element Mapping................................................................ 33 Table A-1: Acronym List .............................................................................................................. 35 List of Figures Figure 2.2-1: Replace Air Pollutants Processing Flow ................................................................. 11 Figure 2.2-2: Process APEC Data ................................................................................................. 17 Figure 2.2-3: Process APDC Data ................................................................................................ 22 Figure 2.3-1: Mass Delete Air Pollutants Processing Flow .......................................................... 27 ICIS-Air EDT – Air Pollutants v1.1 iii Office of Enforcement and Compliance Assurance 1. INTRODUCTION The focus of this technical specification is the submission of Air Pollutant data to the Integrated Compliance Information System (ICIS) through Electronic Data Transfer (EDT) using Extensible Markup Language (XML) transactions. Data for other areas of the ICIS system (e.g., Air Facility, Air Programs, and Formal Enforcement Actions) will be addressed in separate technical specifications. Users do not submit XML data directly to ICIS. Instead, zipped XML submission files are submitted to the Environmental Protection Agency’s (EPA’s) Central Data Exchange (CDX) which then passes the files to ICIS. To submit data to CDX, the user must have a NAAS User Identifier (ID) and password. This ID and password are specific to CDX and are completely unrelated to ICIS. An ICIS User ID must also be provided in the ID tag in the header of each XML file so that when ICIS receives the zipped file(s), it can determine if the transactions in the file can be performed by the user submitting the transaction. After receiving the zipped file from the user, CDX performs several important functions. They perform a virus scan to ensure that the files are free of viruses and then assign a unique CDX Transaction ID to the submission. This Transaction ID maps directly to the Batch ID that ICIS uses internally to manage processing. ICIS uses this CDX Transaction ID to communicate information about the submission to CDX and the user. CDX then archives the submission and validates the XML files based on the rules in the XML schema. If problems are detected, CDX notifies the user so that the problems can be corrected. Upon completion of these tasks, CDX sends the error-free submission to ICIS. For purposes of this document: • “User” refers to EPA Regional, State, Tribe and Local Control Agency (LCON) users. • “ICIS” refers to the system and “ICIS-Air” is a component within the ICIS system. • “NAAS ID” refers to the ID the user must have to log in to CDX. • “ICIS User ID” refers to the user’s ID in the ICIS system. • “CDX Transaction ID” refers to the identifier CDX provides for each zipped submission file containing one or more XML files. • “Batch ID” in all communications with users (e.g., audit reports, EDT processing confirmation report) refers to the identifier CDX provides for each zipped submission file (This is the same as the CDX Transaction ID). • “Batch ID” in the ICIS Batch Operational Database (DB) refers to the identifier assigned to a zipped submission file by ICIS to make processing more efficient. • “Payload” in a zipped submission file refers to all of the XML transactions for a submission type within each of the XMLs contained in the zipped submission file. A zipped submission file may contain many XML files, and within each XML file there can be one Payload for one or more different Submission Types (e.g., Air Pollutants). Each Payload may contain one or many XML transactions, each of which contains the Air Pollutant data and a ICIS-Air EDT – Air Pollutants v1.1 4 Office of Enforcement and Compliance Assurance specific transaction type that identifies how ICIS should process the data. For Air Pollutants, there are two valid XML transaction types: Replace, and Mass Delete. The details of the Air Pollutants transaction types are described in Section 2: Validation and Processing. After receiving a zipped submission file from CDX, ICIS parses it and saves each Air Pollutants XML transaction to the database so that the individual Air Pollutants XML transactions can be ordered and processed. After processing is complete for all files in a zipped submission, ICIS sends a response notification to CDX, which then notifies the user when processing is complete. 1.1 PURPOSE The purpose of this document is to provide an overview of the Air Pollutants submission data through XML transactions using text descriptions, tables, and figures. A major section of this Air Pollutants Technical Specification, Section 2: Validation and Processing, details the two valid XML transaction types for Air Pollutants (Replace and Mass Delete). Provided with these transactions are the business rules that govern Air Pollutants transactions, as well as the accompanying error/warning messages, serving to notify users of the data in error and provide them with the information necessary to correct the problems. 1.2 DOCUMENT OVERVIEW The following sections comprise the remainder of this technical specification: • Section 2: Validation and Processing – This section describes the processing of Replace and Mass Delete Air Pollutants XML transactions, and the business rules that apply to each transaction type. • Section 3: Data Element Mapping – This section provides a mapping between the XML Tag Name, ICIS-Air Screen Name, and ICIS Database Name for Air Pollutants data elements. • Section 4: XML Schema – This section provides a list of the XML schemas related to Air Pollutants. • Appendix A: Acronyms – This section provides a list of all acronyms used in the document. • Appendix B: XML Submission Example – This section provides an example XML Submission for the Air Pollutants Submission Type. ICIS-Air EDT – Air Pollutants v1.1 5 Office of Enforcement and Compliance Assurance 2. VALIDATION AND PROCESSING After receiving a zipped submission from CDX, ICIS parses the Air Pollutants XML transactions, saves each to the database, and groups them by transaction type. The valid transaction types for Air Pollutants are Replace, and Mass Delete. ICIS must process these groups in the proper order to achieve the desired results. The ICIS Batch Design Document Appendix D: ICIS Batch Submission Types and Processing Order details the processing order for all ICIS XML submissions. This section describes specific fields that require special processing as well as the detailed processing of the two Air Pollutants transaction types. Key values are those mandatory fields used to identify records in the ICIS database by the EDT processing module. The ICIS XML Schema requires that key values be entered for all transactions in order to be able to establish a new record and find existing records to change or delete. The key value for Air Pollutants transactions are: • • Air Facility Identifier Air Pollutants Code The following sub-sections describe general processing rules related to asterisks and the detailed processing of Air Pollutants XML transactions. 2.1 GENERAL EDT PROCESSING RULES It is important to understand the following general EDT processing rules for ICIS. 2.1.1 Asterisks Users must have the ability to remove data from fields through XML transactions. This is accomplished through the use of asterisks (*). The asterisk is not stored in ICIS, but instead is used to signal the system that the field should be blanked out. It is not necessary for the user to submit asterisks in Replace transactions because leaving the tag out of the XML transaction achieves the same result (i.e., the field is left blank), but ICIS has been designed to process asterisks in those cases. 2.1.2 Multi-Value Items Data fields or sections for which multiple values can be entered are referred to in this technical specification as multi-value items. Whenever tags for one of these multi-value items are included in a payload, ICIS will replace all existing values for that item with the values submitted in the tag(s), regardless of the transaction type submitted. There are two categories of multi-value items: ICIS-Air EDT – Air Pollutants v1.1 6 Office of Enforcement and Compliance Assurance Individual Data Tag – The simplest kind of multi-value item consists of one data tag that can be repeated multiple times within a transaction. Below is an example of an Individual Data Tag multi value item (NationalPrioritiesCode) repeated multiple times: <NationalPrioritiesCode>1000</NationalPrioritiesCode> <NationalPrioritiesCode>1002</NationalPrioritiesCode> <NationalPrioritiesCode>1005</NationalPrioritiesCode> <NationalPrioritiesCode>1006</NationalPrioritiesCode> Multiple Data Tags – Some multi-value items contain multiple data tags which can be repeated, as a group, multiple times within a transaction. Below is an example of multiple data tags: <NAICSCodeDetails> <NAICSCode>114119</NAICSCode> <NAICSPrimaryIndicatorCode>Y</NAICSPrimaryIndicatorCode> </NAICSCodeDetails> <NAICSCodeDetails> <NAICSCode>115111</NAICSCode> <NAICSPrimaryIndicatorCode>N</NAICSPrimaryIndicatorCode> </NAICSCodeDetails> <NAICSCodeDetails> <NAICSCode>115115</NAICSCode> <NAICSPrimaryIndicatorCode>N</NAICSPrimaryIndicatorCode> </NAICSCodeDetails> If data already exist for one of these multi-value items for a record in ICIS and the user wishes to add new values while keeping the existing values, they would include all of the values that they wish to have for the field (i.e., all existing values, plus the new values) in their XML submission. The table below provides an example. Table 2.1-1: Adding a Multi-Value Item List NationalPrioritiesCode in ICIS DB NationalPrioritiesCode in XML Submission Result in ICIS DB After Processing 1000 1000 1000 1002 1002 1002 1005 1005 If data already exist for one of these multi-value items in ICIS and the user wishes to change one of the values, they would include all of the values that they wish to have for the field (i.e., existing values they wish to keep, plus new values) in their XML submission. The table below provides an example. ICIS-Air EDT – Air Pollutants v1.1 7 Office of Enforcement and Compliance Assurance Table 2.1-2: Changing a Multi-Value Item List NationalPrioritiesCode in ICIS DB 1000 NationalPrioritiesCode in XML Submission Result in ICIS DB After Processing 1000 1000 1005 1005 1002 If data already exist for one of these multi-value items for a record in ICIS and the user wishes to remove all but one of the values, they would include only the value that they wish to have for the field (i.e., existing values they wish to keep) in their XML submission. The table below provides an example. Table 2.1-3: Deleting from a Multi-Value Item List NationalPrioritiesCode in ICIS DB 1000 NationalPrioritiesCode in XML Submission 1000 Result in ICIS DB After Processing 1000 1002 1005 Users must also have the ability to blank out all values for these multi-value items. This is accomplished by submitting one row of the multi-value item with an asterisk as the value. The rules for doing this are described below: • Individual Data Tag – If an asterisk is submitted in an individual data tag, ICIS will blank out all existing values for the corresponding field. • Multiple Data Tags: If asterisks are submitted in all required tags and the optional tags are not included, ICIS will blank out all existing values for the corresponding multi-value item. If asterisks are submitted in all required tags and values are submitted in one or more optional tags, ICIS will blank out all existing values for the corresponding multivalue item (ignoring the data in the optional tags). If asterisks are submitted in some required tags and values are submitted in other required tags, ICIS will reject the transaction. This is addressed through business rules, with error messages, detailed in the business rules table. If there are no required tags for a multi-value item and asterisks are entered in one or more of the optional tags: • If only asterisks are submitted, ICIS will blank out all existing values for the corresponding multi-value item. ICIS-Air EDT – Air Pollutants v1.1 8 Office of Enforcement and Compliance Assurance • If a combination of asterisks and values are submitted, ICIS will reject the transaction. This is addressed through business rules, with error messages, detailed in the business rules table. As noted above, asterisks should only be used as an indication to blank out all values for a field, and that should be the only row of data that is submitted for that field. However, it is possible that a transaction will contain multiple rows of a multi-value item, some with asterisks and some without. In that situation, ICIS will evaluate each row for validity. If any rows are invalid, ICIS will reject the transaction. If all rows are valid, ICIS will save only the values submitted, ignoring the “blanked out” rows. If duplicate multi-value items are submitted (i.e., the same data submitted multiple times for different multi-value items), then ICIS will save one of the duplicate multi-value items and ignore the other duplicates. A multi-value item is considered a duplicate if the key value tags are identical (i.e., fields in ICIS that must be unique for each multi-value). If there are duplicate multi-value items, ICIS cannot guarantee which multi-value item will be saved. This logic applies to both individual data tag and multiple data tag multi-value items. Any exceptions to this processing logic will appear as a business rule and will result in a rejected transaction. The Air Pollutant Submission types contain no multi-value items. 2.1.3 Default Values Default values can include both web-only fields and web/XML fields. They apply to Replace XML transactions. Default values are always set for Replace like New (R-N) transactions, and are set for Replace like Change (R-C) transactions for tags that are blanked out. The following is a list of default values for Air Pollutants transactions: • • • Air Pollutant Status Indicator: Active Air Pollutant DA Classification Start Date: Current Date Air Pollutant EPA Classification Start Date: Current Date 2.2 REPLACE (R) AIR POLLUTANTS PROCESSING The Replace Air Pollutants transaction allows the user to submit Air Pollutant data to ICIS without considering the current state of the data in ICIS. In processing the transaction, ICIS will determine whether or not the Air Pollutant already exists. If the Air Pollutant does not exist in ICIS, the Replace transaction creates a new Air Pollutant. If the Air Pollutant already exists in ICIS, the Replace transaction updates the existing record in ICIS with the data provided, blanking out fields that were not submitted. In a Replace transaction, ICIS will replace the data for the Air Pollutant with the data submitted in the XML. In a Replace transaction where the Air Pollutant already exists in ICIS, the system will not blank out these fields: EPA Classification ICIS-Air EDT – Air Pollutants v1.1 9 Office of Enforcement and Compliance Assurance EPA Classification Start Date EPA Classification End Date DA Classification DA Classification Start Date DA Classification End Date The processing of a Replace Air Pollutants transaction in ICIS is described below. 2.2.1 Replace Air Pollutants Processing Flow Figure 2.2-1: Replace Air Pollutants Processing Flow is a diagram depicting the processing of a Replace Air Pollutants transaction. Table 2.2-1: Replace Air Pollutants Processing detailing each step in the flow is also included in this section. ICIS-Air EDT – Air Pollutants v1.1 10 Office of Enforcement and Compliance Assurance Figure 2.2-1: Replace Air Pollutants Processing Flow Replace Air Pollutants Processing Yes End 2A. Reject transaction. Write 1 error message to the error log. No 1. Does an Air Pollutant exist in ICIS for the key data entered? No 1A. Does the Air Facility exist in ICIS? 2. Does user have privileges to perform Replace Air Pollutants XML transaction? No 1A1. Reject transaction. Write 1 error message to the error log. End 1B1. Reject transaction. Write 1 error message to the error log. End Yes Yes 3A. Reject transaction. Write 1 error message to the error log. End End 4A1. Reject transaction. Write 1 error message to the error log. No No 4A. Does user have privileges to submit Air Pollutant EPA Classification Data? Yes 3. Does submission contain data other than key data? 1B. Does user have privileges to perform Replace Air Pollutants XML transaction? Yes Yes 4. Is Air Pollutant EPA Classification Code submitted? 1C. Is Air Pollutant EPA Classification Code submitted? No 1C1. Does user have privileges to submit Air Pollutant EPA Classification Data? Yes 4A2. Process APEC Data (Figure 2.2-2) 6A. Write 1 error msg per business rule violation to the error log. End 7A. Reject transaction. 1C2. Reject transaction. Write 1 error message to the error log. End Yes Yes 5A. Process APDC Data (Figure 2.2-3) No Yes No Yes No No 5. Is Air Pollutant DA Classification Code submitted? 1D. IS Air Pollutant DA Classification Code submitted? No No 6. Are data valid for Replace (like Change)? 1E. Are data valid for Replace (like New)? Yes Yes 7. Have any error messages been issued? 1F. Have any error messages been issued? No 1C3. Process APEC Data (Figure 2.2-2) Yes 1D1. Process APDC Data (Figure 2.2-3) No 1E1. Write 1 error msg per business rule violation to the error log. Yes 1F1. Reject transaction. End No 8. Save the Air Pollutant to the database. 9. Accept transaction. End ICIS-Air EDT – Air Pollutants v1.1 11 Office of Enforcement and Compliance Assurance Table 2.2-1: Replace Air Pollutants Processing 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 2.4-1: Air Pollutants Business Rules. Table 2.2-1: Replace Air Pollutants Processing Item Number Item Description Mapping to Business Rule Table 1 Does an Air Pollutant exist in ICIS for the key data entered? ICIS determines if an Air Pollutant exists in ICIS that matches the key data submitted. The XML key tag for an Air Pollutant is Air Facility Identifier and Air Pollutants Code. If a matching Air Pollutant is found in ICIS, processing continues at #2, otherwise processing continues at #1A. N/A 1A Does the Air Facility Identifier exist in ICIS? ICIS determines if an Air Facility exists in ICIS for the Air Facility Identifier submitted. If a matching Air Facility Identifier is not found in ICIS, processing continues at #1A1, otherwise processing continues at #1B. POL-062 1A1 Reject transaction. Write 1 error message to the error log. If the Air Facility Identifier does not exist in ICIS, then ICIS rejects the Replace Air Pollutants transaction. ICIS writes an error message to the error log and processing of this Replace Air Pollutants transaction ends. POL-062 1B Does user have privileges to perform Replace Air Pollutants XML transaction? ICIS determines if the user has privileges to perform a Replace Air Pollutants transaction and if the user has the authority to conduct a Replace Air Pollutants transaction for the specific record requested. ICIS applies the same security rules for XML transactions as it does for the web, and uses the same set of permissions. The user must have the Add/Copy Air Facility function and the Edit Air Facility function, which is available as part of the Air Facility Editor role. If the ICIS User ID has the correct privileges, processing continues at #1C, otherwise processing continues at #1B1. POL-060 1B1 Reject transaction. Write 1 error message to the error log. If the ICIS User ID does not have the correct privileges defined in ICIS for this Replace Air Pollutants transaction, then ICIS rejects the entire Replace Air Pollutants transaction. ICIS writes an error message to the error log and processing of this Replace Air Pollutants transaction ends. POL-060 1C Is Air Pollutant EPA Classification Code submitted? ICIS determines if Air Pollutant EPA Classification Code is submitted. If Air Pollutant EPA Classification Code is submitted, processing continues at #1C1, otherwise processing continues at #1D. N/A ICIS-Air EDT – Air Pollutants v1.1 12 Office of Enforcement and Compliance Assurance Item Number Item Description Mapping to Business Rule Table 1C1 Does user have privileges to submit Air Pollutant EPA Classification Data? ICIS determines if the user has privileges to submit Air Pollutant EPA Classification data. The user must be an HQ or Regional User. If the user has the correct privileges, processing continues to #1C3; otherwise processing continues at #1C2 POL-070 1C2 Reject transaction. Write 1 error message to the error log. If the user does not have privileges to submit Air Pollutant EPA Classification, then ICIS rejects the Replace Air Pollutants transaction. ICIS writes an error message to the error log and processing of this Replace Air Pollutants transaction ends. POL-070 1C3 Process APEC Data (Figure 2.2-2) ICIS has determined that Air Pollutant EPA Classification data were submitted. ICIS continues processing at Figure 2.2-2: Process APEC Data and then processing continues at #1D. N/A 1D Is Air Pollutant DA Classification Code submitted? ICIS determines if Air Pollutant DA Classification Code is submitted. If Air Pollutant DA Classification Code is submitted, processing continues at #1D1, otherwise processing continues at #1E. N/A 1D1 Process APDC Data (Figure 2.2-3) ICIS has determined that Air Pollutant DA Classification data were submitted. ICIS continues processing at Figure 2.2-3: Process APDC Data and then processing continues at #1E. N/A 1E Are data valid for Replace (like New)? ICIS checks the validity of all required and optional data. If required and optional data are valid according to the business rules, processing continues at #1F; otherwise processing continues at #1E1. POL-061, POL-064, POL-067 1E1 Write 1 error msg per business rule violation to the error log. If ICIS has determined that required and/or optional data are invalid. ICIS writes an error message to the error log for each business rule violation and processing continues at #1F. (Same as Step 1E) 1F Have any error messages been issued? If ICIS determines error messages exist in the error log, processing continues at #8, otherwise processing continues at #1F1. N/A 1F1 Reject transaction. ICIS rejects the entire Replace Air Pollutants transaction and processing of this Replace Air Pollutants transaction ends. N/A 2 Does user have privileges to perform Replace Air Pollutants XML transaction? ICIS determines if the user has privileges to perform a Replace Air Pollutants transaction and if the user has the authority to conduct a Replace Air Pollutants transaction for the specific record requested. ICIS applies the same security rules for XML transactions as it does for the web, and uses the same set of permissions. The user must have the Add/Copy Air Facility function and the Edit Air Facility function, which is available as part of the Air Facility Editor role. If the ICIS User ID has the correct privileges, processing continues at #3, otherwise processing continues at #2A. POL-060 ICIS-Air EDT – Air Pollutants v1.1 13 Office of Enforcement and Compliance Assurance Item Number Item Description Mapping to Business Rule Table 2A Reject transaction. Write 1 error message to the error log. If the ICIS User ID does not have the correct privileges defined in ICIS for this Replace Air Pollutants transaction, then ICIS rejects the entire Replace Air Pollutants transaction. ICIS writes an error message to the error log and processing of this Replace Air Pollutants transaction ends. POL-060 3 Does submission contain data other than key data? ICIS determines whether any data besides the key data have been submitted for the Replace Air Pollutants transaction. If data other than key data have been submitted, processing continues at #4; otherwise processing continues at #3A. POL-066 3A Reject transaction. Write 1 error message to the error log. If no data besides the key data have been submitted in this Replace Air Pollutants transaction, ICIS rejects the entire Replace Air Pollutants transaction. ICIS writes an error message to the error log and processing of this Replace Air Pollutants transaction ends. POL-066 4 Is Air Pollutant EPA Classification Code submitted? ICIS determines if Air Pollutant EPA Classification Code is submitted. If Air Pollutant EPA Classification Code is submitted, processing continues at #4A, otherwise processing continues at #5. N/A 4A Does user have privileges to submit Air Pollutant EPA Classification Data? ICIS determines if the user has privileges to submit Air Pollutant EPA Classification data. The user must be an HQ or Regional User. If the user has the correct privileges, processing continues to #4A2; otherwise processing continues at #4A1 POL-070 4A1 Reject transaction. Write 1 error message to the error log. If the user does not have privileges to submit Air Pollutant EPA Classification, then ICIS rejects the Replace Air Pollutant transaction. ICIS writes an error message to the error log and processing of this Replace Air Pollutants transaction ends. POL-070 4A2 Process APEC Data (Figure 2.2-2) ICIS has determined that the Air Pollutant EPA Classification data were submitted. ICIS continues processing at Figure 2.2-2: Process APEC Data and then processing continues at #5. N/A 5 Is Air Pollutant DA Classification Code submitted? ICIS determines if Air Pollutant DA Classification Code is submitted. If Air Pollutant DA Classification Code is submitted, processing continues at #5A, otherwise processing continues at #6. N/A 5A Process APDC Data (Figure 2.2-3) ICIS has determined that the Air Pollutant DA Classification data were submitted. ICIS continues processing at Figure 2.2-3: Process APDC Data and then processing continues at #6. N/A 6 Are data valid for Replace (like Change)? ICIS checks the validity of all required and optional data. If required and optional data are valid according to the business rules, processing continues at #7; otherwise processing continues at #6A. POL-061, POL-067 ICIS-Air EDT – Air Pollutants v1.1 14 Office of Enforcement and Compliance Assurance Item Number Item Description Mapping to Business Rule Table 6A Write 1 error msg per business rule violation to the error log. ICIS has determined that required and/or optional data are invalid. ICIS writes an error message to the error log for each business rule violation and processing continues at #7. (Same as Step 6) 7 Have any error messages been issued? If ICIS determines error messages exist in the error log, processing continues at #7A, otherwise processing continues at #8. N/A 7A Reject transaction. ICIS rejects the entire Replace Air Pollutants transaction and processing of this Replace Air Pollutants transaction ends. N/A 8 Save the Air Pollutant to the database. System saves the Air Pollutant to the database. Processing continues at #9. N/A 9 Accept transaction. ICIS logs a successful Replace Air Pollutants transaction, and processing of this Replace Air Pollutants transaction is complete. N/A ICIS-Air EDT – Air Pollutants v1.1 15 Office of Enforcement and Compliance Assurance 2.2.2 Process Air Pollutant EPA Classification (APEC) Data Figure 2.2-2: Process APEC Data is a diagram depicting the processing of Air Pollutant EPA Classification data. Table 2.2-2: Process APEC Data detailing each step in the flow is also included in this section. The system determines how to process the APEC data based on the following: • Only Air Pollutant Classification Rows where XREF_Air_Fac_Int_Pollut_Class.Air_Pollutant_Class_Code = EPA are evaluated for Process APEC Data. • All references to most recent APEC row refer to the APEC row in ICIS where the End Date is blank. • Adding a new row: Air Pollutant EPA Classification Code and Start Date submitted or defaulted are both different from the values in the most recent APEC row or no APEC rows exist for the Air Pollutant in the ICIS database. If the submitted or defaulted Start Date is less than the most recent APEC record Start Date or if the submitted or defaulted Start Date is greater than the current date, the transaction will be rejected through a business rule violation. If the submitted Start Date is greater than the most recent APEC record Start Date and less than the current date, a new row will be added with the data submitted. • Editing the most recent row: Air Pollutant EPA Classification Code submitted is the same as the most recent APEC row in the ICIS database and Status Start Date submitted or defaulted is different. If the submitted or defaulted Start Date is equal to the APEC record Start Date in ICIS, no change is made to the APEC data in ICIS. If the submitted or defaulted Start Date is less than the most recent APEC record Start Date or if the submitted or defaulted Start Date is greater than the current date, the transaction will be rejected through a business rule violation. If the submitted Start Date is greater than the most recent APEC record Start Date and less than the current date, the most recent APEC record Start Date will be updated with the submitted or defaulted Start Date. • Deleting the most recent row: The most recent APEC row in ICIS can be deleted by submitting an asterisk (*) for the Air Pollutant EPA Classification Code field. If Air Pollutant EPA Classification Code is submitted with an asterisk and Air Pollutant EPA Classification Start Date is submitted with a date, ICIS ignore the submitted Air Pollutant EPA Classification Start Date value and deletes the most recent APEC row in ICIS. ICIS-Air EDT – Air Pollutants v1.1 16 Office of Enforcement and Compliance Assurance Figure 2.2-2: Process APEC Data Process APEC Data 1. Does Air Pollutant EPA Classification Code contain an asterisk (*)? Yes 2. Does more than one APEC row exist in ICIS? No 3A. Default Air Pollutant EPA Classification Start Date to the Current Date. No No 2A. Does one APEC row exist in ICIS? Yes Yes 2A1. Delete most recent APEC row in ICIS. 2A2. Return to calling program No 2B. Delete most recent APEC row and blank out End Date of historical APEC row in ICIS. 3. Is Air Pollutant EPA Classification Start Date submiited? 2B1. Return to calling program Yes 4A1. Return to calling program 4A. Write 1 error message to the error log. Yes 4. Is the Start Date > Current Date? No 5A1. Return to calling program 5A. Create a new APEC row with the data submitted in ICIS. No 5. Do any APEC rows exist in ICIS? Yes 6. Does Air Pollutant EPA Classification Code = most recent APEC row EPA Classification Code in ICIS? 7. Does Start Date = most recent APEC row Start Date in ICIS? Yes 8A. Write 1 error message to the error log. No 7A. Return to calling program No No 8A1. Return to calling program Yes 8. Is the Start Date > most recent APEC row Start Date in ICIS? 7B. Is Start Date > most recent APEC row Start Date in ICIS? Yes Yes 8B. Create a new APEC row with the data submitted and generate APEC End Date of most recent APEC row in ICIS. 7C. Update APEC Start Date for the most recent APEC row in ICIS and update APEC End Date of the historical APEC row in ICIS. No 7B1. Write 1 error message to the error log. 7B2. Return to calling program 9. Return to calling program ICIS-Air EDT – Air Pollutants v1.1 17 Office of Enforcement and Compliance Assurance Table 2.2-2: Process APEC Data contains a description of the items in the above Process APEC Data 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 Processing APEC Data can be found in Table 2.4-1: Air Pollutants Business Rules. Table 2.2-2: Process APEC Data Item Number Item Description Mapping To Business Rule Table 1 Does Air Pollutant EPA Classification Code contain an asterisk (*)? If the Air Pollutant EPA Classification Code submitted in the XML contains an asterisk, processing continues at #2, otherwise processing continues at #3. N/A 2 Does more than one APEC row exist in ICIS? ICIS has determined that Air Pollutant EPA Classification Code equals Blank. If there is more than one APEC row that exists for the Air Pollutant in ICIS, processing continues to #2B, otherwise processing continues at #2A. N/A 2A Does one APEC row exist in ICIS? If ICIS determines that one Air Pollutant EPA Classification row exists in ICIS, processing continues at #2A1, otherwise processing continues at #2A2. N/A 2A1 Delete most recent APEC row in ICIS. ICIS determines that the Air Pollutant has only one existing Air Pollutant EPA Classification row in ICIS. ICIS deletes the most recent Air Pollutant EPA Classification. Processing continues at #2A2. N/A 2A2 Return to calling program ICIS returns to the calling program. N/A 2B Delete most recent APEC row and blank out End Date of the historical APEC row in ICIS. ICIS has determined there is more than one Air Pollutant Classification row in ICIS. ICIS deletes the most recent Air Pollutant EPA Classification row in the database and blanks out the End Date of the historical Air Pollutant EPA Classification row in ICIS. Processing continues at #2B1. N/A 2B1 Return to calling program ICIS returns to the calling program. N/A 3 Is Air Pollutant EPA Classification Start Date submitted? If Air Pollutant EPA Classification Start Date is submitted, processing continues at #4, otherwise processing continues at #3A. N/A 3A Default Air Pollutant EPA Classification Start Date to the Current Date. ICIS has determined that Air Pollutant EPA Classification Start Date is not submitted and is defaulted to the current date. Processing continues at #4. N/A ICIS-Air EDT – Air Pollutants v1.1 18 Office of Enforcement and Compliance Assurance Item Number Item Description Mapping To Business Rule Table 4 Is Start Date > Current Date? If ICIS determines that the submitted Air Pollutant EPA Classification Start Date is greater than the current date, processing continues at #4A1, otherwise processing continues at #5. POL-028 4A Write 1 error message to the error log. ICIS determined that the submitted Air Pollutant EPA Classification Start Date is greater than the current date and writes an error message to the error log. Processing continues at #4A1. POL-028 4A1 Return to calling program ICIS returns to the calling program. N/A 5 Do any APEC rows exist in ICIS? If ICIS determines Air Pollutant EPA Classification row(s) exist for the Air Pollutant in ICIS, processing continues at #6, otherwise processing continues at #5A. N/A 5A Create a new APEC row with the data submitted in ICIS. ICIS has determined there are no existing Air Pollutant EPA Classification row(s) in ICIS. ICIS adds a new Air Pollutant EPA Classification row with the data submitted and End Date set to blank. Processing continues at #5A1. N/A 5A1 Return to calling program ICIS returns to the calling program. N/A 6 Does Air Pollutant EPA Classification Code = most recent APEC row EPA Classification Code in ICIS? If ICIS determines that the Air Pollutant EPA Classification Code submitted is equal to the Air Pollutant EPA Classification Code of the most recent row in ICIS, processing continues at #7, otherwise processing continues at #8 N/A 7 Does Start Date = most recent APEC row Start Date in ICIS? If ICIS determines that the submitted Air Pollutant EPA Classification Start Date is equal to the most recent Air Pollutant EPA Classification row Start Date, processing continues at #7A, otherwise processing continues at #7B. N/A 7A Return to calling program ICIS returns to the calling program. N/A 7B Is Start Date > most recent APEC row Start Date in ICIS? If ICIS determines that the submitted Air Pollutant EPA Classification Start Date is greater than the most recent existing Air Pollutant EPA Classification row Start Date, processing continues at #7C, otherwise processing continues at #7B1. POL-030 ICIS-Air EDT – Air Pollutants v1.1 19 Office of Enforcement and Compliance Assurance Item Number Item Description Mapping To Business Rule Table 7B1 Write 1 error message to the error log. ICIS determined that the submitted Air Pollutant EPA Classification Start Date is less than the most recent Air Pollutant EPA Classification row Start Date that exists for the Air Pollutant and writes an error message to the error log. Processing continues at #7B2. POL-030 7B2 Return to calling program ICIS returns to the calling program. N/A 7C Update APEC Start Date for the most recent APEC row and update APEC End Date of the historical APEC row in ICIS. ICIS determined that the submitted Air Pollutant EPA Classification Start Date is greater than the most recent Air Pollutant EPA Classification row Star Date that exists for the Air Pollutant. ICIS updates the most recent Air Pollutant EPA Classification row Start Date that exists for the Air Pollutant with the Air Pollutant DA Classification Start Date submitted. ICIS updates the End Date for the historical Air Pollutant EPA Classification row with the submitted Air Pollutant EPA Classification Start Date minus 1 day. Processing continues at #9. N/A 8 Is Start Date > most recent APEC row Start Date in ICIS? If ICIS determines that the submitted Air Pollutant EPA Classification Start Date is greater than the most recent existing Air Pollutant EPA Classification row Start Date, processing continues at #8B, otherwise processing continues at #8A. POL-030 8A Write 1 error message to the error log. ICIS determined that the submitted Air Pollutant EPA Classification Start Date is less than the most recent existing Air Pollutant EPA Classification row Start Date and writes an error message to the error log. Processing continues at #8A1. POL-030 8A1 Return to calling program ICIS returns to the calling program. N/A 8B Create a new APEC row with the data submitted and generate APEC End Date of most recent APEC row in ICIS. ICIS determined that the submitted Air Pollutant EPA Classification Start Date is greater than the most recent existing Air Pollutant EPA Classification row Start Date. ICIS adds a new Air Pollutant EPA Classification row with the data submitted and End Date is set to blank. ICIS generates the End Date for the most recent Air Pollutant EPA Classification row with the submitted Air Pollutant EPA Classification Start Date minus 1 day. Processing continues at #9. N/A 9 Return to calling program ICIS returns to the calling program. N/A ICIS-Air EDT – Air Pollutants v1.1 20 Office of Enforcement and Compliance Assurance 2.2.3 Process Air Pollutant DA Classification (APDC) Data Figure 2.2-3: Process APDC Data is a diagram depicting the processing of Air Pollutant DA Classification data. Table 2.2-3: Process APDC Data detailing each step in the flow is also included in this section. The system determines how to process the APDC data based on the following: • Only Air Pollutant Classification Rows where XREF_Air_Fac_Int_Pollut_Class.Air_Pollutant_Class_Code = DA are evaluated for Process APDC Data. • All references to most recent APDC row refer to the APDC row in ICIS where the End Date is blank. • Adding a new row: Air Pollutant DA Classification Code and Start Date submitted or defaulted are both different from the values in the most recent APDC row or no APDC rows exist for the Air Pollutant in the ICIS database. If the submitted or defaulted Start Date is less than the most recent APDC record Start Date or if the submitted or defaulted Start Date is greater than the current date, the transaction will be rejected through a business rule violation. If the submitted Start Date is greater than the most recent APDC record Start Date and less than the current date, a new row will be added with the data submitted. • Editing the most recent row: Air Pollutant DA Classification Code submitted is the same as the most recent APDC row in the ICIS database and Status Start Date submitted or defaulted is different. If the submitted or defaulted Start Date is equal to the APDC record Start Date in ICIS, no change is made to the APDC data in ICIS. If the submitted or defaulted Start Date is less than the most recent APDC record Start Date or if the submitted or defaulted Start Date is greater than the current date, the transaction will be rejected through a business rule violation. If the submitted Start Date is greater than the most recent APDC record Start Date and less than the current date, the most recent APDC record Start Date will be updated with the submitted or defaulted Start Date. • Deleting the most recent row: The most recent APDC row in ICIS can be deleted by submitting an asterisk (*) for the Air Pollutant DA Classification Code field. If Air Pollutant DA Classification Code is submitted with an asterisk and Air Pollutant DA Classification Start Date is submitted with a date, ICIS ignore the submitted Air Pollutant DA Classification Start Date value and deletes the most recent APDC row in ICIS. ICIS-Air EDT – Air Pollutants v1.1 21 Office of Enforcement and Compliance Assurance Figure 2.2-3: Process APDC Data Process APDC Data 1. Does Air Pollutant DA Classification Code contain an asterisk (*)? Yes 2. Does more than one APDC row exist in ICIS? No 3A. Default Air Pollutant DA Classification Start Date to the Current Date. No No 2A. Does one APDC row exist in ICIS? Yes Yes 2A1. Delete most recent APDC row in ICIS. 2A2. Return to calling program No 2B. Delete most recent APDC row and blank out End Date of historical APDC row in ICIS. 3. Is Air Pollutant DA Classification Start Date submiited? 2B1. Return to calling program Yes 4A1. Return to calling program 4A. Write 1 error message to the error log. Yes 4. Is the Start Date > Current Date? No 5A1. Return to calling program 5A. Create a new APDC row with the data submitted in ICIS. No 5. Do any APDC rows exist in ICIS? Yes 6. Does Air Pollutant DA Classification Code = most recent APDC row DA Classification Code in ICIS? 7. Does Start Date = most recent APDC row Start Date in ICIS? Yes 8A. Write 1 error message to the error log. No 7A. Return to calling program No No 8A1. Return to calling program Yes 8. Is the Start Date > most recent APDC row Start Date in ICIS? 7B. Is Start Date > most recent APDC row Start Date in ICIS? Yes Yes 8B. Create a new APDC row with the data submitted and generate APDC End Date of most recent APDC row in ICIS. 7C. Update APDC Start Date for the most recent APDC row and update APDC End Date of the historical APDC row in ICIS. No 7B1. Write 1 error message to the error log. 7B2. Return to calling program 9. Return to calling program ICIS-Air EDT – Air Pollutants v1.1 22 Office of Enforcement and Compliance Assurance Table 2.2-3: Process APDC DataTable 2.2-2: Process APEC Data contains a description of the items in the above Process APDC Data 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 Processing APDC Data can be found in Table 2.4-1: Air Pollutants Business Rules. Table 2.2-3: Process APDC Data Item Number Item Description Mapping To Business Rule Table 1 Does Air Pollutant DA Classification Code contain an asterisk (*)? If the Air Pollutant DA Classification Code submitted in the XML contains an asterisk, processing continues at #2, otherwise processing continues at #3. N/A 2 Does more than one APDC row exist in ICIS? ICIS has determined that Air Pollutant DA Classification Code equals Blank. If there is more than one APDC row that exists for the Air Pollutant in ICIS, processing continues to #2B, otherwise processing continues at #2A. N/A 2A Does one APDC row exist in ICIS? If ICIS determines that one Air Pollutant DA Classification row exists in ICIS, processing continues at #2A1, otherwise processing continues at #2A2. N/A 2A1 Delete most recent APDC row in ICIS. ICIS determines that the Air Pollutant has only one existing Air Pollutant DA Classification row in ICIS. ICIS deletes the most recent Air Pollutant DA Classification. Processing continues at #2A2. N/A 2A2 Return to calling program ICIS returns to the calling program. N/A 2B Delete most recent APDC row and blank out End Date of the historical APDC row in ICIS. ICIS has determined there is more than one Air Pollutant Classification row in ICIS. ICIS deletes the most recent Air Pollutant DA Classification row in the database and blanks out the End Date of the historical Air Pollutant DA Classification row in ICIS. Processing continues at #2B1. N/A 2B1 Return to calling program ICIS returns to the calling program. N/A 3 Is Air Pollutant DA Classification Start Date submitted? If Air Pollutant DA Classification Start Date is submitted, processing continues at #4, otherwise processing continues at #3A. N/A 3A Default Air Pollutant DA Classification Start Date to the Current Date. ICIS has determined that Air Pollutant DA Classification Start Date is not submitted and is defaulted to the current date. Processing continues at #4. N/A ICIS-Air EDT – Air Pollutants v1.1 23 Office of Enforcement and Compliance Assurance Item Number Item Description Mapping To Business Rule Table 4 Is Start Date > Current Date? If ICIS determines that the submitted Air Pollutant DA Classification Start Date is greater than the current date, processing continues at #4A1, otherwise processing continues at #5. POL-028 4A Write 1 error message to the error log. ICIS determined that the submitted Air Pollutant DA Classification Start Date is greater than the current date and writes an error message to the error log. Processing continues at #4A1. POL-028 4A1 Return to calling program ICIS returns to the calling program. N/A 5 Do any APDC rows exist in ICIS? If ICIS determines Air Pollutant DA Classification row(s) exist for the Air Pollutant in ICIS, processing continues at #6, otherwise processing continues at #5A. N/A 5A Create a new APDC row with the data submitted in ICIS. ICIS has determined there are no existing Air Pollutant DA Classification row(s) in ICIS. ICIS adds a new Air Pollutant DA Classification row with the data submitted and End Date set to blank. Processing continues at #5A1. N/A 5A1 Return to calling program ICIS returns to the calling program. N/A 6 Does Air Pollutant DA Classification Code = most recent APDC row DA Classification Code in ICIS? If ICIS determines that the Air Pollutant DA Classification Code submitted is equal to the Air Pollutant DA Classification Code of the most recent row in ICIS, processing continues at #7, otherwise processing continues at #8. N/A 7 Does Start Date = most recent APDC row Start Date in ICIS? If ICIS determines that the submitted Air Pollutant DA Classification Start Date is equal to the most recent Air Pollutant DA Classification row Start Date, processing continues at #7A, otherwise processing continues at #7B. N/A 7A Return to calling program ICIS returns to the calling program. N/A 7B Is Start Date > most recent APDC row Start Date in ICIS? If ICIS determines that the submitted Air Pollutant DA Classification Start Date is greater than the most recent existing Air Pollutant DA Classification row Start Date, processing continues at #7C, otherwise processing continues at #7B1. POL-031 7B1 Write 1 error message to the error log. ICIS determined that the submitted Air Pollutant DA Classification Start Date is less than the most recent Air Pollutant DA Classification row Start Date that exists for the Air Pollutant and writes an error message to the error log. Processing continues at #7B2. POL-031 ICIS-Air EDT – Air Pollutants v1.1 24 Office of Enforcement and Compliance Assurance Item Number Item Description Mapping To Business Rule Table 7B2 Return to calling program ICIS returns to the calling program. N/A 7C Update APDC Start Date for the most recent APDC row and update APDC End Date of the historical APDC row in ICIS. ICIS determined that the submitted Air Pollutant DA Classification Start Date is greater than the most recent Air Pollutant DA Classification row Star Date that exists for the Air Pollutant. ICIS updates the most recent Air Pollutant DA Classification row Start Date that exists for the Air Pollutant with the Air Pollutant DA Classification Start Date submitted. ICIS updates the End Date for the historical Air Pollutant DA Classification row with the submitted Air Pollutant DA Classification Start Date minus 1 day. Processing continues at #9. N/A 8 Is Start Date > most recent APDC row Start Date in ICIS? If ICIS determines that the submitted Air Pollutant DA Classification Start Date is greater than the most recent existing Air Pollutant DA Classification row Start Date, processing continues at #8B, otherwise processing continues at #8A. POL-031 8A Write 1 error message to the error log. ICIS determined that the submitted Air Pollutant DA Classification Start Date is less than the most recent existing Air Pollutant DA Classification row Start Date and writes an error message to the error log. Processing continues at #8A1. POL-031 8A1 Return to calling program ICIS returns to the calling program. N/A 8B Create a new APDC row with the data submitted and generate APDC End Date of most recent APDC row in ICIS. ICIS determined that the submitted Air Pollutant DA Classification Start Date is greater than the most recent existing Air Pollutant DA Classification row Start Date. ICIS adds a new Air Pollutant DA Classification row with the data submitted and End Date is set to blank. ICIS generates the End Date for the most recent Air Pollutant DA Classification row with the submitted Air Pollutant DA Classification Start Date minus 1 day. Processing continues at #9. N/A 9 Return to calling program ICIS returns to the calling program. N/A ICIS-Air EDT – Air Pollutants v1.1 25 Office of Enforcement and Compliance Assurance 2.3 MASS DELETE (X) AIR POLLUTANTS PROCESSING The Mass Delete Air Pollutants XML transaction allows the user to remove an Air Pollutant from an Air Facility in ICIS. 2.3.1 Mass Delete Air Pollutants Processing Flow Figure 2.3-1: Mass Delete Air Pollutants Processing Flow is a diagram depicting the processing of a Mass Delete Air Pollutants transaction. Table 2.3-1: Mass Delete Air Pollutants Processing detailing each step in the flow is also included in this section. ICIS-Air EDT – Air Pollutants v1.1 26 Office of Enforcement and Compliance Assurance Figure 2.3-1: Mass Delete Air Pollutants Processing Flow Mass Delete Air Pollutants Processing 1. Does an Air Pollutant exist in ICIS for the key data entered? No 1A. Reject transaction. Write 1 error message to the error log. End No 2A. Reject transaction. Write 1 error message to the error log. End Yes 2. Does user have privileges to perform Mass Delete Air Pollutants XML transaction? Yes 3. Does an EPA Classification row exist in ICIS for the Pollutant? Yes 3A. Does user have privileges to delete EPA Classification data? No 3A1. Reject transaction. Write 1 error message to the error log. End No Yes 4. Is the Air Pollutant the only Air Pollutant for the Air Facility? Yes 4A. Reject transaction. Write 1 error message to the error log. End No 5. Delete the Air Pollutant. 6. Accept transaction. End ICIS-Air EDT – Air Pollutants v1.1 27 Office of Enforcement and Compliance Assurance Table 2.3-1: Mass Delete Air Pollutants Processing 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 2.4-1: Air Pollutants Business Rules. Table 2.3-1: Mass Delete Air Pollutants Processing Item Number Item Description Mapping To Business Rule Table 1 Does an Air Pollutant exist in ICIS for the key data entered? ICIS determines if an Air Pollutant exists in ICIS that matches the key data submitted. An Air Pollutant is matched through the combination of Air Facility Identifier and Air Pollutants Code. If a matching Air Pollutant is found in ICIS, processing continues at #2, otherwise processing continues at #1A. POL-065 1A Reject transaction. Write 1 error message to the error log. If the XML key data for the Air Pollutant cannot be found in ICIS, then ICIS rejects the Mass Delete Air Pollutants request. ICIS writes an error message to the error log and processing of this Mass Delete Air Pollutants transaction ends. POL-065 2 Does user have privileges to perform Mass Delete Air Pollutants XML transaction? ICIS determines if the user has privileges to perform a Mass Delete Air Pollutants XML transaction and if the user has the authority to conduct a Mass Delete Air Pollutants XML transaction for the specific record requested. ICIS applies the same security rules for XML transactions as it does for the web, and uses the same set of permissions. The user must have the Delete Air Facility function, which is available as part of the Air Facility Deletion role. If the ICIS User ID has the correct privileges, processing continues at #3; otherwise processing continues at #2A. POL-060 2A Reject transaction. Write 1 error message to the error log. If the ICIS User ID does not have the correct privileges defined in ICIS for this Mass Delete Air Pollutants transaction, then ICIS rejects the entire Mass Delete Air Pollutants transaction. ICIS writes an error message to the error log and processing of this Mass Delete Air Pollutants transaction ends. POL-060 3 Does an EPA Classification row exist in ICIS for the Pollutant? ICIS determines if Air Pollutant EPA Classification row exists for the Pollutant. If an EPA Classification row exists, processing continues at #3A, otherwise processing continues at #4. N/A 3A Does user have privileges to delete EPA Classification data? ICIS determines if the user has privileges to delete EPA Classification data. If the user is an HQ or Regional user, processing continues at #4, otherwise processing continues at #3A1. POL-034 3A1 Reject transaction. Write 1 error message to the error log. If the ICIS user is not an HQ or Regional user, then ICIS rejects the entire Mass Delete Air Pollutants transaction. ICIS writes an error message to the error log and processing of this Mass Delete Air Pollutants transaction ends. POL-034 ICIS-Air EDT – Air Pollutants v1.1 28 Office of Enforcement and Compliance Assurance Item Number Item Description Mapping To Business Rule Table 4 Is the Air Pollutant the only Air Pollutant for the Air Facility? ICIS determines if the Air Pollutant is the only Air Pollutant for the Air Facility. If the Air Pollutant is the only Air Pollutant for the Air Facility in ICIS, processing continues at #4A; otherwise processing continues at #5. POL-059 4A Reject transaction. Write 1 error message to the error log. If the Air Pollutant is the only Air Pollutant for the Air Facility, ICIS rejects the Mass Delete Air Pollutants request. ICIS writes an error message to the error log and processing of the Mass Delete Air Pollutants transaction ends. POL-059 5 Delete the Air Pollutant. ICIS removes the Air Pollutant and its classification rows and Pollutant Comments from the database. Processing continues at #5. N/A 6 Accept transaction. ICIS logs a successful Mass Delete Air Pollutants transaction. Processing of the Mass Delete Air Pollutants transaction is complete. N/A ICIS-Air EDT – Air Pollutants v1.1 29 Office of Enforcement and Compliance Assurance 2.4 BUSINESS RULES Table 2.4-1: Air Pollutants Business Rules lists the business rules that apply to Air Pollutants transactions. Each row has a unique Business Rule ID which identifies the business rule. The Business Rules column describes the specific business rule that is being applied to the Air Pollutants transaction. The naming of the data fields is consistent with the ICIS-Air system terminology and not the EDT XML schema terminology. The Error/Warning Code column uniquely identify the Error/Warning Messages. The Error/Warning Message lists the specific message (including data) that will be displayed on the audit report. The error/warning messages use the XML schema terminology for data so that users can easily identify the specific data tags that are in error. On the audit reports, the key values for each transaction will be concatenated. The key values that will be displayed for Air Pollutants transactions are: Air Facility Identifier and Air Pollutants Code. The Applicable Transaction Types column identifies all transaction types to which the business rule applies. Table 2.4-1: Air Pollutants Business Rules Business Rule ID (Req ID) Business Rules Error/ Warning Code Error/Warning Message Applicable Transaction Types POL-060 The system shall enforce the security model for the users to BAT020 view, add, edit, and delete an Air Pollutant. Refer to ICIS-Air Security Requirements. User <ID value> does not have privileges to perform this <Transaction Type value> <Submission Type value> transaction. R, X POL-061 The following is required to save an Air Pollutant record: · Air Pollutants Code AND · EPA Classification · EPA Classification Start Date OR · Delegated Agency Classification · Delegated Agency Classification Start Date POL010 Air Pollutant EPA Classification Code and Air Pollutant EPA Classification Start Date or Air Pollutant DA Classification Code and Air Pollutant DA Classification Start Date must exist to save an Air Pollutant. POL-071 Transaction Type must be valid for Air Pollutants. Valid Transaction Types are R (Replace) and Mass Delete (X). BAT010 Transaction Type <Transaction Type value> is not valid for <Submission Type value>. R, X POL020 An Air Pollutant cannot be added because the Air Facility Identifier does not exist in ICIS. R-N R Air Pollutants Key Elements POL-062 The Air Facility must exist in ICIS. Note: This business rule is not checked for Replace transactions where the Air Pollutant exists in ICIS. ICIS-Air EDT – Air Pollutants v1.1 30 Office of Enforcement and Compliance Assurance Business Rule ID (Req ID) Business Rules Error/ Warning Code POL-064 Air Pollutant must be a valid (i.e., Active) code and must have POL040 a program_category_code = 'AIR' in the REF_POLLUTANT table. Error/Warning Message Air Pollutants Code does not exist, is not a valid code for Air Pollutant, or is inactive in the ICIS reference table. Applicable Transaction Types R-N Note: This business rule is not checked for Replace transactions where the Air Pollutant exists in ICIS. POL-065 Air Pollutant must exist for the Air Facility in ICIS. POL050 POL-066 If the Air Pollutants transaction contains only key data and no POL060 other data, ICIS rejects the Air Pollutants transaction. An Air Pollutant does not exist for the key data entered. The Air Pollutants transaction only contains key data and no other data for processing. X R-C Note: This business rule is not checked for Replace transactions where the Air Pollutant does not exists in ICIS. Air Pollutant Deletion POL-034 A Delegated Agency user cannot delete a Pollutant record if POL070 an EPA Classification row exists on the Pollutant record. The Pollutant record could not be deleted because EPA Classification Status row(s) exist for the record in ICIS. X POL-059 An Air Pollutant cannot be deleted if it is the only Air Pollutant POL030 for the Air Facility. The Air Pollutant cannot be deleted because it is the only Air Pollutant for the Air Facility. X The Air Pollutant EPA Classification Start Date <Air Pollutant EPA Classification Start Date value> submitted must be less than or equal to the current date. R Air Pollutant EPA/DA Classification POL-028 The start date for EPA or DA Classification must be less than POL080 or equal to the current date. POL085 POL-030 When adding a new EPA Classification Status Row or editing POL090 a Current Status Row to an existing Pollutant record, the EPA Classification Status Start Date must be greater than the historical record’s EPA Classification Status Start Date. The Air Pollutant DA Classification Start Date <Air Pollutant DA Classification Start Date value> submitted must be less than the current date. The Air Pollutant EPA Classification Start Date submitted must be greater than the historical EPA Classification row Start Date < historical EPA Classification row Start Date value> in ICIS. R-C Note: This business rule is not checked for Replace transactions where the Air Pollutant does not exist in ICIS. ICIS-Air EDT – Air Pollutants v1.1 31 Office of Enforcement and Compliance Assurance Business Rule ID (Req ID) Business Rules Error/ Warning Code POL-031 When adding a new Delegated Agency Classification Status POL100 Row or editing a Current Status Row for an existing Pollutant record, the Delegated Agency Classification Status Start Date must be greater than the historical record’s Delegated Agency Classification Status Start Date. Error/Warning Message The Air Pollutant DA Classification Start Date submitted must be greater than the historical DA Classification row Start Date < historical DA Classification row Start Date value> in ICIS. Applicable Transaction Types R-C Note: This business rule is not checked for Replace transactions where the Air Pollutant does not exist in ICIS. POL-067 EPA Classification and DA Classification must be a valid (i.e. POL110 Active) code in the REF_AIR_POLLUTANT_CASS table. Air Pollutant EPA Classification Code <Air Pollutant EPA Classification Code value> does not exist or is inactive in the ICIS reference table. POL115 Air Pollutant DA Classification Code <Air Pollutant DA Classification Code value> does not exist or is inactive in the ICIS reference table. POL-070 EPA Classification and EPA Classification Start Date can only POL140 be updated by HQ and Regional Users. ICIS-Air EDT – Air Pollutants v1.1 User <ID value> does not have privileges to submit EPA Classification Data. R R 32 Office of Enforcement and Compliance Assurance 3. DATA ELEMENT MAPPING The mapping between XML Tag Name, ICIS Air Screen Name, and ICIS Database Name is shown below in Table 3. -1: EDT Air Pollutants Data Element Mapping. In addition, the table indicates whether or not a new XML tag was created or an existing ICIS XML tag was used for the Air Pollutants XML submission. The table is organized according to the order in which tags are listed in the Air Pollutants schema. Table 3. -1: EDT Air Pollutants Data Element Mapping XML Tag Name XML Data Type New or Existing ICIS Tag ICIS Air Screen Name ICIS Database Name Air Pollutant Submission Key Value AirFacilityIdentifier String18FixedTypeBase Programmatic ID ICIS_Facility_Interest.Pgm_Sys_ID AirPollutantsCode NonNegativeIntegerMin1Ma New x10TypeBase Pollutant Name (Code) XREF_Air_Fac_Int_Pollutant.Pollutant_Code ActiveInactiveType New Status XREF_Fac_Int_Pollutant.Status_Flag New EPA Classification New Start Date XREF_Air_Fac_Int_Pollut_Class.Air_Pollutant _Class_Code XREF_Air_Fac_Int_Polllut_Class.Begin_Date AirPollutantDAClassificationC StringMin1Max3Type ode New Delegated Agency Classification XREF_Air_Fac_Int_Pollut_Class.Air_Pollutant _Class_Code AirPollutantDAClassificationSt Date artDate New Start Date XREF_Air_Fac_Int_Polllut_Class.Begin_Date New Air Pollutant Status AirPollutantStatusIndicator Air Pollutant EPA Classification Data AirPollutantEPAClassification StringMin1Max3Type Code AirPollutantEPAClassification Date StartDate Air Pollutant DA Classification Data ICIS-Air EDT – Air Pollutants v1.1 33 Office of Enforcement and Compliance Assurance 4. XML SCHEMA The following sections of the ICIS XML schema are related to the Air Pollutants Submission Type: • • • • ICIS_AirPollutants.xsd ICIS_Common.xsd ICIS_Header.xsd ICIS_KeyElements.xsd ICIS-Air EDT – Air Pollutants v1.1 34 Office of Enforcement and Compliance Assurance APPENDIX A: ACRONYMS Table A-1: Acronym List Acronym Definition APDC Air Pollutant Delegated Agency Classification APEC Air Pollutant EPA Classification CDX Central Data Exchange DA Delegated Agency DB Database EDT Electronic Data Transfer EPA Environmental Protection Agency ICIS Integrated Compliance Information System ID Identifier R-C Replace like Change R-N Replace like New XML Extensible Markup Language ICIS-Air EDT – Air Pollutants v1.1 35 Office of Enforcement and Compliance Assurance APPENDIX B: XML SUBMISSION EXAMPLE <?xml version="1.0" encoding="UTF-8"?> <Document xmlns="http://www.exchangenetwork.net/schema/icis/5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Header> <Id>UUStaffer1</Id> <Author>Jane Doe</Author> <Organization>UU Department of Environmental Protection</Organization> <Title>Air Pollutants Submission</Title> <CreationTime>2001-12-17T09:30:47.0Z</CreationTime> <Comment>2nd resubmittal of rejected transactions from May submission</Comment> <DataService>ICIS-NPDES</DataService> <ContactInfo>123 Main Street, Anytown UU, 00555, (888) 555-1212, jane.doe@uudeq.state.us</ContactInfo> <Property> <name>e-mail</name> <value>doe.john@state.us</value> </Property> </Header> <Payload Operation="AirPollutantsSubmission"> <AirPollutantsData> <TransactionHeader> <TransactionType>R</TransactionType> <TransactionTimestamp>2001-12-17T09:30:47.0Z</TransactionTimestamp> </TransactionHeader> <AirPollutants> <AirFacilityIdentifier>NY001MK00000000001</AirFacilityIdentifier> <AirPollutantsCode>200001407</AirPollutantsCode> <AirPollutantStatusIndicator>A</AirPollutantStatusIndicator> <AirPollutantEPAClassificationData> <AirPollutantEPAClassificationCode>MAJ</AirPollutantEPAClassificationCode> <AirPollutantEPAClassificationStartDate>2013-01-01</AirPollutantEPAClassificationStartDate> </AirPollutantEPAClassificationData> <AirPollutantDAClassificationData> <AirPollutantDAClassificationCode>MIN</AirPollutantDAClassificationCode> <AirPollutantDAClassificationStartDate>2013-02-01</AirPollutantDAClassificationStartDate> </AirPollutantDAClassificationData> </AirPollutants> </AirPollutantsData> </Payload> </Document> ICIS-Air EDT – Air Pollutants v1.1 36