work on case priors
This commit is contained in:
+33
-17
@@ -56,6 +56,7 @@ from .forms import (
|
||||
ExamGroupsForm,
|
||||
FindingForm,
|
||||
JsonAnswerForm,
|
||||
#ModelPriorCaseForm,
|
||||
PriorCaseForm,
|
||||
QuestionSchemaForm,
|
||||
ResourceForm,
|
||||
@@ -493,7 +494,7 @@ def add_case_to_collection(request, collection_id):
|
||||
return HttpResponse("Case already in collection")
|
||||
print(case)
|
||||
collection.add_case(case)
|
||||
return HttpResponse("Case added to collection (refresh to see)")
|
||||
return HttpResponse(f"Case added to collection {collection.name} (refresh to see)")
|
||||
|
||||
# if request.method == "POST":
|
||||
|
||||
@@ -1766,6 +1767,7 @@ def collection_case_priors(request, exam_id, case_id):
|
||||
return HttpResponse(
|
||||
"You need to enter text to describe the relationship between the cases"
|
||||
)
|
||||
p.prior_visibility = request.POST["prior_visibility"]
|
||||
|
||||
p.save()
|
||||
|
||||
@@ -1780,7 +1782,7 @@ def collection_case_priors(request, exam_id, case_id):
|
||||
|
||||
added_relation_map = {}
|
||||
for prior in added_priors:
|
||||
added_relation_map[prior.prior_case] = prior.relation_text
|
||||
added_relation_map[prior.prior_case] = (prior.relation_text, prior.prior_visibility)
|
||||
|
||||
case = case_detail.case
|
||||
|
||||
@@ -1789,9 +1791,9 @@ def collection_case_priors(request, exam_id, case_id):
|
||||
available_priors = []
|
||||
for case in available_cases:
|
||||
if case in added_relation_map:
|
||||
available_priors.append((case, True, added_relation_map[case]))
|
||||
available_priors.append((case, True, added_relation_map[case][0], added_relation_map[case][1]))
|
||||
else:
|
||||
available_priors.append((case, False, ""))
|
||||
available_priors.append((case, False, "", "AL"))
|
||||
|
||||
form = PriorCaseForm()
|
||||
|
||||
@@ -1808,6 +1810,7 @@ def collection_case_priors(request, exam_id, case_id):
|
||||
{
|
||||
"case_detail": case_detail,
|
||||
"form": form,
|
||||
#"model_form": model_form,
|
||||
# "example_form": example_form,
|
||||
"collection": collection,
|
||||
"case": case_detail.case,
|
||||
@@ -2302,17 +2305,6 @@ def collection_case_view_take(
|
||||
|
||||
series_list = case.series.all().prefetch_related("images", "examination", "plane")
|
||||
|
||||
prior_cases = case_detail.caseprior_set.all()
|
||||
|
||||
series_to_load = []
|
||||
|
||||
for series in series_list:
|
||||
series_to_load.append((series, False, ""))
|
||||
|
||||
for prior in prior_cases:
|
||||
for series in prior.prior_case.get_series():
|
||||
series_to_load.append((series, True, prior.relation_text))
|
||||
|
||||
previous = case_number > 0
|
||||
next = case_number < (case_count - 1)
|
||||
|
||||
@@ -2348,6 +2340,25 @@ def collection_case_view_take(
|
||||
|
||||
resources = case.caseresource_set.filter(pre_review=True)
|
||||
|
||||
prior_cases = case_detail.caseprior_set.all()
|
||||
|
||||
series_to_load = []
|
||||
|
||||
for series in series_list:
|
||||
series_to_load.append((series, False, ""))
|
||||
|
||||
for prior in prior_cases:
|
||||
match prior.prior_visibility:
|
||||
case "AL":
|
||||
for series in prior.prior_case.get_series():
|
||||
series_to_load.append((series, True, prior.relation_text))
|
||||
case "RE":
|
||||
if question_completed:
|
||||
for series in prior.prior_case.get_series():
|
||||
series_to_load.append((series, True, prior.relation_text))
|
||||
case _:
|
||||
continue
|
||||
|
||||
return render(
|
||||
request,
|
||||
"atlas/collection_case_view_take.html",
|
||||
@@ -2437,11 +2448,16 @@ def use_dates_as_descriptions(request, pk):
|
||||
|
||||
return HttpResponse("Done")
|
||||
|
||||
def collection_case_dicom_json_review(request, exam_id, case_id):
|
||||
return collection_case_dicom_json(request, exam_id, case_id, review=True)
|
||||
|
||||
def collection_case_dicom_json(request, exam_id, case_id):
|
||||
def collection_case_dicom_json(request, exam_id, case_id, review=False):
|
||||
case_detail = CaseDetail.objects.get(case=case_id, collection=exam_id)
|
||||
|
||||
priors = case_detail.caseprior_set.all()
|
||||
if review:
|
||||
priors = case_detail.caseprior_set.exclude(prior_visibility="NO")
|
||||
else:
|
||||
priors = case_detail.caseprior_set.exclude(prior_visibility__in=["NO", "RE"])
|
||||
|
||||
return JsonResponse(case_detail.case.get_case_dicom_json(priors=priors))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user