Loading
Insurance
InsEnrollmentServiceStd:enrollNewHires

InsEnrollmentServiceStd:enrollNewHires

Inscrivez les nouveaux membres du recensement aux plans qu'ils ont sélectionnés au milieu d'une durée de contrat.

Classe: InsEnrollmentServiceStd

Méthode : enrollNewHires

Scénario

groupCensusID contractID groupCensusMemberIds primaryRoleName dependentRoleName
groupCensusID1 ctrlD1 censusMemberPrimary1 PolicyHolder  
censusMemberDependent1   Membre
censusMemberDependent2   Membre
policyID couverture PolicyParticipant policyParticipant.role
policyID101 coverage1, coverage2 censusMemberPrimary1 self
censusMemberDependent1 conjoint
censusMemberDependent2 enfant

Fonctionnement

  1. Le service recherche Membres du recensement de groupe :
    1. Soit tous les membres pour un groupCensusId donné, soit
    2. Uniquement les membres spécifiés dans la liste de groupCensusMemberIds.
  2. Le champ PolicyStartDate doit être mappé dans chaque groupCensusMemberIds primaire du recensement de groupe. La PolicyStartDate doit être comprise entre la Date de début du contrat et la Date de fin du contrat.
    1. Si l'un des groupCensusMemberIds principaux n'a pas rempli le PolicyStartDate, le service renvoie une erreur avec une liste de groupCensusMemberIds et un message : "Spécifiez une date valide pour PolicyStartDate."
    2. Si l'un des groupCensusMemberIds principaux a un PolicyStartDate qui ne se situe pas entre la Date de début du contrat et la Date de fin du contrat, le service renvoie une erreur avec une liste de groupCensusMemberIds et un message : « Spécifiez un PolicyStartDate compris dans ContractStartDate et ContractEndDate ».
  3. Une fois que le service a vérifié que tous les membres du recensement principal disposent des informations de PolicyStartDate, il recherche les plans pré-inscrits liés à chaque membre du GroupCensusMemberPlan.
  4. Les produits du plan de chaque membre sont renvoyés.
  5. Si le produit est éligible (il fait partie d'un Contract et d'un ContractGroupPlans), une Police d'assurance est créée.
  6. Des couvertures de police d'assurance (InsurancePolicyCoverages) sont créées pour les éléments de couverture spécifiés dans le plan.
  7. Des comptes personnels peuvent être créés pour les membres du recensement du groupe. Pour prendre en charge le flux Compte personnel, ce service passe par les membres du recensement de groupe pour procéder comme suit :
    1. Si des AccountIds (récupérés à partir de la GroupCensusMember) sont disponibles, le service utilise la AccountId en tant que InsurancePolicy.NameInsured et crée des InsurancePolicyParticipants' PrimaryParticipantAccountId et des RelatedParticipantAccountId.
    2. Si AccountId est nul, le service utilise le groupAccountId comme InsurancePolicy.NameInsured et contactId comme InsurancePolicyParticipants' PrimaryParticipantContactId et RelatedParticipantContactId.
  8. Une police d'assurance est créée uniquement pour un membre principal, pas pour sa personne à charge. Les détails dépendants des polices d'assurance sont stockés comme suit :
    1. Les informations dépendantes sont créées dans un objet séparé appelé InsurancePolicyParticipants. Un enregistrement est également créé pour le membre principal. Le service associe ces enregistrements aux Polices d'assurance.
    2. Les champs primaryParticipantAccountId et relatedParticipantAccountId du participant à la police d'assurance (InsurancePolicyParticipant) sont également remplis en utilisant le champ AccountId du membre du recensement du groupe et les champs Contact lorsque AccountId est nul.
  9. La date d'entrée en vigueur de la police d'assurance sera identique à la PolicyStartDate du participant principal.
  10. La prime d'assurance sera calculée au prorata en fonction du nombre de jours auxquels le membre est inscrit pendant la durée du contrat. Par exemple : la prime totale de la note :16,00. Durée du contrat : 365 jours (date de début : 10-janvier-2023 à Date de fin: 9-jan-2024)Date de début de la politique du membre : 28-févr.-2023Nombre total de jours pour la nouvelle recrue dans le contrat : 316 Prime au prorata : 16* (316/365) = 13.85
  11. Couvertures de police d'assurance :
    1. Si un membre de la famille s'inscrit à une couverture facultative pendant l'inscription, un enregistrement de InsurancePolicyCoverage séparé correspond à chaque couverture facultative inscrite. Chaque enregistrement de InsurancePolicyCoverage correspondant à des couvertures facultatives stocke le Participant à la police d'assurance inscrit dans le champ vlocity_ins_fsc__InsurancePolicyParticipantId__c de l'objet InsurancePolicyCoverage.
    2. Il existe un seul enregistrement de InsurancePolicyCoverage pour les couvertures obligatoires d'une famille par produit.
  12. Prime de police d'assurance : Si saveMemberPremium est défini sur true, les enregistrements InsurancePolicyParticipant contiennent la valeur StandardPremiumAmount de la stratégie. Ce montant est calculé au prorata (et de la même façon que la Prime d'assurance à l'étape 10).
    Remarque
    Remarque Configurez l'ensemble d'expressions ou la procédure de calcul pour définir le montant de la prime au niveau du membre sur un champ de memberPremium défini sur true dans l'option de sortie Inclure dans le calcul.

