Loading
Seguro
InsEnrollmentService:enrollPlans

InsEnrollmentService:enrollPlans

Utilice este servicio para crear registros de pólizas (Activo o Póliza de seguros) para seguros médicos, dentales, de visión y otros seguros seleccionados por el afiliado.

Importante
Importante Desde Winter '23 en adelante, tenemos el servicio InsEnrollmentServiceStd:enrollPlans activado para funcionar con el modelo de datos estándar de Salesforce para Financial Services Cloud y Health Cloud. Los clientes existentes pueden continuar utilizando este servicio, pero no se proporcionarán más mejoras en el Paquete gestionado de seguros.

Clase: InsEnrollmentService

Método: enrollPlans

Cómo funciona para registros de pólizas de seguros

Los servicios de inscripción pueden escribir en la póliza de seguros y objetos relacionados (modelo de datos de póliza armonizado) u objetos Activo (modelo de velocidad), dependiendo del parámetro isFsc y la configuración personalizada para defaultIsFSCOption. El servicio realiza lo siguiente:

  1. El servicio toma el JSON de entrada y busca la información para crear las pólizas (Póliza de seguros).

    defaultIsFSCOption

    Parámetro isFsc

    Políticas creadas

    Verdadero

    NA

    Registros de pólizas de seguros (InsurancePolicy)

    Falso

    Verdadero

    Registros de pólizas de seguros (InsurancePolicy)

    Falso

    Falso

    Registros de activos (Asset)

    NA

    Verdadero

    Registros de pólizas de seguros (InsurancePolicy)

    NA

    Falso

    Registros de activos (Asset)

  2. Para el registro Póliza de seguros, el miembro puede representarse como un Contacto o una Cuenta personal. Cuando un miembro (principal o dependiente) está representado como una cuenta y hace contacto con ambos, el servicio utiliza la representación de cuenta.

  3. Asocia dependientes a las pólizas como participantes de pólizas de seguros (InsurancePolicyParticipants). Crea otro Participante de póliza de seguros (InsurancePolicyParticipant) para el miembro principal.

    Los registros para InsurancePolicyParticipants se rellenan de acuerdo con estas reglas:

    Flujo Cuenta personal

    Puede crear Cuentas personales para los miembros en el censo concreto. Para admitir el flujo Cuenta personal:

    • Si Miembro principal está representado como una Cuenta personal, la Person Account Id del miembro se establece como la Cuenta de la política.

    • Si Miembro principal está representado como una Cuenta personal, el Id. de Cuenta de participante principal del registro de InsurancePolicyParticipant principal es el Id. de Cuenta personal de miembro principal y el Id. de Contacto de participante principal es personAccount.personContactId.

    • Si el miembro Principal del dependiente está representado como Cuenta personal, el Id. de Cuenta de participante principal del registro de InsurancePolicyParticipant del dependiente es el Id. de Cuenta personal del miembro Principal.

    • El Id. de Contacto de participante principal del registro de InsurancePolicyParticipant del dependiente es el personAccount.personContactId del miembro principal.

    • Si dependiente está representado como una Cuenta personal, el Id. de Cuenta de participante relacionado del registro de InsurancePolicyParticipant del dependiente es el Id. de Cuenta personal del miembro relacionado.

    • Si dependiente está representado como una Cuenta personal, el Id. de Contacto de participante relacionado del registro de InsurancePolicyParticipant de dependiente es personAccount.personContactId de miembro relacionado.

    Flujo de cuenta no personal

    • Si Miembro principal está representado como un Contacto, el Account.Id del miembro se establece como la Cuenta de la política.

    • Si Miembro principal está representado como un Contacto, el Id. de Contacto de participante principal del registro de InsurancePolicyParticipant principal es el Id. de Contacto de miembro principal.

    • Si el miembro principal del dependiente se representa como Contacto, el Id. de Contacto de participante principal de InsurancePolicyParticipant es el Id. de contacto del miembro principal.

    • si dependiente se representa como Contacto, Id. de Contacto de participante relacionado de InsurancePolicyParticipant es el Id. de contacto del miembro principal.

  4. Obtiene la ProductId del plan y marca InsurancePolicy.ProductId = plan.Product2Id.

  5. Crea estas relaciones:

    Póliza de seguros

    InsurancePolicy.EffectiveDate= Contract.StartDate o EffectiveStart en el JSON de entrada.

    InsurancePolicy.ExpirationDate = Contract.EndDate o EffectiveEnd en el JSON de entrada.

    InsurancePolicy.ContractLineItemId__c = Plan.Id

  6. El servicio calcula los InsurancePolicy.PolicyTerm en base a Contract.ContractTerm:

    Póliza de seguros

     ContractTerm = 12, InsurancePolicy.PolicyTerm= Annual.

    ContractTerm = 6, InsurancePolicy.PolicyTerm= Semi-Annual

    ContractTerm = 1, InsurancePolicy.PolicyTerm= Monthly

    ContractTerm = Cualquier otro valor, InsurancePolicy.PolicyTerm= Personalizado.

  7. Obtiene la clave de Price del JSON de entrada y crea estas relaciones:

    Póliza de seguros

    InsurancePolicy.PremiumAmount = Precio

    InsurancePolicy.TermPremiumAmount = precio prorrateado basado en las fechas de entrada en vigor especificadas en #5.

    InsurancePolicy.MonthlyPremium__c = Precio/Contrato

  8. Crea Coberturas de pólizas de seguros (InsurancePolicyCoverages) para los elementos de cobertura.

