Subevent Number Not Supplied

When a subevent number is not supplied in the data file, the system attempts to derive a subevent number by following an algorithm that matches existing data for the patient against data being processed in the current batch load. The system follows these steps that comprise the algorithm:

  1. For each patient/clinical planned event, the system derives a table of existing subevent numbers, and the minimum/maximum dates/times associated with them.

    All data files being loaded as a group, as well as data in the Received DCMs and Received DCIs tables, are subject to the algorithm's actions.

  2. The system processes each null subevent number in the incoming data file(s) in ascending date/time order. This is achieved by checking, in the order of existing or already allocated subevents, whether the DCM date and DCM time of the new data falls within the minimum/maximum dates/times of the existing subevents.

    For the purpose of matching, null DCM times are treated as 00:00:00, or the earliest time for that date.

  3. If the new data falls within the range of an existing subevent or one already allocated, it is assigned that subevent number.

  4. If the new data does not fall within the range of an existing subevent, a new one is allocated, and the date and time of the new data is associated with it. Subsequently processed records that match are therefore allocated the same subevent number.

You cannot use this matching algorithm to automatically allocate subevent numbers for duplicate DCMs, because it does not include a check on whether the new subevent assignment will cause a collision with existing Received DCMs. For example, if data for subevent 0 already exists at 01-DEC-99 00:00:00, and new data for an existing DCM is processed with the same date, it will be assigned subevent 0 and will be detected by later phases in the Prepare stage as an update of the existing data. If the new data has a different document number, the document will be rejected during Prepare as a mismatched update.

Similarly, new data with time information that falls within the range of existing data will be matched to the existing subevent and will be later rejected as a mismatched update on time. For example, if data for subevent 1 exists at 01-DEC-99 00:00:00 and 02-DEC-99 00:00:00, and new data for a DCM that exists (at 01-DEC-ok 9 08:00:00, for instance) is processed at 01-DEC-99 12:00:00, it will be assigned subevent 1 and be detected by later phases in the Prepare stage as an update of the existing data. Since the times differ, it will be rejected.