Source code for q2_cores.PCS.queries.demographic_info_query

import logging

from lxml import etree
from lxml.builder import E

from q2_sdk.models.cores.queries.base_query import BaseQuery
from .mock_responses import mock_demo_info_response


[docs] class DemographicInfoQuery(BaseQuery): """Builds the xml payload for the demographic call for the PCS core.""" def __init__(self, logger: logging.Logger, bank_id: str, ssn: str): self.bank_id = bank_id self.ssn = ssn super().__init__(logger)
[docs] def build(self): fields_to_grab = [ "tin", "cust-num", "prim-nm", "fname", "mi", "lname", "st-addr", "city", "state", "zip", "d-birth", "h-phone", "w-phone", "c-phone", "internet", "dr-st", "dr-lic", ] xml = etree.tostring( E.request( E.cifinq( E.bank(self.bank_id), E.tin(self.ssn), E.fields(",".join(fields_to_grab)), ) ), encoding="unicode", ) return xml
[docs] def mock_response(self): return mock_demo_info_response()