Cómo funciona para activos

  1. El servicio toma el JSON de entrada y busca la información para crear las políticas (activos).

    defaultIsFSCOption

    Parámetro isFsc

    Políticas creadas

    Verdadero

    NA

    Registros de pólizas de seguros (InsurancePolicy)

    Falso

    Verdadero

    Registros de pólizas de seguros (InsurancePolicy)

    Falso

    Falso

    Registros de activos (Asset)

    NA

    Verdadero

    Registros de pólizas de seguros (InsurancePolicy)

    NA

    Falso

    Registros de activos (Asset)

  2. Asocia la contactId del miembro principal con la política como un Contacto.

  3. Marca la accountId del contrato de inscripción como la Cuenta de la póliza.

  4. Toma la clave de RawPriceData o la clave de RateBandTierPriceData del JSON de entrada y la marca en el campo Asset.PricingLogData__c.

  5. Obtiene la ProductId del plan y marca Asset.Product2Id = plan.Product2Id__c.

  6. Crea las siguientes relaciones:

    Activos

    Asset.EffectiveDate__c = Contract.StartDate o EffectiveStart en el JSON de entrada.

    Asset.ExpirationDate__c = Contract.EndDate o EffectiveEnd en el JSON de entrada.

    Asset.BenefitPlanId__c = Plan.Id

  7. El servicio calcula los Asset.Term__c en base a Contract.ContractTerm:

    Activos

    ContractTerm = 12, Asset.Term__c = Annual.

    ContractTerm = 6, Asset.Term__c = Semi-Annual

    ContractTerm = 1, Activo.Term__c = Mensual

    ContractTerm = Cualquier otro valor, Asset.Term__c = Custom.

  8. Obtiene la clave de Price del JSON de entrada y crea estas relaciones:

    Activos

    Asset.StandardPremium__c = Precio

    Asset.TotalPremiumTerm__c = precio prorrateado basado en las fechas de entrada en vigor especificadas en #7

    Asset.AnnualPremium__c = Precio/Contrato*12

    Asset.MonthlyPremium__c = Precio/Contrato

  9. Asocia dependientes a las políticas como Relaciones de productos mantenidas (AssetPartyRelationship__c). Mientras crea una relación de parte de activo para dependientes, partyId debe proporcionarse en el nodo de dependientes.

    Nota
    Nota

    Se crea otro Participante de póliza de seguros (InsurancePolicyParticipant) para el miembro principal, pero no se crea ningún registro para el miembro principal en Relación de producto mantenido (AssetPartyRelationship__c).

  10. Crea coberturas de pólizas (AssetCoverage__c) para los elementos de cobertura.

Opciones remotas

Opción

Descripción

inputKey

Obligatorio.

La clave de una estructura JSON pretransformada que contiene información que necesita el servicio.

memberPlanIntegrationProcedure

Inicia un procedimiento de integración personalizado basado en la configuración del usuario. Cuando utiliza esta opción, pasa todas las opciones del servicio al procedimiento de integración personalizado y todos los Id. de póliza como entrada para integrar con el objeto, por ejemplo el objeto póliza de seguros con el plan de miembro.

JSON de entrada

El servicio toma el JSON de entrada especificado por el inputKey. En este ejemplo, inputKey = enrollmentJson.

El servicio requiere:

  • contractId: <valor>

  • Dependents: <lista de mapas para contactId y relationshipType de los dependientes>.

    Nota
    Nota

    Mientras utiliza el servicio enrollPlans para generar Asset y AssetPartyRelationship, si los dependientes se pasan en enrollmentJson, se debe proporcionar partyId correspondiente.

  • Modelo de estructura JSON de producto incluyendo atributos y productos secundarios

Este JSON de entrada puede tener una lista de objetos o un mapa, porque el servicio admite la creación de una política o múltiples políticas.

Para admitir el Id. de cuenta personal, primaryMemberId es un nuevo nodo agregado al enrollmentJson. Admite tanto Id. de cuenta personal como ContactId para compatibilidad con versiones anteriores. Basándose en el tipo de primaryMemberId Id., los servicios funcionan como se describe en la descripción del servicio.

Del mismo modo, para dependientes, se agrega el nodo memberId. Admite tanto Id. de cuenta personal como Id. de contacto para compatibilidad con versiones anteriores. Basándose en el tipo de memberId Id., los servicios funcionan como se describe en la descripción del servicio.

En este ejemplo, el JSON incluye tres políticas.

