Skip to content

Commit 1b55ee3

Browse files
committed
Infer sig readable work
1 parent 2006ed0 commit 1b55ee3

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

parsers/sig.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,13 @@ def parse(self, sig_text):
151151
return match_dict
152152

153153
# infer method, dose_unit, and route from NDC or RXCUI
154-
def infer(self, ndc=None, rxcui=None):
155-
sig_elements = ['method', 'dose_unit', 'route']
154+
def infer(self, match_dict, ndc=None, rxcui=None):
155+
#sig_elements = ['method', 'dose_unit', 'route']
156+
sig_elements = ['method', 'route']
156157
inferred = dict.fromkeys(sig_elements)
157158
for sig_element in sig_elements:
158159
inferred[sig_element] = infer_sig_element(sig_element, ndc, rxcui)
159-
#inferred['sig_readable'] = self.get_readable(match_dict)
160+
inferred['sig_readable'] = self.get_readable(match_dict, inferred_method=inferred['method'], inferred_route=inferred['route'])
160161
return inferred
161162

162163
# parse a csv

sig/views.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ def create(self, request, *args, **kwargs):
8282
# else, return optimal sig_parsed (for customers)
8383
sig = serializer.data if request.user.is_staff else self.replace_sig_parsed_optimal(serializer.data)
8484
if ndc or rxcui:
85-
sig['sig_inferred'] = self.get_sig_inferred(ndc=ndc, rxcui=rxcui)
85+
sig_parsed = sig['sig_parsed'][0] if type(sig['sig_parsed']) is list else sig['sig_parsed']
86+
sig['sig_inferred'] = self.get_sig_inferred(sig_parsed, ndc=ndc, rxcui=rxcui)
8687
sig['original_sig_text'] = original_sig_text
8788
return Response(sig, status=status.HTTP_201_CREATED, headers=headers)
8889
# if sig DOES exist...
@@ -99,12 +100,13 @@ def create(self, request, *args, **kwargs):
99100
# else, return optimal sig_parsed (for customers)
100101
sig = serializer.data if request.user.is_staff else self.replace_sig_parsed_optimal(serializer.data)
101102
if ndc or rxcui:
102-
sig['sig_inferred'] = self.get_sig_inferred(ndc=ndc, rxcui=rxcui)
103+
sig_parsed = sig['sig_parsed'][0] if type(sig['sig_parsed']) is list else sig['sig_parsed']
104+
sig['sig_inferred'] = self.get_sig_inferred(sig_parsed, ndc=ndc, rxcui=rxcui)
103105
sig['original_sig_text'] = original_sig_text
104106
return Response(sig)
105107

106-
def get_sig_inferred(self, ndc=None, rxcui=None):
107-
sig_inferred_data = SigParser().infer(ndc, rxcui)
108+
def get_sig_inferred(self, sig_parsed, ndc=None, rxcui=None):
109+
sig_inferred_data = SigParser().infer(sig_parsed, ndc, rxcui)
108110
return sig_inferred_data
109111

110112
def replace_sig_parsed_optimal(self, sig):

0 commit comments

Comments
 (0)