--- a +++ b/rx_classes.py @@ -0,0 +1,22 @@ +from umls.rxnorm import RxNormLookup + +def get_rx_classes(drug_str, include_name=False): + rxclasses = [] + lookup = RxNormLookup() + try: + rxcui = lookup.rxcui_for_name_approx(drug_str) + if rxcui: + rxclasses = lookup.rxclass_for_rxcui(rxcui) + if include_name: + name = lookup.lookup_rxcui_name(rxcui) + else: + rxclasses = [] + name = None + except Exception: + rxclasses = [] + name = None + + if include_name: + return (name, rxclasses) + else: + return rxclasses