Você está aqui:
InsEnrollmentServiceStd:enrollPlans
Use esse serviço para criar registros de apólice de seguro (InsurancePolicy) para os planos médicos, odontológicos, visuais e outros selecionados do membro.
Classe: InsEnrollmentServiceStd
Método: enrollPlans
Como funciona
O serviço faz o seguinte:
- O serviço pega o JSON de entrada e procura as informações para criar as apólices (apólice de seguro).
defaultIsFSCOption Parâmetro isFsc Output True False Cria registros de apólice de seguro ( InsurancePolicy)False False Retorna a mensagem de erro - "FSC desabilitado; Use o método enrollPlans antigo para criar o Objeto de ativo". True True Cria registros de apólice de seguro ( InsurancePolicy)False True Cria um registro de Apólice de seguro ( InsurancePolicy)Nota Os serviços de inscrição podem gravar na apólice de seguro e objetos relacionados (modelo de dados de apólice harmonizada) ou objetos de ativo (modelo Vlocity), dependendo do parâmetro isFsc e da configuração personalizada paradefaultIsFSCOption. Para criar registros de ativo, use o serviço InsEnrollmentService:enrollPlans -
Para um registro de Apólice de seguro, o membro pode ser representado como um Contato ou uma Conta pessoal. Se o membro for representado como um contato, o
Account.Iddo contrato de inscrição será definido como a Conta da apólice. Quando um membro é representado como uma conta pessoal, o ID da conta pessoal do membro é definido como a Conta da política.Quando um membro (principal ou dependente) é representado como uma conta e um contato, o serviço usa a representação da conta.
-
Associa dependentes às apólices como Participantes da apólice de seguro (
InsurancePolicyParticipants). Cria outro Participante da apólice de seguro (InsurancePolicyParticipant) para o membro principal. - Os registros para
InsurancePolicyParticipantssão preenchidos de acordo com estas regras:Principal InsurancePolicyParticipant
InsurancePolicyParticipant dependente
ID do membro principal = PersonAccount
PrimaryParticipant.PrimaryParticipantAccountId = PersonAccount PrimaryParticipant.PrimaryParticipantContactId = PersonAccount.personContactId
DependentParticipant.PrimaryParticipantAccountId = PersonAccount DependentParticipant.PrimaryParticipantContactId = PersonAccount.personContactId
ID do membro principal = ContactId
PrimaryParticipant.PrimaryParticipantContactId = ContactId
DependentParticipant.PrimaryParticipantContactId = ContactId
ID do membro dependente = ContactId/AccountId
O preenchimento de registros de Participante principal acontece com base no ID do membro principal.
A população de membros dependentes segue a mesma lógica descrita acima para membros primários.
-
Obtém o
ProductIddo plano e carimboInsurancePolicy.ProductIdpara esse ID. -
Cria estes relacionamentos:
Apólice de seguro
InsurancePolicy.EffectiveDate=Contract.StartDateou o EffectiveStart no JSON de entrada.InsurancePolicy.ExpirationDate=Contract.EndDateou EffectiveEnd no JSON de entrada.InsurancePolicy.ContractGroupPlanId=ContractGroupPlan.Id -
O serviço calcula
InsurancePolicy.PolicyTermcom base emContract.ContractTerm:Apólice de seguro
InsurancePolicy.PolicyTerm= Anual.InsurancePolicy.PolicyTerm= semestralInsurancePolicy.PolicyTerm= Mensal -
Obtém a chave
Pricedo JSON de entrada e cria estes relacionamentos:Apólice de seguro
InsurancePolicy.StandardPremiumAmount= preçoInsurancePolicy.TermPremiumAmount= preço rateado com base nas datas efetivas. -
Cria Coberturas da apólice de seguro (
InsurancePolicyCoverages) para os itens da cobertura.
Opções remotas
Opção |
Descrição |
|---|---|
|
Obrigatório. A chave para uma estrutura JSON pré-transformada que contém informações de que o serviço precisa. |
JSON de entrada
O serviço pega o JSON de entrada especificado pelo inputKey. Neste exemplo, inputKey = enrollmentJson.
O serviço exige:
-
contractId: <value> -
Dependents: <lista de mapas para contactId e relationshipType dos dependentes>
Esse JSON de entrada pode ter uma lista de objetos ou um mapa, pois o serviço oferece suporte à criação de uma política ou de várias políticas.
O primaryMemberId pode ser um ID de conta pessoal ou um ID de contato. Com base no tipo de ID de primaryMemberId, o serviço funciona como descrito anteriormente.
Da mesma forma, para dependentes, o serviço tem nó de memberId para dar suporte a ID da conta pessoal e ID do contato. Com base no tipo de ID de memberId, o serviço funciona como descrito anteriormente.
Aqui está o JSON de entrada de exemplo:
{
"enrollmentJson": {
"dependents": [
{
"IsSpouse": false,
"memberId": "001RO000003NTBtYAO",
"LastName": "Jones",
"FirstName": "Jean",
"relationshipType": "Child"
}
],
"coverages": {
"records": [
{
"Price": "13",
"productcode": "CI"
}
]
},
"Price": 20,
"planId": "0rgRO000000000zYAA",
"primaryMemberId": "001RO000003Zr0AYAS",
"contractId": "800RO000000TFXdYAO"
}
}
