Usted está aquí:
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.
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:
-
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) -
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.
-
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
InsurancePolicyParticipantsse rellenan de acuerdo con estas reglas: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 Iddel 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
InsurancePolicyParticipantprincipal es el Id. de Cuenta personal de miembro principal y el Id. de Contacto de participante principal espersonAccount.personContactId. -
Si el miembro Principal del dependiente está representado como Cuenta personal, el Id. de Cuenta de participante principal del registro de
InsurancePolicyParticipantdel dependiente es el Id. de Cuenta personal del miembro Principal. -
El Id. de Contacto de participante principal del registro de
InsurancePolicyParticipantdel dependiente es elpersonAccount.personContactIddel miembro principal. -
Si dependiente está representado como una Cuenta personal, el Id. de Cuenta de participante relacionado del registro de
InsurancePolicyParticipantdel 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
InsurancePolicyParticipantde dependiente espersonAccount.personContactIdde miembro relacionado.
-
Si Miembro principal está representado como un Contacto, el
Account.Iddel 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
InsurancePolicyParticipantprincipal 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
InsurancePolicyParticipantes el Id. de contacto del miembro principal. -
si dependiente se representa como Contacto, Id. de Contacto de participante relacionado de
InsurancePolicyParticipantes el Id. de contacto del miembro principal.
-
-
Obtiene la
ProductIddel plan y marcaInsurancePolicy.ProductId=plan.Product2Id. -
Crea estas relaciones:
Póliza de seguros
InsurancePolicy.EffectiveDate=Contract.StartDateo EffectiveStart en el JSON de entrada.InsurancePolicy.ExpirationDate=Contract.EndDateo EffectiveEnd en el JSON de entrada.InsurancePolicy.ContractLineItemId__c=Plan.Id -
El servicio calcula los
InsurancePolicy.PolicyTermen base aContract.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.
-
Obtiene la clave de
Pricedel JSON de entrada y crea estas relaciones:Póliza de seguros
InsurancePolicy.PremiumAmount= PrecioInsurancePolicy.TermPremiumAmount= precio prorrateado basado en las fechas de entrada en vigor especificadas en #5.InsurancePolicy.MonthlyPremium__c= Precio/Contrato -
Crea Coberturas de pólizas de seguros (
InsurancePolicyCoverages) para los elementos de cobertura.
Cómo funciona para activos
-
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) -
Asocia la
contactIddel miembro principal con la política como un Contacto. -
Marca la
accountIddel contrato de inscripción como la Cuenta de la póliza. -
Toma la clave de
RawPriceDatao la clave deRateBandTierPriceDatadel JSON de entrada y la marca en el campoAsset.PricingLogData__c. -
Obtiene la
ProductIddel plan y marcaAsset.Product2Id=plan.Product2Id__c. -
Crea las siguientes relaciones:
Activos
Asset.EffectiveDate__c=Contract.StartDateo EffectiveStart en el JSON de entrada.Asset.ExpirationDate__c=Contract.EndDateo EffectiveEnd en el JSON de entrada.Asset.BenefitPlanId__c=Plan.Id -
El servicio calcula los
Asset.Term__cen base aContract.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.
-
Obtiene la clave de
Pricedel JSON de entrada y crea estas relaciones:Activos
Asset.StandardPremium__c= PrecioAsset.TotalPremiumTerm__c= precio prorrateado basado en las fechas de entrada en vigor especificadas en #7Asset.AnnualPremium__c= Precio/Contrato*12Asset.MonthlyPremium__c= Precio/Contrato -
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.NotaSe 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). -
Crea coberturas de pólizas (
AssetCoverage__c) para los elementos de cobertura.
Opciones remotas
Opción |
Descripción |
|---|---|
|
Obligatorio. La clave de una estructura JSON pretransformada que contiene información que necesita el servicio. |
|
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>.NotaMientras 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"
]
}