Вы находитесь здесь:
InsCensusServiceStd:getMembersWithPlans
Используйте эту службу для извлечения списка участников переписи для данного censusId. В соответствии с данными участниками переписи служба извлекает ContractGroupPlanIds из GroupCensusMemberPlan. Служба также извлекает заголовки на основе fieldsetName и planFieldsetName.
Класс: InsCensusServiceStd
Метод: getMembersWithPlans
Принцип работы
Данная служба выполняет две ключевые функции:
- Извлекает список полей в
GroupCensusMemberиGroupCensusMemberPlan.Служба использует параметр
fieldsetNameдля извлечения списка полейGroupCensusMember. При отсутствии значения поля извлекаются из стандартного набора полей. Если введенное значение не найдено, поля не извлекаются.Служба использует параметр
planFieldsetNameдля извлечения списка полейGroupCensusMemberPlan. При отсутствии значения извлекаются все поля. Если введенное значение не находит совпадения, поля не извлекаются.Извлекает поля взаимосвязи, объединенные в узел заголовков JSON, даже если эти поля не включены в
fieldsetName. Ниже перечислены поля:PrimaryGroupCensusMemberId,RelationshipToPrimaryMember,SourceSystemIdentifierиPrimaryMemberSource.Если параметр
имеет значение, он заполняет список записей строки контракта следующими сведениями о контракте:contractGroupPlanIdИмя плана группы контрактов
Тип продукта
Код планов группы контрактов
-
Служба использует
censusIdдля извлечения списка участников переписи из записейGroupCensusMemberи планов контрактных групп изGroupCensusMemberPlanдля каждого участника.-
Если смещение имеет значение, оно извлекает строки основного
GroupCensusMember(упорядоченные по коду) после смещения, а потом извлекает все зависимости для этих основных участников. -
При наличии значения ограничения служба извлекает строки основного
GroupCensusMember(упорядоченные по коду) не более указанного ограничения. Потом извлекаются все зависимости для этих «Основных участников». Ограничение не может превышать 500. -
Если
searchKeyимеет значение, служба извлекает строкиGroupCensusMember(упорядоченные по коду) вместе с соответствующим семейством, вFirstNameилиLastNameкоторого присутствуетsearchKeyв качестве подстроки. ЕслиGroupCensusMemberсодержит зависимости, служба извлекает основных участников, соответствующих этим зависимостям. -
Если у
memberIdsесть значение, оно извлекает строкиGroupCensusMember(упорядоченные по коду), код которых является частью массиваmemberIds. Вводные данные должны представляться либоmemberIds, либоsearchKey. -
Сведения, извлеченные для каждого участника, основаны на полях, извлеченных из
GroupCensusMemberиGroupCensusMemberPlan. -
Список участников добавляется в узел
members.
-
Алгоритм обслуживания
Понимание влияния разных вводных данных на результаты обслуживания.
| Ввод | Вывод обслуживания |
|---|---|
Нет |
Служба не извлекает участника переписи. |
Нет fieldsetName и действительный censusId |
Служба извлекает:
|
Допустимые fieldsetName и действительные censusId |
Служба добавляет поля GroupCensusMember в список в соответствии с указанными fieldsetName и извлекает список GroupCensusMember с ContractGroupPlanIds. |
Отсутствие planFieldsetName допустимых fieldsetName и допустимых censusId |
Служба отображает поля GroupCensusMember в соответствии с указанным полем GroupCensusMemberPlan fieldsetName, ContractGroupPlanId и имени. Извлекает список с ContractGroupPlanIds. |
Действительные planFieldsetName fieldsetName и действительные censusId |
Служба извлекает:
|
Допустимые contractId |
Служба извлекает имя плана группы контракта, тип продукта, дочерние продукты и код плана группы контракта в качестве параметров в поле заголовка ContractGroupPlanId. |
Допустимые limit |
Служба извлекает:
|
Допустимые offset |
Служба извлекает:
|
Допустимые offset и действительные limit |
Служба извлекает:
|
Допустимые searchKey |
Служба извлекает:
|
Допустимые searchKey и действительные limit |
Служба извлекает:
|
Допустимые searchKey и действительные offset |
Служба извлекает:
|
Допустимые searchKey, действительные limit и действительные offset |
Служба извлекает:
|
Удаленные параметры
| Параметры | Описание |
|---|---|
|
Обязательно. Код переписи, участники которой должны быть извлечены. |
|
Обязательно. Код текущего контракта организации. Извлечение имени плана группы контрактов, типа продукта и группы контрактов |
|
По желанию. Имя поля, установленного для извлечения полей GroupCensusMember. Если значение недопустимо, служба не возвращает полей. Если значение отсутствует, служба использует набор полей по умолчанию для извлечения полей GroupCensusMember. |
|
Дополнительно. Извлекает поля GroupCensusMemberPlan и GroupCensusMember при наличии действительного значения набора полей плана. Если значение недействительно, поля не возвращаются. Все поля GroupCensusMemberPlan возвращаются при отсутствии значения. |
|
По желанию. Количество участников переписи для извлечения. |
|
Дополнительно . Код участника переписи, после которого участники переписи должны быть извлечены. |
|
Строка для поиска совпадающих записей участников переписи. |
JSON ввода
Эта служба не использует JSON ввода.
Вывод JSON
Служба возвращает вывод JSON, отформатированный в соответствии с примером ниже. Результат содержит сведения для участников переписи, где заголовки являются списком API-имен полей GroupCensusMember и GroupCensusMemberPlan. Узел members возвращает список выбранных планов для участника вместе с ContractGroupPlanId, разделенным ;. Поле lastOffset отображает код последнего извлекаемого участника переписи. Это значение можно использовать в качестве параметра смещения для получения следующих строк.
Ниже указан образец формата вывода JSON:
{
"census":{
"members":[
{
"ContractGroupPlanId":"ID1;ID2",
"Id":"ID",
"fieldAPI1":"value"
}
],
"headers":[
{
"type":"field type",
"label":"field label",
"fieldId":"",
"name":"fieldAPI1"
},
{
"options":[
{
"value":"ID",
"type":"Product Type",
"name":"Contract Group Plan Name"
}
],
"type":"REFERENCE",
"label":"Plan",
"fieldId":"",
"name":"ContractGroupPlanId"
}
]
},
"lastOffset" : "census member Id"
}Ниже указан образец вывода JSON:
{
"census":{
"members":[
{
"ContractGroupPlanId":"",
"Id":"a4C4P000000dNdbUAE",
"LastName":member1,
"FirstName":primary,
"Birthdate":"1999-08-08"
},
{
"ContractGroupPlanId":"a2N4P000006ygEjUAI",
"Id":"a4C4P000000dNdcUAE",
"LastName":member1,
"FirstName":dependent,
"Birthdate":"1994-08-08"
},
{
"ContractGroupPlanId":"a2N4P000006ygEjUAI;a2N4P000006ygEiUAI",
"Id":"a4C4P000000dNdeUAE",
"LastName":member2,
"FirstName":primary,
"Birthdate":"1985-08-08"
}
],
"headers":[
{
"type":"STRING",
"label":"First Name",
"fieldId":"",
"name":"FirstName"
},
{
"type":"DATE",
"label":"Birthday",
"fieldId":"",
"name":"Birthdate"
},
{
"type":"STRING",
"label":"Last Name",
"fieldId":"",
"name":"LastName"
},
{
"type":"REFERENCE",
"label":"Plan",
"fieldId":"",
"name":"ContractGroupPlanId",
"options":[
{
"value":"a2N4P000006ygEiUAI",
"type":"Medical",
"name":"rootProd",
"childProducts": [
{
"value": "0rgDC000000000RYAQ",
"IsOptional": false,
"name": "MandatoryCoverage"
},
{
"value": "0rgDC000000000RYBQ",
"IsOptional": true,
"name": "OptionalCoverage"
}
]
},
{
"value":"a2N4P000006ygEjUAI",
"type":"Dental",
"name":"rootProd2",
"childProducts": [
{
"value": "0rgDC000000000RYCQ",
"IsOptional": false,
"name": "MandatoryCoverage"
},
{
"value": "0rgDC000000000RYDQ",
"IsOptional": true,
"name": "OptionalCoverage"
}
]
}
]
}
]
},
"lastOffset" : "a4C4P000000dNdeUAE"
}