Ti trovi qui:
InsCensusServiceStd:addMembers
Utilizzare questo servizio per aggiungere membri del censimento del gruppo a un censimento del gruppo utilizzando un JSON di input.
Classe: InsCensusServiceStd
Metodo: addMembers
Funzionamento
Il servizio prende i membri nel JSON di input del censimento e li aggiunge al censusId specificato. Restituisce un elenco degli ID dei membri aggiunti ( censusMemberIds ).
Il servizio analizza i dati dei membri.
Analizza i dati dei membri con i campi forniti nelle intestazioni. Le intestazioni devono contenere tutti i metadati dei campi utilizzati negli elenchi dei membri.
Separa i membri principali e i membri dipendenti in base alla
RelationshipToPrimaryMember. Se l'elenco dei membri contiene membri principali e dipendenti, l'input deve avereSourceSystemIdentifierper tutti i membri. Tutti i membri devono avereSourceSystemIdentifierunivoci. Inoltre, tutte le persone a carico devono averePrimaryMemberSourceoPrimaryGroupCensusMemberId(se il membro principale è già presente nel censimento).Genera
MemberKey.Elabora nuovi
GroupClass. Se al servizio viene assegnatoGroupClass.NameanzichéGroupClassId, il servizio recupera iGroupClasscon il nome e crea un nuovoGroupClasscon lo stesso nome se non viene trovato. L'intestazione dellaGroupClass.Namè {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. Se ilGroupClass.Namespecificato non è valido, viene restituito un errore. Il servizio utilizza un nuovoquoteEffectiveDatedi parametri per convalidare iGroupClass. IlGroupClassè considerato valido se:Nota Se vengono forniteGroupClass.Name, includere ancheAccountIdnei dati dei membri.GroupClassè collegato all'account del gruppo del membro.quoteEffectiveDatesi trova traGroupClassStartDateeEndDate. SequoteEffectiveDatenon viene dato come parametro al servizio, questa convalida viene ignorata.
Elabora
PrimaryMemberSourceper le persone a carico conPrimaryGroupCensusMemberId. Se nei dati dei membri vengono forniti siaPrimaryMemberSourcechePrimaryGroupCensusMemberId, il servizio consumaPrimaryGroupCensusMemberIdcome origine e aggiorna iPrimaryMemberSourcedei dipendenti in modo che contenganoSourceSystemIdentifierdei principali.
Salva tutti i membri principali. Il servizio utilizza
MemberKeyper identificare i duplicati. Se è presente un membro duplicato, il servizio aggiorna i campi di quel membro preesistente. IlMemberKeydeve essere una combinazione univoca di stringhe.Analizza i dipendenti per identificare i dipendenti orfani (dipendenti senza
PrimaryMemberSource).Salva tutti i dipendenti validi. Il servizio utilizza
MemberKeyper identificare i duplicati. Se è presente un record membro duplicato, il servizio aggiorna i campi di quel membro preesistente anziché creare un nuovo record.Aggiorna i
DependentCountdi tutti i membri principali nell'elenco dei membri.
Comportamento del servizio
Di seguito viene descritto in che modo i diversi input influiscono sugli output del servizio.
| Input | Output del servizio |
|---|---|
No censusId |
Il servizio restituisce un errore: Specify a censusId. |
| Nessun input JSON del censimento | Il servizio restituisce un errore: The census input is missing. |
Valore di PrimaryMemberSource fornito al membro principale |
Il servizio restituisce un errore: The PrimaryMemberSource must be null for primary members. |
headers manca nel censimento degli input |
Il servizio restituisce un errore: The header node is missing in the census input. |
members manca nel censimento degli input |
Il servizio restituisce un errore: The members node is missing in the census input. |
Per le persone orfane dipendenti (Le persone a carico senza PrimaryMemberSource o PrimaryGroupCensusMemberId) |
Il servizio restituisce un errore: Dependent has no primary member. |
Opzioni remote
Opzione |
Descrizione |
|---|---|
|
Obbligatorio. ID del censimento del gruppo a cui aggiungere i membri. |
|
Obbligatorio. JSON di input dei membri da aggiungere. Il JSON del censimento è costituito da due elenchi - intestazioni e membri. headers è l'elenco dei metadati dei campi composto da fieldId, tipo, etichetta e nome. Qui name è il Nome API del campo (con spazio dei nomi per i campi gestiti e personalizzati). members è l'elenco dei membri da aggiungere al censimento. |
duplicateKey
|
Facoltativo. Elenco di campi per generare |
Input JSON
Il JSON di input è costituito da due elenchi: intestazioni e membri. headers è l'elenco dei metadati dei campi composto da fieldId, tipo, etichetta e nome. Qui name è il Nome API del campo (con spazio dei nomi per i campi gestiti e personalizzati). members è l'elenco dei membri da aggiungere al censimento.
{
"census": {
"headers": [
{
"type": "STRING",
"label": "Last Name",
"fieldId": "",
"name": "Lastname"
},
{
"type": "STRING",
"label": "First Name",
"fieldId": "",
"name": "FirstName"
},
{
"type": "DOUBLE",
"label": "FTE",
"fieldId": "",
"name": "FullTimeEquivalent"
},
{
"type": "PICKLIST",
"label": "Gender",
"fieldId": "",
"name": "Gender"
},
{
"type": "DATE",
"label": "Birthday",
"fieldId": "",
"name": "Birthdate"
},
{
"type": "PICKLIST",
"label": "Relationship To Primary",
"fieldId": "",
"name": "RelationshipToPrimaryMember"
},
{
"type": "BOOLEAN",
"label": "Is Opt-out All Plans",
"fieldId": "",
"name": "IsOptOutAllPlans"
},
{
"type":"MULTIPICKLIST",
"label":"Opt-Out Plan Types",
"fieldId":"",
"name":"OptOutPlanTypes"
},
{
"type": "ENTITYID",
"label": "Account",
"fieldId": "",
"name": "AccountId"
},
{
"type": "EMAIL",
"label": "Email",
"fieldId": "",
"name": "Email"
},
{
"type": "STRING",
"label": "Primary Member Identifier",
"fieldId": "",
"name": "PrimaryMemberSource"
},
{
"type": "STRING",
"label": "Member Identifier",
"fieldId": "",
"name": "SourceSystemIdentifier"
}
],
"members": [
{
"Lastname": "Koffins",
"FirstName": "Raj",
"FullTimeEquivalent": 1,
"Gender": "Male",
"Birthdate": "1985-10-13",
"SourceSystemIdentifier": "1.primary",
"PrimaryMemberSource": null,
"Email": "testraj@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":true,
"OptOutPlanTypes":"Medical;Dental"
},
{
"Lastname": "Koffins",
"FirstName": "Rita",
"Gender": "Female",
"Birthdate": "1987-07-13",
"RelationshipToPrimaryMember": "Spouse",
"SourceSystemIdentifier": "1.spouse",
"PrimaryMemberSource": null,
"Email": "testrita@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":true,
"OptOutPlanTypes":"Medical;Dental"
},
{
"Lastname": "Koffins",
"FirstName": "Kris",
"Gender": "Male",
"Birthdate": "2016-05-13",
"RelationshipToPrimaryMember": "Child",
"SourceSystemIdentifier": "1.child",
"PrimaryMemberSource": "1.primary",
"Email": "testkris@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":true,
"OptOutPlanTypes":"Medical;Dental"
},
{
"Lastname": "Warner",
"FirstName": "Christopher",
"FullTimeEquivalent": 0.5,
"Gender": "Male",
"Birthdate": "1985-10-13",
"SourceSystemIdentifier": "2.primary",
"PrimaryMemberSource": null,
"Email": "testchristopher@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":false,
"OptOutPlanTypes":"Medical"
},
{
"Lastname": "Warner",
"FirstName": "Steph",
"Gender": "Male",
"Birthdate": "1985-10-13",
"RelationshipToPrimaryMember": "Spouse",
"SourceSystemIdentifier": "2.spouse",
"PrimaryMemberSource": "2.primary",
"Email": "teststeph@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":false,
"OptOutPlanTypes":"Medical"
},
{
"Lastname": "Jose",
"FirstName": "Steve",
"Gender": "Male",
"Birthdate": "1989-10-13",
"FullTimeEquivalent":10,
"SourceSystemIdentifier": "3.primary",
"Email": "teststeve@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":false,
"OptOutPlanTypes":"Medical"
}
]
}
}
JSON di output
Il servizio restituisce un messaggio di esito positivo se il flusso è completato, altrimenti restituisce l'errore in caso di eccezioni.
-
censusMemberIds: L'elenco deiGroupCensusMemberIdsdei membri salvati. -
errori: L'elenco dei membri con errori. Ogni voce di elenco è costituita dai dati dei membri di input e dall'errore.
-
relatedFieldsUpdateSuccessCount: Numero di membri principali per cui ilDependentCountviene aggiornato in base al servizio. -
relatedFieldsUpdateErrorCount: Numero di membri principali per cui l'aggiornamentoDependentCountrestituisce errori. -
relatedFieldsUpdateErrors: Elenco degli errori restituiti durante l'aggiornamento deiDependentCountdei membri principali.
{
"result": "success",
"relatedFieldsUpdateErrors": [],
"relatedFieldsUpdateErrorCount": 0,
"relatedFieldsUpdateSuccessCount": 2,
"errors": [
{
"error": "[FullTimeEquivalent]: NUMBER_OUTSIDE_VALID_RANGE - Full Time Equivalent: value outside of valid range on numeric field: 10",
"Birthdate": "1989-10-13",
"Gender": "Male",
"IsOptOutAllPlans": false,
"Lastname": "Jose",
"SourceSystemIdentifier": "3.primary",
"FullTimeEquivalent": 10,
"FirstName": "Steve",
"AccountId": "001B000001QOqJHIA1",
"Email": "teststeve@mail.com",
"OptOutPlanTypes": "Medical"
},
{
"RelationshipToPrimaryMember": "Spouse",
"SourceSystemIdentifier": "1.spouse",
"OptOutPlanTypes": "Medical;Dental",
"PrimaryMemberSource": null,
"error": "Dependent has no primary member.",
"Birthdate": "1987-07-13",
"Gender": "Female",
"IsOptOutAllPlans": true,
"Lastname": "Koffins",
"FirstName": "Rita",
"AccountId": "001B000001QOqJHIA1",
"Email": "testrita@mail.com"
}
],
"censusMemberIds": [
"0r6B00000000ANcIAM",
"0r6B00000000ANdIAM",
"0r6B00000000ANeIAM",
"0r6B00000000ANfIAM"
],
"errorCode": "INVOKE-200",
"error": "OK"
}