Skip to content

Commit

Permalink
resolved pk paramter calcualtion for no dosing information
Browse files Browse the repository at this point in the history
  • Loading branch information
janekg89 committed Feb 1, 2022
1 parent 3a5e5be commit c590bb7
Showing 1 changed file with 7 additions and 14 deletions.
21 changes: 7 additions & 14 deletions backend/pkdb_app/outputs/pk_calculation.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,30 +32,23 @@ def pkoutputs_from_timecourse(subset: Subset) -> List[Dict]:
outputs = []
timecourse = subset.timecourse
dosing = subset.get_single_dosing(timecourse["substance"])

# dosing information must exist
if not dosing:
return outputs

# pharmacokinetics are only calculated on normalized concentrations

print("here I am")
if timecourse["measurement_type_name"] == "concentration":
variables = _timecourse_to_pkdict(timecourse, dosing)
ctype = variables.pop("ctype", None)
from pprint import pprint
pprint(variables)
if dosing.application.info_node.name == "single dose" and timecourse["substance"] == dosing.substance.pk:
pkinf = pharmacokinetics.TimecoursePK(**variables)
else:
pkinf = None
if dosing:
if dosing.application.info_node.name == "single dose" and timecourse["substance"] == dosing.substance.pk:
pkinf = pharmacokinetics.TimecoursePK(**variables)
if not pkinf:
_ = variables.pop("dosing", None)
_ = variables.pop("intervention_time", None)
pkinf = pharmacokinetics.TimecoursePKNoDosing(**variables)

pk = pkinf.pk

pprint(variables)
pprint(pk)

key_mapping = {
"auc": MeasurementType.objects.get(info_node__name="auc_end"),
"aucinf": MeasurementType.objects.get(info_node__name="auc_inf"),
Expand Down Expand Up @@ -87,7 +80,7 @@ def get_or_none(id, model):
output_dict["group"] = get_or_none(id=timecourse["group"],model=Group)
output_dict["individual"] = get_or_none(timecourse["individual"], model=Individual)
output_dict["interventions"] = timecourse["interventions"]
output_dict["study"] = dosing.study
output_dict["study"] = subset.study
if output_dict["measurement_type"].info_node.name == "auc_end":
output_dict["time"] = max(timecourse["time"])
output_dict["time_unit"] = str(timecourse["time_unit"])
Expand Down

0 comments on commit c590bb7

Please sign in to comment.