There are two processing phases before records are loaded into the databases. The description below is intended to be a high level overview of the processes.
For a more detailed system specific description please refer to the File specifications.
Pre-processing
The pre-processor is responsible for checking the basic integrity of hospitals’ data files. Assuming that all the records can be read, the whole batch is checked along with the header and all errors and warnings are reported back to the originating facility in the error report.
Files are loaded in chronological order so that if an agency is sending an update to the same health event in consecutive files, all the earlier information will already be loaded. If the file passes the pre-processor it moves on to the processor.
The following checks are carried out:
- Firstly, the pre-processor identifies the format of the file and confirms that the file header is the first record and that it is readable.
- Several checks are carried out within the header record to ensure that the record type and processing environment are correct. These are checks on date sent, that health agency is a valid one and that it matches the abbreviation.
- The pre-processor then checks that the records accompanying the header record are correct record types and have the correct number of fields.
If any of these errors are found an error file is created and further processing stops.
Editing and loading
The contents of each data file are checked against the business rules and loaded it into holding tables. A record is also kept of the number of existing records that have been affected by this file – events inserted and deleted, number of records with errors and warnings, as well as other operating information such as processing time.
There are several fields stored in the data collections that are derived from other fields, including the DRG. These are calculated during this part of the editing process. The edit/error module also maps ICD-10-AM and ICD-9-CM-A diagnosis codes.
The data is then moved from the load tables into the databases.