def METHOD_NAME(self) -> List[Instance]:
    data_path: str = os.path.join(self.output_path, "data")
    ensure_file_downloaded(
        source_url=self.DATASET_DOWNLOAD_URL,
        target_path=data_path,
        unpack=True,
        unpack_type="unzip",
    )
    instances: List[Instance] = []
    for split in ALL_SPLITS:
        split_file_name: str = f"phrases_no_exclude_{'dev' if split == VALID_SPLIT else split}.jsonl"
        split_path: str = os.path.join(data_path, "data_clean", "questions", "US", "4_options", split_file_name)
        with open(split_path, "r") as f:
            for line in f:
                example: Dict = json.loads(line.rstrip())
                assert len(example["options"]) == 4, f"Expected 4 possible answer choices: {example['options']}"
                references: List[Reference] = [
                    # Some answers have extraneous characters e.g., 'Pulmonary embolism\n"'.
                    # Filed an issue: https://github.com/jind11/MedQA/issues/5
                    # Value of "answer_idx" corresponds to the letter of the correct answer.
                    Reference(
                        Output(text=answer.rstrip('"').rstrip()),
                        tags=[CORRECT_TAG] if index == example["answer_idx"] else [],
                    )
                    for index, answer in example["options"].items()
                ]
                instance: Instance = Instance(
                    input=Input(text=example["question"]),
                    references=references,
                    split=split,
                )
                instances.append(instance)
    return instances