|
a |
|
b/rx_classes.py |
|
|
1 |
from umls.rxnorm import RxNormLookup |
|
|
2 |
|
|
|
3 |
def get_rx_classes(drug_str, include_name=False): |
|
|
4 |
rxclasses = [] |
|
|
5 |
lookup = RxNormLookup() |
|
|
6 |
try: |
|
|
7 |
rxcui = lookup.rxcui_for_name_approx(drug_str) |
|
|
8 |
if rxcui: |
|
|
9 |
rxclasses = lookup.rxclass_for_rxcui(rxcui) |
|
|
10 |
if include_name: |
|
|
11 |
name = lookup.lookup_rxcui_name(rxcui) |
|
|
12 |
else: |
|
|
13 |
rxclasses = [] |
|
|
14 |
name = None |
|
|
15 |
except Exception: |
|
|
16 |
rxclasses = [] |
|
|
17 |
name = None |
|
|
18 |
|
|
|
19 |
if include_name: |
|
|
20 |
return (name, rxclasses) |
|
|
21 |
else: |
|
|
22 |
return rxclasses |