def bdib(self, ticker, start_datetime, end_datetime, event_type, interval,<EOL>elms=None):
elms = [] if not elms else elms<EOL>logger = _get_logger(self.debug)<EOL>while(self._session.tryNextEvent()):<EOL><INDENT>pass<EOL><DEDENT>request = self.refDataService.createRequest('<STR_LIT>')<EOL>request.set('<STR_LIT>', ticker)<EOL>request.set('<STR_LIT>', event_type)<EOL>request.set('<STR_LIT>', interval)  <EOL>request.set('<STR_LIT>', start_datetime)<EOL>request.set('<STR_LIT>', end_datetime)<EOL>for name, val in elms:<EOL><INDENT>request.set(name, val)<EOL><DEDENT>logger.info('<STR_LIT>'.format(request))<EOL>self._session.sendRequest(request, identity=self._identity)<EOL>data = []<EOL>flds = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>for msg in self._receive_events():<EOL><INDENT>d = msg['<STR_LIT>']['<STR_LIT>']<EOL>for bar in d['<STR_LIT>']['<STR_LIT>']:<EOL><INDENT>data.append(bar['<STR_LIT>'])<EOL><DEDENT><DEDENT>data = pd.DataFrame(data).set_index('<STR_LIT:time>').sort_index().loc[:, flds]<EOL>return data<EOL>
Get Open, High, Low, Close, Volume, and numEvents for a ticker.
Return pandas DataFrame

Parameters
----------
ticker: string
    String corresponding to ticker
start_datetime: string
    UTC datetime in format YYYY-mm-ddTHH:MM:SS
end_datetime: string
    UTC datetime in format YYYY-mm-ddTHH:MM:SS
event_type: string {TRADE, BID, ASK, BID_BEST, ASK_BEST, BEST_BID,
                   BEST_ASK}
    Requested data event type
interval: int {1... 1440}
    Length of time bars
elms: list of tuples
    List of tuples where each tuple corresponds to the other elements
    to be set. Refer to the IntradayBarRequest section in the
    'Services & schemas reference guide' for more info on these values