diff --git a/src/therapy/etl/hemonc.py b/src/therapy/etl/hemonc.py index 2894b11f..77cc3472 100644 --- a/src/therapy/etl/hemonc.py +++ b/src/therapy/etl/hemonc.py @@ -20,8 +20,7 @@ SourceName, ) -logger = logging.getLogger("therapy") -logger.setLevel(logging.DEBUG) +_logger = logging.getLogger("therapy") class HemOnc(DiseaseIndicationBase): @@ -37,7 +36,7 @@ def get_latest_version(self) -> str: try: response.raise_for_status() except requests.HTTPError as e: - logger.error("Unable to retrieve HemOnc version from Harvard Dataverse") + _logger.error("Unable to retrieve HemOnc version from Harvard Dataverse") raise e iso_datetime = isodate.parse_datetime( response.json()["datasetVersion"]["releaseTime"] @@ -237,7 +236,7 @@ def _get_rels(self, therapies: Dict, brand_names: Dict, conditions: Dict) -> Dic elif src_raw == "RxNorm Extension": continue # skip else: - logger.warning(f"Unrecognized `Maps To` source: {src_raw}") + _logger.warning(f"Unrecognized `Maps To` source: {src_raw}") elif rel_type == "Has brand name": record["trade_names"].append(brand_names[row[1]]) @@ -246,13 +245,15 @@ def _get_rels(self, therapies: Dict, brand_names: Dict, conditions: Dict) -> Dic try: year = self._id_to_yr(row[1]) except TypeError: - logger.error( + _logger.error( f"Failed parse of FDA approval year ID " f"{row[1]} for HemOnc ID {row[0]}" ) continue if year == "9999": - logger.warning(f"HemOnc ID {row[0]} has FDA approval year" f" 9999") + _logger.warning( + f"HemOnc ID {row[0]} has FDA approval year" f" 9999" + ) record["approval_ratings"] = [ApprovalRating.HEMONC_APPROVED.value] if "approval_year" in record: record["approval_year"].append(year) @@ -260,7 +261,14 @@ def _get_rels(self, therapies: Dict, brand_names: Dict, conditions: Dict) -> Dic record["approval_year"] = [year] elif rel_type == "Has FDA indication": - label = conditions[row[1]] + try: + label = conditions[row[1]] + except KeyError: + # concept is deprecated or otherwise unavailable + _logger.error( + f"Unable to process relation with indication {row[0]} -- deprecated?" + ) + continue norm_id = self._normalize_disease(label) hemonc_concept_id = f"{NamespacePrefix.HEMONC.value}:{row[1]}" indication = {