---
# System prepended metadata

title: Client Seeders and How to Interpret the Google Sheet
tags: [' abelto', vehikl, ' rcm']

---

---
tags: vehikl, rcm, abelto
---

# Client Seeders and How to Interpret the Google Sheet

## Client Configuration Structure

| EnAbleTo Client Name | Client (Launch) Name | Payor ID | LOB        | Group/Subgroup |
| -------------------- | -------------------- | -------- | ---------- | -------------- |
| Aetna                | Aetna                | 60054    | Commercial | -              |
| Aetna                | Aetna                | 60054    | Commercial | Costco 0169579 |

Given the contract ruleset above (**not a real ruleset**) we can construct a seeder as fallows:

```javascript=
[
    {
        name: 'Aetna',
        payer: {
            name: 'Aetna',
            description: 'Aetna',
            mahlerPayerId: '60054',
            eligiblePayerId: '60054'
        },
        linesOfBusiness: [{
            name: 'Commercial',
            description: 'Costco Commercial',
            // Line of Business contract products are added here
            contractProducts: {
                [ProductName.Therapy360]: {
                    attributes: { status: ActivityStatus.ACTIVE },
                    rules: [...]
                },
                [ProductName.TherapyPlus]: {
                    attributes: { status: ActivityStatus.ACTIVE },
                    rules: [...]
                },
                [ProductName.DigitalPlus]: {
                    attributes: { status: ActivityStatus.ACTIVE },
                    rules: [...]
                }
            },
            // Group specific contracts are added here
            groups: [{
                name: 'Costco 0169579',
                description: 'Costco Commercial 0169579',
                groupNumber: '0169579',
                contractProducts: {
                    description: 'Aetna Commercial Costco 0169579 Group Contract',
                    [ProductName.Therapy360]: {
                        attributes: { status: ActivityStatus.ACTIVE },
                        rules: [...]
                    },
                    [ProductName.TherapyPlus]: {
                        attributes: { status: ActivityStatus.ACTIVE },
                        rules: [...]
                    },
                    [ProductName.DigitalPlus]: {
                        attributes: { status: ActivityStatus.ACTIVE },
                        rules: [...]
                    }
                },
            }]
        }]
    }
]
```

If contract products need a specific non generated description the `description` property can be added. See the seeder example above.

## Rules

Contract products (Therapy 360, Therapy+, D+) should always be created regardless if they have any rules. In this case they can be set to inactive. See the example below:

```javascript=
{
    ...
    payer: {...},
    lineOfBusiness: [{
        ...
        // for line of business:
        contractProducts: {
            [ProductName.Therapy360]: {
                attributes: { status: ActivityStatus.INACTIVE },
            },
            ...
        }
        groups: [{
            ...
            // for group
            contractProducts: {
                [ProductName.Therapy360]: {
                    attributes: { status: ActivityStatus.INACTIVE },
                },
                ...
            }
        }, ...]
    }, ...]
}
```
 
If the value for the rule is `N/A`, `NONE` or the column header is not green the rule can also be ignored.

`TreatmentModalities` the cell content of `both` is the rule value of `phone,video`.

`ProgramResetPeriodStartDateTrigger` may have something similar to "365 days from **1A**". The **bolded** text is the rule value.

Some rules may be specific to a state for example California `CA`. For example: [[Replatforming] Contract Specification Document](https://docs.google.com/spreadsheets/d/1kFjnjYN4OGp4QWMqkqOHw854X6u8s6MwRJMuY1nxlJ0/edit?pli=1#gid=1401421693) Column AG Row 15. The Seeder rule structure can be seen below. Note that there needs to be a ruleset for the specific state and a non-sepcific ruleset.

```javascript=
const rules = [...]

{
    name: 'UHC',
    payer: {
        name: 'UHC',
        description: 'UHC Payer',
        mahlerPayerId: '87726',
        eligiblePayerId: '87726'
    },
    linesOfBusiness: [{
        name: 'Fully Insured',
        states: [{ id: 'CA', name: 'California' }],
        contractProducts: {
            [ProductName.Therapy360]: {
                attributes: { status: ActivityStatus.ACTIVE },
                rules: [...rules, {
                    // This is the rule unique to the state.
                    type: ContractRuleType.TREATMENT_MODALITIES, 
                    valueType: ContractRuleValueType.ARRAY_STRING,
                    value: 'video',
                    action: 'CREATE' 
                }]
            },
            ...
        },
        groups: []
    }, {
        name: 'Fully Insured',
        contractProducts: {
            [ProductName.Therapy360]: {
                attributes: { status: ActivityStatus.ACTIVE },
                rules: rules
            },
            ...
        },
        groups: []
    }, ... ]
}
```

Here are all the rules in the eligibility service marked as Not implemented:
* AllowBoosters
* MultipleProgramExclusionTime
* MultipleProgramInclusionTime
* MultipleProgramMaxCount
* MultiplePrograms

Whenever unsure of a rule's proper value Joshua Kornberg is the person to talk to.
