Vous êtes ici :
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
- Le service recherche Membres du recensement de groupe :
- Soit tous les membres pour un
groupCensusIddonné, soit - Uniquement les membres spécifiés dans la liste de
groupCensusMemberIds.
- Soit tous les membres pour un
- Le champ
PolicyStartDatedoit être mappé dans chaquegroupCensusMemberIdsprimaire du recensement de groupe. LaPolicyStartDatedoit être comprise entre la Date de début du contrat et la Date de fin du contrat.- Si l'un des
groupCensusMemberIdsprincipaux n'a pas rempli lePolicyStartDate, le service renvoie une erreur avec une liste degroupCensusMemberIdset un message : "Spécifiez une date valide pourPolicyStartDate." - Si l'un des
groupCensusMemberIdsprincipaux a unPolicyStartDatequi 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 degroupCensusMemberIdset un message : « Spécifiez unPolicyStartDatecompris dans ContractStartDate et ContractEndDate ».
- Si l'un des
- 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 duGroupCensusMemberPlan. - Les produits du plan de chaque membre sont renvoyés.
- Si le produit est éligible (il fait partie d'un
Contractet d'unContractGroupPlans), une Police d'assurance est créée. - Des couvertures de police d'assurance (
InsurancePolicyCoverages) sont créées pour les éléments de couverture spécifiés dans le plan. - 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 :
- Si des
AccountIds(récupérés à partir de laGroupCensusMember) sont disponibles, le service utilise laAccountIden tant queInsurancePolicy.NameInsuredet crée desInsurancePolicyParticipants' PrimaryParticipantAccountIdet desRelatedParticipantAccountId. - Si
AccountIdest nul, le service utilise legroupAccountIdcommeInsurancePolicy.NameInsuredetcontactIdcommeInsurancePolicyParticipants' PrimaryParticipantContactIdetRelatedParticipantContactId.
- Si des
- 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 :
- 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. - Les champs
primaryParticipantAccountIdetrelatedParticipantAccountIddu participant à la police d'assurance (InsurancePolicyParticipant) sont également remplis en utilisant le champAccountIddu membre du recensement du groupe et les champs Contact lorsqueAccountIdest nul.
- Les informations dépendantes sont créées dans un objet séparé appelé
- La date d'entrée en vigueur de la police d'assurance sera identique à la
PolicyStartDatedu participant principal. - 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
- Couvertures de police d'assurance :
- Si un membre de la famille s'inscrit à une couverture facultative pendant l'inscription, un enregistrement de
InsurancePolicyCoverageséparé correspond à chaque couverture facultative inscrite. Chaque enregistrement deInsurancePolicyCoveragecorrespondant à des couvertures facultatives stocke le Participant à la police d'assurance inscrit dans le champvlocity_ins_fsc__InsurancePolicyParticipantId__cde l'objetInsurancePolicyCoverage. - Il existe un seul enregistrement de
InsurancePolicyCoveragepour les couvertures obligatoires d'une famille par produit.
- Si un membre de la famille s'inscrit à une couverture facultative pendant l'inscription, un enregistrement de
- Prime de police d'assurance : Si
saveMemberPremiumest défini surtrue, les enregistrementsInsurancePolicyParticipantcontiennent la valeurStandardPremiumAmountde 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 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 dememberPremiumdé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:getRatedProductpar 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 |
dependentRoleName
|
Facultatif. La valeur par défaut est Le champ |
groupCensusId
|
Obligatoire si vous n'utilisez pas L'ID du recensement qui contient tous les membres du recensement à inscrire. |
groupCensusMemberIds
|
Obligatoire si vous n'utilisez pas 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 Crée des stratégies de façon asynchrone. |
primaryRoleName
|
Facultatif. La valeur par défaut est |
saveMemberPremium
|
Facultatif. Valeur par défaut est La valeur indique le montant de la prime de police à définir pour tous les enregistrements de Si la valeur est |
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"
]
}