text: # Copyright 2021 Google LLC
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #      http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  class CodeDisplay:
    """Holds name and code value."""
  
    def __init__(self, name: str, code: str):
      self.name = name
      self.code = code
  
    def __str__(self):
      return self.name
  
    def __repr__(self):
      return self.__str__()
      
  def fill_answer_key(question: CodeDisplay, answer: CodeDisplay, state_name: str):
    return {
            'type': 'Observation',
            'category': 'survey',
            'unit': '',
            'codes': [{
                'system': 'LOINC',
                'code': question.code,
                'display': question.name,
                'value_set': ''
            }],
            'direct_transition': state_name,
            'name': answer.name,
            'value_code': {
                'system': 'SNOMED-CT',
                'code': answer.code,
                'display': answer.name
            }
        }
  