Ti trovi qui:
InsCensusServiceStd:addPlanSelections
Utilizzare questo servizio per creare record GroupCensusMemberPlan per i record GroupCensusMember esistenti. Utilizza i ContractGroupPlans specificati nel JSON di input per aggiungere piani a ogni GroupCensusMember. Il servizio accetta anche coperture facoltative per membro, in modo che i membri principali e le persone a carico possano essere iscritti a coperture diverse nell'ambito dello stesso piano.
Classe: InsCensusServiceStd
Metodo: addPlanSelections
Se le selezioni dei piani per ogni membro vengono caricate utilizzando un file CSV, utilizzare il servizio InsCensusServiceStd:updateMembersWithPlans.
GroupCensus e Contract devono avere lo stesso account di gruppo.
Lo stato di ContractGroupPlan deve essere attivo.
Funzionamento
Il servizio utilizza censusId e contractId per inserire i piani selezionati dei membri.
- Per ciascuno dei suoi ID
ContractGroupPlan, il servizio valuta se il piano è valido per il membro in base ai seguenti fattori:Il
contractIdè valido per l'censusId.- L'ID
ContractGroupPlanè valido per l'contractId. IsOptOutAllPlansè falso.Quando ContractGroupPlan ha tipo di record Prodotto (ContractGroupPlan della controllante):
Il tipo di prodotto del
ContractGroupPlanper il membro principale non deve essere uguale ai tipi di prodotto elencati nelOptOutPlanTypesdel membro principale.Il tipo di prodotto del
ContractGroupPlanper un dipendente non deve essere uguale ai tipi di prodotto elencati nelOptOutPlanTypesdel dipendente e il tipo di prodotto delContractGroupPlannon deve essere uguale ai tipi di prodotto elencati nelOptOutPlanTypesdel membro principale del dipendente.
Quando ContractGroupPlan ha il tipo di record CoverageSpec (ContractGroupPlan of child):
Il tipo di prodotto del
ContractGroupPlandi un membro secondario per il membro principale non deve essere uguale ai tipi di prodotto elencati nelOptOutPlanTypesdel membro principale.Il tipo di prodotto del
ContractGroupPlandi un figlio per un dipendente non deve essere uguale ai tipi di prodotto elencati nelOptOutPlanTypesdel dipendente e il tipo di prodotto delContractGroupPlannon deve essere uguale ai tipi di prodotto elencati nelOptOutPlanTypesdel membro principale del dipendente.
-
Per i piani validi vengono restituiti gli ID delle voci
GroupCensusMemberPlancreate correttamente. -
Il servizio recupera i piani validi per le classi di gruppo idonee per il contratto specificato. L'iscrizione a un piano di base e alle relative coperture dipende dal fatto che la classe del membro sia idonea al piano e che il piano accetti membri non associati a nessuna classe.
Se il servizio stabilisce che un membro del censimento può iscriversi a un piano, il piano viene aggiunto al
GroupCensusMemberPlan.-
Un piano viene aggiunto a un
GroupCensusMemberPlanse:-
Un membro del censimento è associato a una classe di gruppo valida ed esiste un record
ContractGroupPlanGroupClasscon la classe di gruppo e il piano. -
Un membro del censimento è associato a una classe di gruppo valida, non
ContractGroupPlanGroupClassesiste un record per la classe di gruppo e il piano non esiste per nessun'altra classe di gruppo. -
Un membro del censimento non è associato a una classe di gruppo valida e non esiste alcun record
ContractGroupPlanGroupClasscon il piano.
-
-
Un piano non viene aggiunto a un
GroupCensusMemberPlanse:-
Un membro del censimento è associato a una classe di gruppo valida, non esiste un record
ContractGroupPlanGroupClassper la classe di gruppo, ma il piano esiste per un'altra classe di gruppo. -
Un membro del censimento non è associato a una classe di gruppo valida ed esiste un record
ContractGroupPlanGroupClasscon il piano e le classi di gruppo.
-
-
-
Quando vengono passati
contractGroupPlanIdsnon validi per ungroupCensusMember(il flagisNewMemberè true), il servizio elimina i recordgroupCensusMembere non crea nuovi recordGroupCensusMemberPlanper ilgroupCensusMember. Questo output è previsto solo quando il flagonlySaveMembersWithValidProductsè impostato true nell'oggetto JSON.
Opzioni remote
Opzione |
Descrizione |
|---|---|
|
Obbligatorio. ID del censimento con i membri i cui piani devono essere inseriti. Verifica che il |
|
Obbligatorio. ID del contratto corrente dell'account. Verifica che i piani per ogni membro facciano parte del contratto. |
|
Obbligatorio. Input JSON con due nodi:
|
|
Facoltativo. Se true, i nuovi membri senza voci in |
Comportamento del servizio
Di seguito viene descritto in che modo i diversi input influiscono sugli output del servizio.
| Input | Output del servizio |
|---|---|
Nessun censusId o censusId non valido |
Il servizio non aggiunge alcun piano membro. |
Nessun contractId o contractId non valido |
Il servizio non aggiunge alcun piano membro. |
contractId non valido per il censimento specificato |
Il servizio non aggiunge alcun piano membro. |
| Nessuna riga da inserire/aggiornare | Il servizio non aggiunge alcun piano membro. |
La riga non ha ID (GroupCensusMember.Id) |
Il servizio non aggiunge alcun piano membro. |
ContractGroupPlanId non valido per il contratto specificato |
Il servizio non crea alcun piano membro. Se
|
ContractGroupPlanId non valido per il membro (a causa del rifiuto esplicito) |
Il piano membro non viene creato Se
|
| Il membro principale sceglie di non utilizzare un tipo di prodotto |
Se il membro principale sceglie di non utilizzare un tipo di prodotto, anche i dipendenti scelgono di non utilizzare quel tipo di prodotto. |
| Membro dipendente sceglie di non utilizzare un tipo di prodotto |
Se il membro principale sceglie di non utilizzare un tipo di prodotto, anche i dipendenti scelgono di non utilizzare quel tipo di prodotto. Se |
Input JSON
Di seguito è riportato il formato del JSON di input:
{
"censusId":"ID",
"contractId":"ID",
"census":{
"headers":[
{
"name":"GroupCensusMemberPlan.fieldAPI1"
},
{
"name":"GroupCensusMemberPlan.fieldAPI2"
}
],
"members":[
{
"Id":"Census Member ID",
"isNewMember":true,
"GroupCensusMemberPlan.fieldAPI1":"value1",
"GroupCensusMemberPlan.fieldAPI2":"value2",
"ContractGroupPlanId": "ContractGroupPlan.Id;ChildContractGroupPlan.Id"
},
{
"Id":"Census Member ID",
"isNewMember":true,
"GroupCensusMemberPlan.fieldAPI1":"value1",
"GroupCensusMemberPlan.fieldAPI2":"value2",
"ContractGroupPlanId": "ContractGroupPlan.Id;ChildContractGroupPlan.Id"
}
]
},
"onlySaveMembersWithValidProducts" : true
}Di seguito è riportato un esempio di JSON di input:
{
"censusId":"a4D4P000000hbjSUAQ",
"contractId":"8004P000000zF2dQAE",
"census":{
"members":[
{
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ",
"Id":"a4C4P000000d7POUAY"
}
],
"headers":[
{
"name":"ContractGroupPlanId"
}
]
}
}JSON di output
Il servizio restituisce l'elenco degli ID GroupCensusMemberPlan inseriti correttamente. Fornisce anche l'elenco degli errori riscontrati. Questi errori sono raggruppati per membro.
Di seguito è riportato il formato del JSON di output:
{
"memberPlanIds":[
"GroupCensusMemberPlan.Id"
],
"errors":[
{
"error":"error"
}
]
}Il servizio restituisce un JSON di output, formattato come segue:
{
"memberPlanIds":[
"a4B4P000006jKsMUAU",
"a4B4P000006jKsNUAU",
"a4B4P000006jKsOUAU",
"a4B4P000006jKsPUAU"
],
"errors":[
{
"numPlansError":2,
"error":"ContractGroupPlan value is not valid:8004P000000zJKjQAM; Medical",
"numPlans":2,
"Id":"a4C4P000000ed6dUAA",
"isNewMember":true,
"ContractGroupPlan":"8004P000000zJKjQAM;Medical"
}
]
}
