Loading
Assicurazioni
InsCensusServiceStd:addPlanSelections

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

Nota
Nota

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.

  1. 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 ContractGroupPlan per il membro principale non deve essere uguale ai tipi di prodotto elencati nel OptOutPlanTypes del membro principale.

      • Il tipo di prodotto del ContractGroupPlan​​ per un dipendente non deve essere uguale ai tipi di prodotto elencati nel OptOutPlanTypes del dipendente e il tipo di prodotto del ContractGroupPlan non deve essere uguale ai tipi di prodotto elencati nel OptOutPlanTypes del membro principale del dipendente.

    • Quando ContractGroupPlan ha il tipo di record CoverageSpec (ContractGroupPlan of child):

      • Il tipo di prodotto del ContractGroupPlan di un membro secondario per il membro principale non deve essere uguale ai tipi di prodotto elencati nel OptOutPlanTypes del membro principale.

      • Il tipo di prodotto del ContractGroupPlan​​ di un figlio per un dipendente non deve essere uguale ai tipi di prodotto elencati nel OptOutPlanTypes del dipendente e il tipo di prodotto del ContractGroupPlan non deve essere uguale ai tipi di prodotto elencati nel OptOutPlanTypes del membro principale del dipendente.

  2. Per i piani validi vengono restituiti gli ID delle voci GroupCensusMemberPlan create correttamente.

  3. 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 GroupCensusMemberPlan se:

      • Un membro del censimento è associato a una classe di gruppo valida ed esiste un record ContractGroupPlanGroupClass con la classe di gruppo e il piano.

      • Un membro del censimento è associato a una classe di gruppo valida, non ContractGroupPlanGroupClass esiste 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 ContractGroupPlanGroupClass con il piano.

    • Un piano non viene aggiunto a un GroupCensusMemberPlan se:

      • Un membro del censimento è associato a una classe di gruppo valida, non esiste un record ContractGroupPlanGroupClass per 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 ContractGroupPlanGroupClass con il piano e le classi di gruppo.

  4. Quando vengono passati contractGroupPlanIds non validi per un groupCensusMember (il flag isNewMember è true), il servizio elimina i record groupCensusMember e non crea nuovi record GroupCensusMemberPlan per il groupCensusMember. Questo output è previsto solo quando il flag onlySaveMembersWithValidProducts è impostato true nell'oggetto JSON.

Opzioni remote

Opzione

Descrizione

censusId

Obbligatorio.

ID del censimento con i membri i cui piani devono essere inseriti.

Verifica che il contractId appartenga all'account/censimento.

contractId

Obbligatorio.

ID del contratto corrente dell'account.

Verifica che i piani per ogni membro facciano parte del contratto.

census

Obbligatorio.

Input JSON con due nodi:

  • headers: elenco dei nomi API dei campi di GroupCensusMemberPlan.

  • members: elenco dei membri con piani da inserire o aggiornare. Deve includere i seguenti nodi:

    • Id: ID del membro del censimento.

    • isNewMember - True se il membro è stato appena inserito

    • ContractGroupPlan: elenco dei piani selezionati per il membro. Delimitare gli ID dei piani dei gruppi di contratti con un punto e virgola (;).

onlySaveMembersWithValidProducts

Facoltativo.

Se true, i nuovi membri senza voci in GroupCensusMemberPlan vengono eliminati. Il valore predefinito è false.

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 onlySaveMembersWithValidProducts è true e il membro è nuovo, il servizio esegue le seguenti operazioni:

  • Elimina il membro senza piani validi.
  • Crea un membro se ha almeno un piano valido.
ContractGroupPlanId non valido per il membro (a causa del rifiuto esplicito)

Il piano membro non viene creato

Se onlySaveMembersWithValidProducts è true e il membro è nuovo, il servizio esegue le seguenti operazioni:

  • Elimina il membro senza piani validi.
  • Crea un membro se ha almeno un piano valido.
Il membro principale sceglie di non utilizzare un tipo di prodotto

IsOptOutAllPlans ha la precedenza, seguito da OptOutPlanTypes.

  • Se IsOptOutAllPlans = true, il servizio non crea un piano membro anche se si specifica un prodotto per l'iscrizione.
  • Se IsOptOutAllPlans = false e viene specificato un prodotto per l'iscrizione dei membri, ma il tipo di prodotto corrisponde alla voce di rifiuto esplicito, il servizio non crea un piano per i membri.
  • Se IsOptOutAllPlans = false e la copertura è specificata per l'iscrizione del membro con il tipo di prodotto controllante corrispondente alla voce di rifiuto esplicito, il servizio non crea un piano membro.

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

IsOptOutAllPlans ha la precedenza, seguito da OptOutPlanTypes

  • Se IsOptOutAllPlans = true, il servizio non crea un piano membro anche se si specifica un prodotto per l'iscrizione.
  • Se IsOptOutAllPlans = false e viene specificato un prodotto per l'iscrizione dei membri, ma il tipo di prodotto corrisponde alla voce di rifiuto esplicito, il servizio non crea un piano per i membri.
  • Se IsOptOutAllPlans = false e la copertura è specificata per l'iscrizione del membro con il tipo di prodotto controllante corrispondente alla voce di rifiuto esplicito, il servizio non crea un piano membro.

Se il membro principale sceglie di non utilizzare un tipo di prodotto, anche i dipendenti scelgono di non utilizzare quel tipo di prodotto.

Se IsOptOutAllPlans = true per un membro principale, lo stesso output è applicabile per i dipendenti associati.

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"
      }
   ]
}
 
Caricamento
Salesforce Help | Article