postInsuranceGenerateRefreshCensusMembers(generateRefreshCensusMembersInputParam, contractId)

Generate or update group census members from policy information on an existing group benefits contract.

API Version

68.0

Requires Chatter

No

Signature

public static ConnectApi.InsuranceGenerateRefreshCensusMembersRep postInsuranceGenerateRefreshCensusMembers(ConnectApi.InsuranceGenerateRefreshCensusMembersInputRep generateRefreshCensusMembersInputParam, String contractId)

Parameters

generateRefreshCensusMembersInputParam
Type: ConnectApi.InsuranceGenerateRefreshCensusMembersInputRep
Census details, member identifiers, optional policy date, and additional fields used to generate or update group census members.
contractId
Type: String
ID of the insurance contract whose policy data is used to generate or update group census member information.

Usage

Use this method to generate or update group census members and their plan configuration details from policy information on an existing group benefits contract. Specify the contract in contractId. Identify members with personAccountIds or contactIds. If you specify contact IDs, also set policyIds.

To update members on an existing census, set groupCensusId. To create a census, set censusName and censusType, such as Enrollment or Quote. Set policyEffectiveDate in yyyy-MM-dd format to select the policy version. The date must fall between the version's effectiveFromDate and effectiveToDate.

Set shouldGenerateCsv to create a CSV file of the census data. Set shouldIncludeMemberPlans to include insurance plan details for each member. To stamp additional field values on members, set additionalFields with a list of members and their fields.

Check isSuccess and groupCensusId on the response. Errors are in the errors property.

Example

This example generates census members from a contract for a person account, includes member plan details, and stamps an additional field on the member.

1// Generate or update group census members from policy information on a contract.
2
3final String CONTRACT_ID = '800SB00001HNnddYAD';
4
5// Optional: additional field values per member.
6ConnectApi.InsuranceApexStringRepresentation sourceSystem =
7    new ConnectApi.InsuranceApexStringRepresentation();
8sourceSystem.key = 'SourceSystemIdentifier';
9sourceSystem.value = 'new';
10
11ConnectApi.InsuranceUpsertMemberRep member = new ConnectApi.InsuranceUpsertMemberRep();
12member.memberId = '001SB00001wg2zZYAQ';
13member.fields = new List<ConnectApi.InsuranceApexStringRepresentation>{ sourceSystem };
14
15ConnectApi.InsuranceGenerateRefreshCensusMembersAdditionalFieldsRep additionalFields =
16    new ConnectApi.InsuranceGenerateRefreshCensusMembersAdditionalFieldsRep();
17additionalFields.members = new List<ConnectApi.InsuranceUpsertMemberRep>{ member };
18
19ConnectApi.InsuranceGenerateRefreshCensusMembersInputRep input =
20    new ConnectApi.InsuranceGenerateRefreshCensusMembersInputRep();
21input.censusName = 'sync_censuS_apex';
22input.censusType = 'Enrollment';  // e.g. System, Quote, Enrollment, Lead, Renewal
23// input.groupCensusId = '0rfSB000000505pYAA';  // set to refresh members on an existing census
24input.personAccountIds = new List<String>{ '001SB00001wg2zZYAQ' };
25// input.contactIds = new List<String>{ /* Contact IDs — require policyIds to resolve */ };
26// input.policyIds = new List<String>{ /* Policy IDs to source member info for the contacts */ };
27input.policyEffectiveDate = '2026-12-12';
28input.shouldIncludeMemberPlans = true;
29input.additionalFields = additionalFields;
30
31try {
32    ConnectApi.InsuranceGenerateRefreshCensusMembersRep result =
33        ConnectApi.InsuranceGroupBenefitsFamily.postInsuranceGenerateRefreshCensusMembers(input, CONTRACT_ID);
34
35    System.debug('isSuccess: ' + result.isSuccess);
36    System.debug('groupCensusId: ' + result.groupCensusId);
37    System.debug('errors: ' + result.errors);
38} catch (Exception e) {
39    System.debug('Error while generating or updating census members: ' + e.getMessage());
40}