fake_participant_generator.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:raw-data-repository 作者: all-of-us 项目源码 文件源码
def _setup_data(self):
    self._zip_code_to_state = {}
    with open('app_data/zipcodes.txt') as zipcodes:
      reader = csv.reader(zipcodes)
      for zipcode, state in reader:
        self._zip_code_to_state[zipcode] = state
    self._first_names = self._read_all_lines('first_names.txt')
    self._middle_names = self._read_all_lines('middle_names.txt')
    self._last_names = self._read_all_lines('last_names.txt')
    self._city_names = self._read_all_lines('city_names.txt')
    self._street_names = self._read_all_lines('street_names.txt')
    measurement_specs = self._read_json('measurement_specs.json')
    if app_identity.get_application_id() == 'None':
      # Read CSV from a local file when running dev_appserver.
      answer_specs = self._read_csv_from_file(_ANSWER_SPECS_FILE)
    else:
      # Read from GCS when running in Cloud environments.
      answer_specs = self._read_csv_from_gcs(_ANSWER_SPECS_BUCKET, _ANSWER_SPECS_FILE)
    # Save all the answer specs for questions that don't have special handling already.
    self._answer_specs = {answer_spec['question_code']: answer_spec for answer_spec in answer_specs
                          if answer_spec['question_code'] not in _QUESTION_CODES}
    # Serves as the denominator when deciding whether to answer a question.
    self._answer_specs_max_participants = max([int(answer_spec['num_participants'])
                                               for answer_spec in answer_specs])
    qualifier_concepts = set()
    for measurement in measurement_specs:
      for qualifier in measurement['qualifiers']:
        qualifier_concepts.add(Concept(qualifier['system'], qualifier['code']))
    measurement_map = {Concept(measurement['code']['system'], measurement['code']['code']):
                       measurement for measurement in measurement_specs}
    self._measurement_specs = [measurement for measurement in measurement_specs if
                               Concept(measurement['code']['system'], measurement['code']['code'])
                               not in qualifier_concepts]
    self._qualifier_map = {qualifier_concept: measurement_map[qualifier_concept] for
                           qualifier_concept in qualifier_concepts}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号