import logging
from typing import Optional
from q2_sdk.core.exceptions import ConfigurationError
from .base_query import CoreAPIBaseQuery, LookupType
[docs]
class DemographicInfoQuery(CoreAPIBaseQuery):
NAME_MAP = {
LookupType.SOCIAL_SECURITY_NUMBER: "PersonDetailsInquiry",
LookupType.MEMBER_NUMBER: "PersonDetailsInquiryWithMemberNumber",
}
def __init__(
self,
logger: logging.Logger,
lookup_key: str,
lookup_type: LookupType,
cif: Optional[str] = None,
):
name = self.NAME_MAP.get(lookup_type)
if not name:
raise ConfigurationError("Bad LookupType")
super().__init__(logger, name, {"lookup_key": lookup_key}, cif=cif)