Data Intake Setup
As part of the Data Intake solution, several pieces of configuration will need to be implemented to support processing. This section describes the configuration, and where they will live in OIPA.
Intake Profile Definition
The Intake Profile Definition defines the file setup for an incoming file, and is configured in the Rules Palette Admin Explorer. The Intake Profile Definition includes the following:
- The primary company the data intake definition is attached to
- A name for the Intake Profile Definition
- The fields of a record on the incoming file
- Fields include a name and data type.
- Field definitions can include configured constraints that are used for purposes of validation. For example, using constraint configuration a field can be made to be required. Additional constraints can be used for defining valid values, data ranges, data length, and patterns.
- Field attributes can define meta-data that will be attached to a field.
- An Intake Profile Definition Rule which defines the fields, actions, events, and screen math that are used when a Data Intake Profile is setup for a Group Customer.
- The File Definition Configuration that contains the following configuration:
- Dynamic fields that can be captured for the file.
- Configuration for how to pre-process the file.
- Name of the Data Intake File Transaction
- The Record Definition Configuration that contains the following configuration:
- Dynamic fields that can be captured for the record.
- Configuration for how to calculate changes and process the record.
- Name of the Data Intake Record Transaction
- An XSLT style sheet that can transform the incoming record onto the OIPA internal domain model format. If no XSLT style sheet is defined, the record will be assumed to already be in our OIPA internal domain model format.
Intake Profile
An Intake Profile is created for a Group Customer based on a previously defined Intake Profile Definition. In the OIPA application, a user can setup a new Intake Profile by choosing an Intake Profile Definition. The user will then enter the fields that are defined in the Data Intake Definition Rule. The user will also be able to override the data constraints that are defined in the Record Fields in the Intake Profile Definition.
- A user creates an Intake Profile based on an Intake Profile Definition.
- The dynamic fields in the Intake Profile Definition are shown and can be set.
- When the Intake Profile is first saved, it is in a "Setup" status.
- An Intake Profile can move to different statuses through an Activity.
- A new business rule will be provided to move the status of an Intake Profile.
- A user can delete an existing Intake Profile. The Intake profile is only available for deletion if it is in a "Setup" status.
- The user can setup the Record Details for the Intake Profile.
- The user is provided with a list of all of the record fields that are defined in the intake profile definition.
- The user will be able to define the constraints for fields that are coming in on a record in the file.
- Constraints include required, valid values, length, range, and pattern.
- If a field has a valid values constraint, the user can modify the list of valid values.
- If a field has a range or length constraint, the user can set the min and max value for the field.
- The user can indicate if a field is required or optional
- If the field has a pattern constraint, the user can define a regular expression that the field value must match.
- If there are meta-data attributes defined for a field, the user can enter a value for the field attribute.
Intake File Screen
The Intake File Screen allows the user to access all of the processing information for a file. The Intake File Screen is available in the application under the Group Customer context. The File screen will provide the following capabilities:
- Search for specific files using defined search fields from in the IntakeFileScreen rule.
- View the files that have come in for a Group Customer
- View details pertaining to a selected file.
- Access the Intake Record Screen to view the records that were received for a given file.
- Reverse an entire file.
Intake Record Screen
- Search for specific records using defined search fields from in the IntakeRecordScreen rule.
- View the files that have come in for a given file.
- View details pertaining to a selected record.
- See the results of pre-processing a record, including the changes that were calculated as well as any validation errors.
- See the results of executing a record, including the results of the activities that were run, and some information on any first level activities that were executed on part of a record.
Data Intake File Transaction
The Data Intake File Transaction is a standard OIPA transaction that is setup and configured in the Rules Palette and can be overridden down to the Group Customer Level. The Data Intake File Transaction is processed for a single file that is received in order to calculate and capture statistics relevant to the received file and perform necessary updates to the system as a result of that file. Additionally, validations can be run at the file level by attaching the ValidateExpressions business rule to the Data Intake File Transaction in order to verify that certain criteria pertaining to the file has been met.
Data Intake Record Transaction
The Data Intake Record Transaction is a standard OIPA transaction that is setup and configured in the Rules Palette and can be overridden down to the Group Customer Level. The Data Intake Record Transaction processes the changes for a single family record, generating one or more activities to be run in the system. The kinds of processing that are performed by the activities created in the Data Intake Record Transaction include:
- For a new member, create the member in the system and if auto-enrollment is enabled, create an Enrollment activity for the new member
- For a removed member, if auto-cancel is enabled, create a Cancel Coverage activity for the member to terminate coverage
- For a member who has an address change and a new dependent, create the following activities:
- Add Dependent activity for the member to create the dependent client in the system
- Update Address activity to modify the address for the member
- Change Coverage activity for the member to modify the member's coverage information, for example changing coverage tiers.
The Data Intake Record Transaction itself will provide:
- A Math section to evaluate the record and calculate Activities and other math variables
- Support for the Validate Expressions attached business rule that can cause the record to fail with an error status
- Support for the CopyTos business rule to update supplementary record field values
- An Activity Sequence Process section that will detail the order of sequence of entities and activities to run in the system.
Supplemental Transactions
The Intake Record Transaction is designed simply to tie the data intake with transactions that are already available in the system. As such, the transactions that impart material changes in the system, such as Enroll, Terminate Coverage, Add Member, etc. need to still be configured in order to realize changes in the system.
Population Groups
Certain files that are sent by a Group Customer pertain to a certain population group (e.g. Executive, Active, or Retired). The Group Customer will send in different files for each population group. In OIPA, an Intake Profile is setup for each population group that is provided by the customer.
An insurance carrier can utilize population attributes that are used to determine if a member belongs to a particular population group. For example, a member maybe part of the Retired population group if the JobStatus field is set to 'R'.
Population groups are an essential component to auto-cancellation. Simply the absence of a record on a file for a particular Intake Profile does not automatically result in the member being auto-cancelled. We must inspect the member's information in the OIPA system to determine if they belong to the population group identified by the Intake Profile.
We need to use a new Class Group type to define a "Data Intake Population Group". Class Groups already support segmentation of a population of people into different classes. This feature of OIPA is already used for Eligibility, Reporting, and Billing. Extending Class Groups to account for "Intake Population Groups" makes sense because it already supports the following features:
1. Segment people into classes
2. Specify configurable membership rules that are run against system data to determine membership in a particular class
3. Can be invoked in transaction math to determine current class (i.e. population group) for a given member.
4. Class Groups can be copied, becoming easier to setup and maintain in the application.
When an Intake Profile is setup, a drop down list can be provided with a list of all Data Intake Population Groups that are defined in the Data Intake Population Group Class Group for that Group Customer. During file processing, the member's population group can easily be obtained by either querying the class membership table for the Data Intake Population Class Group, or by calculating the membership in the transaction. The resulting class can be compared against the chosen population group that was set on the intake profile.