{
   "enrollmentJson":[
      {
         "primaryMemberContactId":"0035w00003HjCFcAAN",
                  "primaryMemberId" : "0015e00000DvQ89AAF"
         "contractId":"8005w000001mT4MAAU",
         "dependents":{
            "IsSpouse":false,
            "contactId":"0035w00003HhfXPAAZ",
            "memberId": "0015e00000RvO24IAJ"
            "LastName":"Jones",
            "FirstName":"Jean",
            "relationshipType":"Child"
         },
         "Id":"01t5w00000EZUtMAAX",
         "Name":"HMO 500",
         "Family":"Other",
         "ProductCode":"SG-HMO-500",
         "Type__c":"Medical",
         "SubType__c":"HMO",
         "RecordTypeName__c":"Product",
         "IsConfigurable__c":false,
         "PricingFormula__c":"GroupPremium",
         "productId":"01t5w00000EZUtMAAX",
         "currencyCode":"USD",
         "currencySymbol":"$",
         "Price":300,
         "planId":"a2S5w0000034B2cEAE",
         "planRateType":"Age",
         "attributeCategories":{
            "totalSize":1,
            "records":[
               {
                  "Code__c":"SG_Medical",
                  "Name":"SG Medical",
                  "id":"a085w00000uA9v6AAC",
                  "productAttributes":{
                     "totalSize":1,
                     "records":[
                        {
                           "rulesCode":"SG-HMO-500.SG_annualDed_INN",
                           "productCode":"SG-HMO-500",
                           "code":"SG_annualDed_INN",
                           "dataType":"text",
                           "inputType":"text",
                           "multiselect":false,
                           "required":false,
                           "readonly":true,
                           "disabled":true,
                           "filterable":true,
                           "attributeId":"a095w000010zIYkAAM",
                           "label":"Deductible",
                           "hasRules":false,
                           "hidden":false,
                           "cloneable":true,
                           "isNotTranslatable":false,
                           "values":[
                              {
                                 "readonly":true,
                                 "disabled":true
                              }
                           ],
                           "userValues":"$500 / $1,000",
                           "attributeGroupType":"In-Network"
                        }
                     ]
                  }
               }
            ]
         },
         "childProducts":{
            "totalSize":1,
            "records":[
               {
                  "Id":"01t5w00000EZUA7AAP",
                  "Name":"Emergency Services",
                  "ProductCode":"SG_Emerg_Serv",
                  "Type__c":"Medical",
                  "IsRecommended__c":false,
                  "RecordTypeName__c":"CoverageSpec",
                  "IsConfigurable__c":true,
                  "productId":"01t5w00000EZUA7AAP",
                  "pciId":"a3A5w000000Ib6fEAC",
                  "isOptional":false,
                  "isSelected":true,
                  "attributeCategories":{
                     "totalSize":1,
                     "records":[
                        {
                           "Code__c":"SG_Medical",
                           "Name":"SG Medical",
                           "id":"a085w00000uA9v6AAC",
                           "productAttributes":{
                              "totalSize":1,
                              "records":[
                                 {
                                    "code":"SG_urgentCareFacility_OON",
                                    "dataType":"text",
                                    "inputType":"dropdown",
                                    "multiselect":false,
                                    "required":false,
                                    "readonly":false,
                                    "disabled":false,
                                    "filterable":true,
                                    "attributeId":"a095w000010zIZRAA2",
                                    "label":"Urgent Care Facility",
                                    "hasRules":false,
                                    "hidden":false,
                                    "cloneable":true,
                                    "isNotTranslatable":false,
                                    "values":[
                                       {
                                          "id":"0",
                                          "label":"Not Covered",
                                          "readonly":false,
                                          "disabled":false,
                                          "value":"Not Covered"
                                       },
                                       {
                                          "id":"1",
                                          "label":"40% Coins After Ded",
                                          "readonly":false,
                                          "disabled":false,
                                          "value":"40% Coins After Ded"
                                       },
                                       {
                                          "id":"2",
                                          "label":"50% Coins After Ded",
                                          "readonly":false,
                                          "disabled":false,
                                          "value":"50% Coins After Ded"
                                       },
                                       {
                                          "id":"3",
                                          "label":"30% Coins After Ded",
                                          "readonly":false,
                                          "disabled":false,
                                          "value":"30% Coins After Ded"
                                       }
                                    ],
                                    "userValues":"Not Covered",
                                    "attributeGroupType":"Out-Of-Network"
                                 }
                              ]
                           }
                        }
                     ]
                  }
               }
            ]
         }
      }
   ]
}

JSON de salida

La lista de políticas creadas por el servicio.

assetIds

Id. de registro InsurancePolicy para registros de pólizas de seguros.

Id. de registro de Activo para registros de Activo.

policyIds

Id. de registro InsurancePolicy. Generado solo para registros de pólizas de seguros.

{
   "assetIds":[
      {
         "assetId":"0036F00002Q4wlSQAR"
      },
      {
         "assetId":"0036F00002Q4wlSQAQ"
      }
   ],
   "policyIds":[
      "0036F00002Q4wlSQAR",
      "0036F00002Q4wlSQAQ"
   ]
}
 
Cargando
Salesforce Help | Article