Configurez la procédure de tarification pour transmettre les dates effectives sous forme d'options dans l'ensemble d'expressions ou la procédure de calcul.

  • Clé de l'ensemble d'expressions ou option distante de procédure de calcul : effectiveDate
  • Valeur de l'option distante d'ensemble d'expressions ou de procédure de calcul : %options:effectiveDate%
  • Ce qu'il fait : Cette valeur est transmise en tant qu'option au service InsProductService:getRatedProduct par cette procédure d'intégration. Ces données sont utilisées pour extraire les versions correctes de l'ensemble d'expressions ou de la procédure de calcul et des matrices que la procédure d'intégration utilise pour la tarification.

Options distantes

Option Description
contractId

Obligatoire.

L'ID du contrat auquel les participants appartiennent et les régimes auxquels ils seront inscrits contractId.

dependentRoleName

Facultatif.

La valeur par défaut est Member.

Le champ Role dans InsurancePolicyParticipant suivra cette valeur pour les personnes dépendantes. Le champ RelationshipToInsured sera Conjoint, Enfant, Parent, etc. en fonction de ce qui est transmis depuis le GroupCensusMember

groupCensusId

Obligatoire si vous n'utilisez pas groupCensusMembersIds.

L'ID du recensement qui contient tous les membres du recensement à inscrire.

groupCensusMemberIds

Obligatoire si vous n'utilisez pas groupCensusId.

Une liste d'ID de membres du recensement spécifiques pour l'inscription, séparés par une virgule.

isBatchMode

Facultatif.

La valeur par défaut est true.

Crée des stratégies de façon asynchrone.

primaryRoleName

Facultatif.

La valeur par défaut est PolicyHolder. Le champ Role dans InsurancePolicyParticipant suit cette valeur pour les membres principaux. Le RelationshipToInsured champ est Self dans ce cas.

saveMemberPremium

Facultatif.

Valeur par défaut est false.

La valeur indique le montant de la prime de police à définir pour tous les enregistrements de InsurancePolicyParticipant.

Si la valeur est true, la prime du membre de la police est stockée dans le champ TotalStandardAmount de l'objet InsurancePolicyParticipant pour tous les participants à la police d'assurance associés à une police.

JSON d'entrée

Voici l'exemple de JSON d'entrée :

{
   "Input": {
    "groupCensusId": "0rfRO00000005OUYAY",
    "contractId": "800RO000000WG4mYAG"
  },
  "Options":{
    "isBatchMode":false
  }
 }

JSON de sortie

Voici l'exemple de JSON de sortie :

{
   "policyIds":[
      "0036F00002Q4wlSQAR",
      "0036F00002Q4wlSQAQ"
   ]
}
 
Chargement
Salesforce Help | Article