From 20a24be6b2d354e0da0267a0c389cbf9452bf5be Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 17 Apr 2020 15:56:16 +0200
Subject: [PATCH] redcap puts inconclusive virus results

---
 smash/web/redcap_connector.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/smash/web/redcap_connector.py b/smash/web/redcap_connector.py
index df68598c..efbc6a3f 100644
--- a/smash/web/redcap_connector.py
+++ b/smash/web/redcap_connector.py
@@ -43,6 +43,7 @@ class RedcapSubject(object):
 
 class RedcapVisit(object):
     virus = None
+    virus_inconclusive = False
     visit_number = 0
 
 
@@ -218,6 +219,21 @@ class RedcapConnector(object):
                                 subject.virus_test_5 = visit.virus
                                 subject.virus_test_5_updated = datetime.datetime.now()
                                 subject.save()
+                            if visit.visit_number == 1 and subject.virus_test_1_updated is None and visit.virus_inconclusive:
+                                subject.virus_test_1_updated = datetime.datetime.now()
+                                subject.save()
+                            if visit.visit_number == 2 and subject.virus_test_2_updated is None and visit.virus_inconclusive:
+                                subject.virus_test_2_updated = datetime.datetime.now()
+                                subject.save()
+                            if visit.visit_number == 3 and subject.virus_test_3_updated is None and visit.virus_inconclusive:
+                                subject.virus_test_3_updated = datetime.datetime.now()
+                                subject.save()
+                            if visit.visit_number == 4 and subject.virus_test_4_updated is None and visit.virus_inconclusive:
+                                subject.virus_test_4_updated = datetime.datetime.now()
+                                subject.save()
+                            if visit.visit_number == 5 and subject.virus_test_5_updated is None and visit.virus_inconclusive:
+                                subject.virus_test_5_updated = datetime.datetime.now()
+                                subject.save()
 
         return result
 
@@ -330,6 +346,8 @@ class RedcapConnector(object):
                         visit.virus = False
                     elif row.get(self.virus_field) == "Positive":
                         visit.virus = True
+                    elif row.get(self.virus_field) == "Inconclusive":
+                        visit.virus_inconclusive = True
                 if self.sample_date_field != "":
                     if row.get(self.sample_date_field) != "":
                         redcap_subject.visits.append(visit)
-- 
GitLab