---
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.