From beb86f0453973aa30dac17165690ca272dfdad54 Mon Sep 17 00:00:00 2001 From: Aaron Louie Date: Wed, 29 Apr 2020 10:21:24 -0400 Subject: [PATCH 1/2] Adds protocol script to study service --- crc/scripts/study_info.py | 9 ++- crc/services/file_service.py | 2 +- crc/services/study_service.py | 27 ++++++++- .../documents_approvals.bpmn | 57 ++++++++++++------ crc/static/reference/irb_documents.xlsx | Bin 9920 -> 9920 bytes 5 files changed, 72 insertions(+), 23 deletions(-) diff --git a/crc/scripts/study_info.py b/crc/scripts/study_info.py index 3d42b656..b4e7645c 100644 --- a/crc/scripts/study_info.py +++ b/crc/scripts/study_info.py @@ -15,7 +15,7 @@ class StudyInfo(Script): """Just your basic class that can pull in data from a few api endpoints and do a basic task.""" pb = ProtocolBuilderService() - type_options = ['info', 'investigators', 'details', 'approvals', 'documents_status'] + type_options = ['info', 'investigators', 'details', 'approvals', 'documents_status', 'protocol'] def get_description(self): return """StudyInfo [TYPE], where TYPE is one of 'info', 'investigators', or 'details' @@ -75,7 +75,10 @@ class StudyInfo(Script): 'workflow_spec_id': 'irb_api_details', 'status': 'complete', } - ] + ], + 'protocol': { + id: 0, + } } } self.add_data_to_task(task=task, data=data["study"]) @@ -101,6 +104,8 @@ class StudyInfo(Script): self.add_data_to_task(task, {cmd: StudyService().get_approvals(study_id)}) if cmd == 'documents_status': self.add_data_to_task(task, {cmd: StudyService().get_documents_status(study_id)}) + if cmd == 'protocol': + self.add_data_to_task(task, {cmd: StudyService().get_protocol(study_id)}) def check_args(self, args): diff --git a/crc/services/file_service.py b/crc/services/file_service.py index 9eba4dd9..67a481cd 100644 --- a/crc/services/file_service.py +++ b/crc/services/file_service.py @@ -168,7 +168,7 @@ class FileService(object): if form_field_key: query = query.filter_by(form_field_key=form_field_key) if name: - query = query.filter_by(name=form_field_key) + query = query.filter_by(name=name) if irb_doc_code: query = query.filter_by(irb_doc_code=irb_doc_code) diff --git a/crc/services/study_service.py b/crc/services/study_service.py index 0a915bb9..a53617ad 100644 --- a/crc/services/study_service.py +++ b/crc/services/study_service.py @@ -1,10 +1,11 @@ +import json from typing import List from SpiffWorkflow import WorkflowException from crc import db, session from crc.api.common import ApiError -from crc.models.file import FileModel +from crc.models.file import FileModel, FileModelSchema from crc.models.protocol_builder import ProtocolBuilderStudy, ProtocolBuilderStatus from crc.models.stats import WorkflowStatsModel, TaskEventModel from crc.models.study import StudyModel, Study, Category, WorkflowMetadata @@ -105,6 +106,9 @@ class StudyService(object): # Container for results documents = [] + # Study > Categories > Workflows + study = StudyService.get_study(study_id) + # For each required doc, get file(s) for code, doc in study_docs.items(): if not doc['required']: @@ -123,6 +127,15 @@ class StudyService(object): name_list.append(doc[cat_key]) doc['display_name'] = ' '.join(name_list) + # print('code', code) + # + # # Find which workflows have the associated irb_doc_code??? + # wf = db.session.query(WorkflowModel)\ + # .filter_by(study_id=study_id)\ + # .filter(WorkflowModel.bpmn_workflow_json.contains(code))\ + # .first() + # print('wf', wf) + # For each file, get associated workflow status doc_files = FileService.get_files(study_id=study_id, irb_doc_code=code) for file in doc_files: @@ -139,6 +152,18 @@ class StudyService(object): return documents + + @staticmethod + def get_protocol(study_id): + """Returns the study protocol, if it has been uploaded.""" + file = db.session.query(FileModel)\ + .filter_by(study_id=study_id)\ + .filter_by(form_field_key='Study_Protocol_Document')\ + .first() + + return FileModelSchema().dump(file) + + @staticmethod def synch_all_studies_with_protocol_builder(user): """Assures that the studies we have locally for the given user are diff --git a/crc/static/bpmn/documents_approvals/documents_approvals.bpmn b/crc/static/bpmn/documents_approvals/documents_approvals.bpmn index 05a865b6..6ffd7ded 100644 --- a/crc/static/bpmn/documents_approvals/documents_approvals.bpmn +++ b/crc/static/bpmn/documents_approvals/documents_approvals.bpmn @@ -13,13 +13,19 @@ # Documents & Approvals > ## Protocol Document Management -> [Upload Protocol Here](/) +{% if StudyInfo.protocol is defined -%} +{%- set p = StudyInfo.protocol -%} + +> [{{p.name}}](/study/{{p.study_id}}/workflow/{{p.workflow_id}}/task/{{p.task_id}}) +{%- else -%} +> No protocol uploaded yet. +{% endif %} > ## Approvals > | Name | Status | Help | |:---- |:------ |:---- | {% for approval in StudyInfo.approvals -%} -| [{{approval.display_name}}](/study/{{approval.study_id}}/workflow/{{approval.workflow_id}}) | {{approval.status}} | [Context here](/help/{{approval.workflow_spec_id}}) | +| [{{approval.display_name}}](/study/{{approval.study_id}}/workflow/{{approval.workflow_id}}) | {{approval.status}} | [?](/help/{{approval.workflow_spec_id}}) | {% endfor %} > ## Documents @@ -27,9 +33,9 @@ |:---- |:------ |:---- |:-------- | {% for doc in StudyInfo.documents_status -%} {% if doc.file_id is defined -%} - | [{{doc.display_name}}](/study/{{doc.study_id}}/workflow/{{doc.workflow_id}}/task/{{doc.task_id}}) | {{doc.status}} | [Context here](/help/documents/{{doc.code}}) | [Download](/file/{{doc.file_id}}) | + | [{{doc.display_name}}](/study/{{doc.study_id}}/workflow/{{doc.workflow_id}}/task/{{doc.task_id}}) | {{doc.status}} | [Context here](/help/documents/{{doc.code}}) | [Download](/file/{{doc.file_id}}/data) | {%- else -%} - | {{doc.display_name}} | Not started | [Context here](/help/documents/{{doc.code}}) | No file yet | + | {{doc.display_name}} | Not started | [?](/help/documents/{{doc.code}}) | No file yet | {%- endif %} {% endfor %} @@ -46,47 +52,60 @@ StudyInfo approvals - Flow_1k3su2q + Flow_0w20w9j Flow_0c7ryff StudyInfo documents_status - + + + Flow_1k3su2q + Flow_0w20w9j + StudyInfo protocol + + - - + + - - + + - - + + - - + + - + - + - + - + - + + + + + + + + diff --git a/crc/static/reference/irb_documents.xlsx b/crc/static/reference/irb_documents.xlsx index 7743f0bc5b38e961e7ab9788cd1ea65160761271..591b6ff20e7dd702195b1e035e44770bc5d77104 100644 GIT binary patch delta 2474 zcmZ8jdpy(YAK!A4OQuw=%_R3y%$k|&`8hQu%%XE7%PB%Giz5{FJ(5G@(wQvg66Mmw z+{I){e$h0S3|TYxxs7ta&3@&)UccY(oadkS=XqYw^Lahb`}2OD_tRw8WG92Q75m{J zNJ2sakDP2XC>~?? z%a;sB1@+x~|8lJTP$(^cvb#q~wbvlT$lzmZpBOhacfX9I48xD(bFqx6PQKh^h~Ae} zZeyMMGV_^ZkafI&&I55jlzm|SW9{4$HJ;t06cs6?0vqEI-+z0#FXAo`e$86$+3hl8 zt#p<)O0LSI@H4~cNcthwf~DU)&`CB{DTRhm%Wy?o|MheCid&G1ca&8N$2NGOJ$Is5 z{l-uy;ON7<_vW9jtPF{fZ#rG|#S_j(tMQ@)xd;`0+tpXq-JzULTKk0LjFow;ICXrY z<_9k1_l1o$^gXkmpzG?uYetcn%ZTcv@h{ElD6N?FM}#Wj#|mrxwfEzl?r%Qdf!|&G zC~mnFSFEA6w?bh~$z}@mDnlb-e}**ZxLRD>Fbb+_k!mW9j;py2m)xIRg;+E`LOdCr zw~BwW>xoN4?B?4ZgkI7K#rqSy_NSbbkR}!qOe*s~3W8h7B|i!Sy6f#GjjNqL&V=Oi`(iG*B493vgy4ERQ=2doy?41of z1M&~7N#$0zie!~<%(RDiu^UcgEe$B*p{94x#hh3tyxXea{bYRN!Z|&ZKBcyZpe)66 zV$QVl5I5f)eEb%8!*tDV!=dl{IcF+st_2usLJ|xAcsOaa_X=%3L{S+?N*z=_J2)JD zrR+)CeVvzWw3ybP2i%+MPL;YmY%P7t|GGPuFSR-$?0-Ck(4`h=3o)g67g%b!5?&kn zp4cLp?ZakBYn32sN;eH1F;*~{ww078g1*z0F(29!8FEf1Eq!}v!pFOWz9oyb-6PT0 z)h2#a0t6~K1p@s|wWLHz3nTcFJ8r!Hd271U2Z+`Y$wPAPRyGyFnLQxgcr$+0-Si4m zX^ckloIep%%G%vI`4MJWLfV#8fQoJkX<=pq2$#CnH0Si3L`y#9YcgMiilk0k8k68s zu7Iz3y?&Ydgx>`oMZNGhL_218S!_V5YX*}W#Nmp(^Gku zwtGgr+hD{mISr*Ngq{{|r0Lt*b$_5z_LB#Uu;6JySZEoZe+77_`Tt4jC{AVv!Q3D6 zuFEnDRQ^RNrRMMeKTHJjglQ=g=}|q0yFAA9Ts439^md`JE)ljd+C`>b;@;Tcf^7TIia!>qA=M*-)?48B2n`S9?#X=B46#Jg(Uw>Hc9 zadRf-;hUjHSV8Qj8+CI!*3xp`tWU_|&Lz_Q*>g&krtGRcJaR~K7}2X%)`^oS zL;~&PlE#kPYj}D|E$~1aqswyO$k3-m0_0b?E1^EiTOoM6%!e@oYssqv2JPk&TGUT^ z4p{K@HhTy(XU7#050OLXKI05=42ThMfl>rFb?!v|F(V z*H6~?Fg#Y$dT(`jSLp;0I07eR$8lBo4?@X>2cB>*PyHjOF$UggT#d_)c;B$D>RtZ36+4v9TGyTH z>b-Q@5E&tT$SCT94JP1*o8b)3&Anw!;TQ;W@AI$}aGaU$`SR2fdos>G%><^;wkK!( z$TCdDMpcQ&{utMBNxB~X^U2`$mzGg{@E# zsRz-qwNJ#BM!B?_ds%G;i7hHyT9i!aB-s2EA-6f~acIAC%Upx@TA#4DEZH}!de$T` z5b}pFko$u3tHUWq$fKJ)xdntU-pa9&y9`!(gCzLg1wa_BsnSN_jQZQnw$Knr4rbD+GAQTuFr4~-sQw|>y8b3gw;`KcU9JTbYm=GPCAm6!Yy zbCO3feMthhTh#_>`>s4mflu_01R^i?9kZteX5upr@V;{pI56oj`|Y^IZ#?|XP`-0e zNmmd5OOPfSr)9qViLn3mA5wzGDcJXs{};OAw>AH30Ewre{axuKNlo+)p3y|@V3a0u m2kSL0B){j_DFg|uh1}`wY>8y0bqM@B>7o{FXJ(j|&3^zH^T{6o delta 2474 zcmZ8jdpy(YAKy-=lVMY0E1H!vQ^#d;%Pq?#mzGOJDMcjL*&%n^zA1-;gEA$zNy=Ru z_a@g;2~EUd!<<}Z6LOu)*st_@o!9T2&p+?a^Sqwd^ZGpR&-;1aPm5KH71S2L>qjY& zh=>TNKk)ZIp$PD~1;xGfE=JKE_PbR7+4vC~#`UBsd3v-%Ov< zX_tove+o=7>wq4sCacO+{H@vU;6{tCy+zV+F!nh*=zJb^@1Pr}-(?Aa%*8=1?@qOj zKD@4%GiK3~k{u}QioWg`me$L-$JLPs8_`||33%6(YbKTU`NLVR)81iODV+e@c4oJp zJ6qFs>o-$T$)-dm>yCtTn`N9zc%uUJHfeWlY_DIIV#3P68MdDZPCZkxbl1uunWGOf zJ0*iofQo0vS$h}v22TJ9KMEhguE#|_V!J{U#vV#dU1<8SYSRg;852u0xdXX5(;@Q7 zMpn@C^RtwPYHzRBdmer|zU-5tZ04m3s5mjY*KX+sndNtRPjhgA9ay;}3vEqJ8rI`xD|m#*JO8Wqx)Uk&4R2@y4jM-y`8mX~~bTjHu&rG7dK}6G(oHP0E?)iOB3NvWSsORz4x_6@Gv$%Ds zM!DK+H@^&u6W$gXpK0cPxtIA^e^Ebv`@*3D&E;FD>Y-!DoNjE~NhrvznOnr!;`fLI z_H*0NA|Ozy76|k&*;4<27;1*#N3h_P9Z6W{Y(&|V)Ww3EQH-cXH z09U7TX)zWhP%JOmk_`?BWy2P%C@kQ!iS|%ICMlhfNeWntoR`b+$eft!C@E!Pw~o>=l5vI`vM zw$9XTm5(J!jsAJ8Ksq@1b@w zpsBTPIrJF$Uhhro7sR{jgHOdx&nW6HylBRG)Z-5p6S%;Ba79(Tco7)vTcrs@?gnG4 z?Dk&*gWamiq{hMEI_f?6A#e%x85|D&i`ou11g2OurJ;CQXlEK5zLL*{YXh4V8y~mm z8l$Rm&6h>i)+Z@{&n*;+Z9bd3i7hTz94B9G@`Y44;ICAJHdc6y*E7ZbyizY_c}3S0 zAULl|X~t%3MJ(r?&PFP488Xs36MXtrNX=YFB9_IM(_Ys~f}Loeq)*Fv8IXs5!UFSM zCBYvEeUy&RDrGaY4_@bnM{8L{ej968lL*S@h+DwQTHvo)IgSbKAx4`^^OgM@u?gGk z`E62R2Feg#LehxH#3dS@FDVspVg+;8()(Ewk=f&`!cA__qGWzTJ+e!P_|sjT2T<6t zBkg+GhbW9yk2*ava41WNu*J*n5%Hu*aV%jV5G?9H_q6KJ0rekt{N1K*SL(6&tF|XkVvd){PUO8{Mpy5^D1hC9~Cg<`pu?t_Q*(e4XsVruu7Da2x(1P<$T?W6tY1WHA z>*3{Fc1BIxPfSZI%HG1F+6Y_!m5Qb>(l7lCW6|COZ>bI z;}Dy6&?L9$UbOckcs)lvC3pDki`Np#?UIxG;(oVr!(}1%Sw0@j=1U3b?1Qj?yrra* zimFqt58=Q&IubS^(K0E0fAamwFjz0(#7}|n9G%X&U-0M3f(6^t2G3mG%~v3sp-<9n zrcO_r#iuw09q;w(xiCndQ&y+uf%IO8hoYnr6)ckbsk=!U}>DvsX z?%~&3Po0o09m7&Agr|6irLy|0_W|>~G2OzBD08}N>C<10zsLk3v8RAVb7#~-vn}!? z16a?)y=mM3Vh^IsbZ^$xH-?X@8v_o*{jUCzFp+%xQXcw&^{au;k}tO9atSXpVsGfO zWN_Ir3 Date: Wed, 29 Apr 2020 15:08:11 -0400 Subject: [PATCH 2/2] Refactor the document details scripts. Now there is one script, it returns data in a consistent format, and has all the details required. The script is located in StudyInfo, with the argument documents. Make note that it returns a dictionary of ALL the documents, with a field to mark which ones are required according to the protocol builder. Others may become required if a workflow determines such, in which case the workflow will enforce this, and the document will have a count > 0, and additional details in a list of files within the document. I modified the XLS file to use lower case variable names, because it disturbed me, and we have to reference them frequently. Removed devious "as_object" variable on get_required_docs, so it behaves like the other methods all the time, and returns a dictionary. All the core business logic for finding the documents list now resides in the StudyService. Because this changes the endpoint for all existing document details, I've modified all the test and static bpmn files to use the new format. Shorting up the SponsorsList.xls file makes for slightly faster tests. seems senseless to load 5000 everytime we reset the data. Tried to test all of this carefully in the test_study_details_documents.py test. --- crc/api/study.py | 6 +- crc/scripts/complete_template.py | 5 +- crc/scripts/documents.py | 81 ---------- crc/scripts/script.py | 7 - crc/scripts/study_info.py | 27 ++-- crc/services/file_service.py | 11 +- crc/services/protocol_builder.py | 7 +- crc/services/study_service.py | 71 ++++----- crc/static/bpmn/core_info/SponsorList.xls | Bin 501760 -> 109056 bytes .../investigators_brochure.dmn | 2 +- .../ids_full_submission/ivrs_iwrs_ixrs.dmn | 2 +- .../ids_full_submission/pharmacy_manual.dmn | 2 +- .../top_level_workflow/data_security_plan.dmn | 2 +- .../top_level_workflow/enter_core_info.dmn | 2 +- .../ids_full_submission.dmn | 2 +- .../bpmn/top_level_workflow/ids_waiver.dmn | 2 +- .../sponsor_funding_source.dmn | 2 +- .../top_level_workflow.bpmn | 148 +++++++++--------- crc/static/reference/irb_documents.xlsx | Bin 9920 -> 10018 bytes tests/data/reference/irb_documents.xlsx | Bin 10029 -> 10016 bytes .../top_level_workflow/data_security_plan.dmn | 2 +- .../top_level_workflow/enter_core_info.dmn | 2 +- .../sponsor_funding_source.dmn | 2 +- .../top_level_workflow.bpmn | 2 +- tests/test_required_docs_script.py | 82 ---------- tests/test_study_details_documents.py | 67 ++++++++ tests/test_study_service.py | 95 +++++++++-- 27 files changed, 297 insertions(+), 334 deletions(-) delete mode 100644 crc/scripts/documents.py delete mode 100644 tests/test_required_docs_script.py create mode 100644 tests/test_study_details_documents.py diff --git a/crc/api/study.py b/crc/api/study.py index 1b2e6850..c162e15a 100644 --- a/crc/api/study.py +++ b/crc/api/study.py @@ -4,16 +4,12 @@ from connexion import NoContent from flask import g from sqlalchemy.exc import IntegrityError -from crc import session, app +from crc import session from crc.api.common import ApiError, ApiErrorSchema -from crc.api.workflow import __get_workflow_api_model -from crc.models.api_models import WorkflowApiSchema from crc.models.protocol_builder import ProtocolBuilderStatus, ProtocolBuilderStudy from crc.models.study import StudySchema, StudyModel, Study -from crc.models.workflow import WorkflowModel, WorkflowSpecModel from crc.services.protocol_builder import ProtocolBuilderService from crc.services.study_service import StudyService -from crc.services.workflow_processor import WorkflowProcessor def add_study(body): diff --git a/crc/scripts/complete_template.py b/crc/scripts/complete_template.py index 9d2a7458..a68bdd5f 100644 --- a/crc/scripts/complete_template.py +++ b/crc/scripts/complete_template.py @@ -5,7 +5,7 @@ from jinja2 import UndefinedError from crc import session from crc.api.common import ApiError from crc.models.file import FileModel, FileDataModel, CONTENT_TYPES -from crc.models.workflow import WorkflowSpecModel +from crc.models.workflow import WorkflowSpecModel, WorkflowModel from docxtpl import DocxTemplate import jinja2 @@ -33,11 +33,12 @@ Takes two arguments: def do_task(self, task, study_id, *args, **kwargs): workflow_id = task.workflow.data[WorkflowProcessor.WORKFLOW_ID_KEY] final_document_stream = self.process_template(task, study_id, *args, **kwargs) - + workflow = session.query(WorkflowModel).filter(WorkflowModel.id == workflow_id).first() file_name = args[0] irb_doc_code = args[1] FileService.add_task_file(study_id=study_id, workflow_id=workflow_id, + workflow_spec_id=workflow.workflow_spec_id, task_id=task.id, name=file_name, content_type=CONTENT_TYPES['docx'], diff --git a/crc/scripts/documents.py b/crc/scripts/documents.py deleted file mode 100644 index 051b1c4d..00000000 --- a/crc/scripts/documents.py +++ /dev/null @@ -1,81 +0,0 @@ -from crc.api.common import ApiError -from crc.scripts.script import Script, ScriptValidationError -from crc.services.file_service import FileService -from crc.services.protocol_builder import ProtocolBuilderService - - -class Documents(Script): - """Provides information about the documents required by Protocol Builder.""" - pb = ProtocolBuilderService() - - def get_description(self): - return """ -Provides detailed information about the documents loaded as a part of completing tasks. -Makes an immediate call to the IRB Protocol Builder API to get a list of currently required -documents. It then collects all the information in a reference file called 'irb_pro_categories.xls', -if the Id from Protocol Builder matches an Id in this table, all data available in that row -is also provided. - -This place a dictionary of values in the current task, where the key is the code in the lookup table. - -For example: -``` "Documents" : - { - "UVACompliance_PRCApproval": { - "name": "Cancer Center's PRC Approval Form", - "category1": "UVA Compliance", - "category2": "PRC Approval", - "category3": "", - "Who Uploads?": "CRC", - "required": True, - "Id": 6 - "count": 0 - }, - 24: { ... - } -``` -""" - def do_task_validate_only(self, task, study_id, *args, **kwargs): - """For validation only, pretend no results come back from pb""" - pb_docs = [] - self.add_data_to_task(task, self.get_documents(study_id, pb_docs)) - - def do_task(self, task, study_id, *args, **kwargs): - """Takes data from the protocol builder, and merges it with data from the IRB Pro Categories - spreadsheet to return pertinent details about the required documents.""" - pb_docs = self.pb.get_required_docs(study_id, as_objects=True) - self.add_data_to_task(task, self.get_documents(study_id, pb_docs)) - - def get_documents(self, study_id, pb_docs): - """Takes data from the protocol builder, and merges it with data from the IRB Pro Categories spreadsheet to return - pertinent details about the required documents.""" - - doc_dictionary = FileService.get_file_reference_dictionary() - required_docs = {} - for code, required_doc in doc_dictionary.items(): - try: - pb_data = next((item for item in pb_docs if int(item.AUXDOCID) == int(required_doc['Id'])), None) - except: - pb_data = None - required_doc['count'] = self.get_count(study_id, code) - required_doc['required'] = False - if pb_data: - required_doc['required'] = True - required_docs[code] = required_doc - return required_docs - - def get_count(self, study_id, irb_doc_code): - """Returns the total number of documents that have been uploaded that match - the given document id. """ - return(len(FileService.get_files(study_id=study_id, irb_doc_code=irb_doc_code))) - - # Verifies that information is available for this script task to function - # correctly. Returns a list of validation errors. - @staticmethod - def validate(): - errors = [] - try: - dict = FileService.get_file_reference_dictionary() - except ApiError as ae: - errors.append(ScriptValidationError.from_api_error(ae)) - return errors diff --git a/crc/scripts/script.py b/crc/scripts/script.py index 69c505a3..f7bba546 100644 --- a/crc/scripts/script.py +++ b/crc/scripts/script.py @@ -24,13 +24,6 @@ class Script(object): "does must provide a validate_only option that mimics the do_task, " + "but does not make external calls or database updates." ) - def validate(self): - """Override this method to perform an early check that the script has access to - everything it needs to properly process requests. - Should return an array of ScriptValidationErrors. - """ - return [] - @staticmethod def get_all_subclasses(): return Script._get_all_subclasses(Script) diff --git a/crc/scripts/study_info.py b/crc/scripts/study_info.py index b4e7645c..040beb32 100644 --- a/crc/scripts/study_info.py +++ b/crc/scripts/study_info.py @@ -4,7 +4,8 @@ from crc import session, app from crc.api.common import ApiError from crc.models.study import StudyModel, StudySchema from crc.models.workflow import WorkflowStatus -from crc.scripts.script import Script +from crc.scripts.script import Script, ScriptValidationError +from crc.services.file_service import FileService from crc.services.ldap_service import LdapService from crc.services.protocol_builder import ProtocolBuilderService from crc.services.study_service import StudyService @@ -15,21 +16,24 @@ class StudyInfo(Script): """Just your basic class that can pull in data from a few api endpoints and do a basic task.""" pb = ProtocolBuilderService() - type_options = ['info', 'investigators', 'details', 'approvals', 'documents_status', 'protocol'] + type_options = ['info', 'investigators', 'details', 'approvals', 'documents', 'protocol'] def get_description(self): - return """StudyInfo [TYPE], where TYPE is one of 'info', 'investigators', or 'details' + return """StudyInfo [TYPE], where TYPE is one of 'info', 'investigators', or 'details', 'approvals', + 'documents' or 'protocol'. Adds details about the current study to the Task Data. The type of information required should be - provided as an argument. Basic returns the basic information such as the title. Investigators provides - detailed information about each investigator in th study. Details provides a large number - of details about the study, as gathered within the protocol builder, and 'required_docs', - lists all the documents the Protocol Builder has determined will be required as a part of - this study. + provided as an argument. 'info' returns the basic information such as the title. 'Investigators' provides + detailed information about each investigator in th study. 'Details' provides a large number + of details about the study, as gathered within the protocol builder, and 'documents', + lists all the documents that can be a part of the study, with documents from Protocol Builder + marked as required, and details about any files that were uploaded' . """ def do_task_validate_only(self, task, study_id, *args, **kwargs): """For validation only, pretend no results come back from pb""" self.check_args(args) + # Assure the reference file exists (a bit hacky, but we want to raise this error early, and cleanly.) + FileService.get_file_reference_dictionary() data = { "study":{ "info": { @@ -57,7 +61,8 @@ class StudyInfo(Script): "status": WorkflowStatus.not_started.value, "workflow_spec_id": "irb_api_details", }, - "documents_status": [ + "documents": { + "AD_CoCApp": { 'category1': 'Ancillary Document', 'category2': 'CoC Application', @@ -75,7 +80,7 @@ class StudyInfo(Script): 'workflow_spec_id': 'irb_api_details', 'status': 'complete', } - ], + }, 'protocol': { id: 0, } @@ -102,7 +107,7 @@ class StudyInfo(Script): self.add_data_to_task(task, {cmd: self.pb.get_study_details(study_id)}) if cmd == 'approvals': self.add_data_to_task(task, {cmd: StudyService().get_approvals(study_id)}) - if cmd == 'documents_status': + if cmd == 'documents': self.add_data_to_task(task, {cmd: StudyService().get_documents_status(study_id)}) if cmd == 'protocol': self.add_data_to_task(task, {cmd: StudyService().get_protocol(study_id)}) diff --git a/crc/services/file_service.py b/crc/services/file_service.py index 67a481cd..7698b5a2 100644 --- a/crc/services/file_service.py +++ b/crc/services/file_service.py @@ -56,7 +56,7 @@ class FileService(object): data_model = FileService.get_reference_file_data(FileService.IRB_PRO_CATEGORIES_FILE) xls = ExcelFile(data_model.data) df = xls.parse(xls.sheet_names[0]) - return code in df['Code'].values + return code in df['code'].values @staticmethod def get_file_reference_dictionary(): @@ -65,11 +65,11 @@ class FileService(object): data_model = FileService.get_reference_file_data(FileService.IRB_PRO_CATEGORIES_FILE) xls = ExcelFile(data_model.data) df = xls.parse(xls.sheet_names[0]) - df['Id'] = df['Id'].fillna(0) - df = df.astype({'Id': 'Int64'}) + df['id'] = df['id'].fillna(0) + df = df.astype({'id': 'Int64'}) df = df.fillna('') df = df.applymap(str) - df = df.set_index('Code') + df = df.set_index('code') # IF we need to convert the column names to something more sensible. # df.columns = [snakeCase(x) for x in df.columns] return json.loads(df.to_json(orient='index')) @@ -80,12 +80,13 @@ class FileService(object): # all_dict = df.set_index('Id').to_dict('index') @staticmethod - def add_task_file(study_id, workflow_id, task_id, name, content_type, binary_data, + def add_task_file(study_id, workflow_id, workflow_spec_id, task_id, name, content_type, binary_data, irb_doc_code=None): """Create a new file and associate it with an executing task within a workflow.""" file_model = FileModel( study_id=study_id, workflow_id=workflow_id, + workflow_spec_id=workflow_spec_id, task_id=task_id, name=name, irb_doc_code=irb_doc_code diff --git a/crc/services/protocol_builder.py b/crc/services/protocol_builder.py index ad6b5ebc..118d871a 100644 --- a/crc/services/protocol_builder.py +++ b/crc/services/protocol_builder.py @@ -41,14 +41,11 @@ class ProtocolBuilderService(object): (response.status_code, response.text)) @staticmethod - def get_required_docs(study_id, as_objects=False) -> Optional[List[ProtocolBuilderRequiredDocument]]: + def get_required_docs(study_id) -> Optional[List[ProtocolBuilderRequiredDocument]]: ProtocolBuilderService.check_args(study_id) response = requests.get(ProtocolBuilderService.REQUIRED_DOCS_URL % study_id) if response.ok and response.text: - if as_objects: - return ProtocolBuilderRequiredDocumentSchema(many=True).loads(response.text) - else: - return json.loads(response.text) + return json.loads(response.text) else: raise ApiError("protocol_builder_error", "Received an invalid response from the protocol builder (status %s): %s" % diff --git a/crc/services/study_service.py b/crc/services/study_service.py index a53617ad..27a09520 100644 --- a/crc/services/study_service.py +++ b/crc/services/study_service.py @@ -11,7 +11,6 @@ from crc.models.stats import WorkflowStatsModel, TaskEventModel from crc.models.study import StudyModel, Study, Category, WorkflowMetadata from crc.models.workflow import WorkflowSpecCategoryModel, WorkflowModel, WorkflowSpecModel, WorkflowState, \ WorkflowStatus -from crc.scripts.documents import Documents from crc.services.file_service import FileService from crc.services.protocol_builder import ProtocolBuilderService from crc.services.workflow_processor import WorkflowProcessor @@ -39,6 +38,9 @@ class StudyService(object): study = Study.from_model(study_model) study.categories = StudyService.get_categories() workflow_metas = StudyService.__get_workflow_metas(study_id) + + # Calling this line repeatedly is very very slow. It creates the + # master spec and runs it. status = StudyService.__get_study_status(study_model) study.warnings = StudyService.__update_status_of_workflow_meta(workflow_metas, status) @@ -94,65 +96,52 @@ class StudyService(object): @staticmethod def get_documents_status(study_id): - """Returns a list of required documents and related workflow status.""" - doc_service = Documents() + """Returns a list of documents related to the study, if they are required, and any file information + that is available..""" # Get PB required docs - pb_docs = ProtocolBuilderService.get_required_docs(study_id=study_id, as_objects=True) + pb_docs = ProtocolBuilderService.get_required_docs(study_id=study_id) - # Get required docs for study - study_docs = doc_service.get_documents(study_id=study_id, pb_docs=pb_docs) - - # Container for results - documents = [] - - # Study > Categories > Workflows - study = StudyService.get_study(study_id) - - # For each required doc, get file(s) - for code, doc in study_docs.items(): - if not doc['required']: - continue + # Loop through all known document types, get the counts for those files, and use pb_docs to mark those required. + doc_dictionary = FileService.get_file_reference_dictionary() + documents = {} + for code, doc in doc_dictionary.items(): + pb_data = next((item for item in pb_docs if int(item['AUXDOCID']) == int(doc['id'])), None) + doc['required'] = False + if pb_data: + doc['required'] = True doc['study_id'] = study_id doc['code'] = code - # Make a display name out of categories if none exists - if 'Name' in doc and len(doc['Name']) > 0: - doc['display_name'] = doc['Name'] - else: - name_list = [] - for cat_key in ['category1', 'category2', 'category3']: - if doc[cat_key] not in ['', 'NULL']: - name_list.append(doc[cat_key]) - doc['display_name'] = ' '.join(name_list) - - # print('code', code) - # - # # Find which workflows have the associated irb_doc_code??? - # wf = db.session.query(WorkflowModel)\ - # .filter_by(study_id=study_id)\ - # .filter(WorkflowModel.bpmn_workflow_json.contains(code))\ - # .first() - # print('wf', wf) + # Make a display name out of categories + name_list = [] + for cat_key in ['category1', 'category2', 'category3']: + if doc[cat_key] not in ['', 'NULL']: + name_list.append(doc[cat_key]) + doc['display_name'] = ' / '.join(name_list) # For each file, get associated workflow status doc_files = FileService.get_files(study_id=study_id, irb_doc_code=code) + doc['count'] = len(doc_files) + doc['files'] = [] for file in doc_files: - doc['file_id'] = file.id - doc['task_id'] = file.task_id - doc['workflow_id'] = file.workflow_id - doc['workflow_spec_id'] = file.workflow_spec_id + doc['files'].append({'file_id': file.id, + 'task_id': file.task_id, + 'workflow_id': file.workflow_id, + 'workflow_spec_id': file.workflow_spec_id}) - if doc['status'] is None: + # update the document status to match the status of the workflow it is in. + if not 'status' in doc or doc['status'] is None: workflow: WorkflowModel = session.query(WorkflowModel).filter_by(id=file.workflow_id).first() doc['status'] = workflow.status.value - documents.append(doc) + documents[code] = doc return documents + @staticmethod def get_protocol(study_id): """Returns the study protocol, if it has been uploaded.""" diff --git a/crc/static/bpmn/core_info/SponsorList.xls b/crc/static/bpmn/core_info/SponsorList.xls index 7bb3882c8066b02fb3d3e784516ad2a97f1e6d85..30bb6c60982bc128ca28c65845dc619c1eaf713b 100644 GIT binary patch literal 109056 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≷43}NyK~XMD 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

E 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 diff --git a/crc/static/bpmn/ids_full_submission/investigators_brochure.dmn b/crc/static/bpmn/ids_full_submission/investigators_brochure.dmn index c581f066..28221755 100644 --- a/crc/static/bpmn/ids_full_submission/investigators_brochure.dmn +++ b/crc/static/bpmn/ids_full_submission/investigators_brochure.dmn @@ -7,7 +7,7 @@ - Documents.DrugDevDoc_InvestBrochure.count + StudyInfo.documents.DrugDevDoc_InvestBrochure.count diff --git a/crc/static/bpmn/ids_full_submission/ivrs_iwrs_ixrs.dmn b/crc/static/bpmn/ids_full_submission/ivrs_iwrs_ixrs.dmn index 39f0d20a..3604d8c1 100644 --- a/crc/static/bpmn/ids_full_submission/ivrs_iwrs_ixrs.dmn +++ b/crc/static/bpmn/ids_full_submission/ivrs_iwrs_ixrs.dmn @@ -7,7 +7,7 @@ - Documents.DrugDevDoc_IVRSIWRSIXRSMan.count + StudyInfo.documents.DrugDevDoc_IVRSIWRSIXRSMan.count diff --git a/crc/static/bpmn/ids_full_submission/pharmacy_manual.dmn b/crc/static/bpmn/ids_full_submission/pharmacy_manual.dmn index 67936df3..03fbe6b5 100644 --- a/crc/static/bpmn/ids_full_submission/pharmacy_manual.dmn +++ b/crc/static/bpmn/ids_full_submission/pharmacy_manual.dmn @@ -7,7 +7,7 @@ - Documents["DrugDevDoc_PharmManual"]["count"] + StudyInfo.documents.DrugDevDoc_PharmManual.count diff --git a/crc/static/bpmn/top_level_workflow/data_security_plan.dmn b/crc/static/bpmn/top_level_workflow/data_security_plan.dmn index 249b8cbd..2dd0bad9 100644 --- a/crc/static/bpmn/top_level_workflow/data_security_plan.dmn +++ b/crc/static/bpmn/top_level_workflow/data_security_plan.dmn @@ -7,7 +7,7 @@ - Documents['Study_DataSecurityPlan']['required'] + StudyInfo.documents.Study_DataSecurityPlan.required diff --git a/crc/static/bpmn/top_level_workflow/enter_core_info.dmn b/crc/static/bpmn/top_level_workflow/enter_core_info.dmn index 7a204622..570b4a54 100644 --- a/crc/static/bpmn/top_level_workflow/enter_core_info.dmn +++ b/crc/static/bpmn/top_level_workflow/enter_core_info.dmn @@ -7,7 +7,7 @@ - Documents['UVACompl_PRCAppr']['required'] + StudyInfo.documents.UVACompl_PRCAppr.required diff --git a/crc/static/bpmn/top_level_workflow/ids_full_submission.dmn b/crc/static/bpmn/top_level_workflow/ids_full_submission.dmn index 0aee7a81..72be2464 100644 --- a/crc/static/bpmn/top_level_workflow/ids_full_submission.dmn +++ b/crc/static/bpmn/top_level_workflow/ids_full_submission.dmn @@ -7,7 +7,7 @@ - Documents.UVACompl_IDSWaiverApp.required + StudyInfo.documents.UVACompl_IDSWaiverApp.required diff --git a/crc/static/bpmn/top_level_workflow/ids_waiver.dmn b/crc/static/bpmn/top_level_workflow/ids_waiver.dmn index 2a22a68d..515467d7 100644 --- a/crc/static/bpmn/top_level_workflow/ids_waiver.dmn +++ b/crc/static/bpmn/top_level_workflow/ids_waiver.dmn @@ -7,7 +7,7 @@ - Documents.UVACompl_IDSWaiverApp.required + StudyInfo.documents.UVACompl_IDSWaiverApp.required diff --git a/crc/static/bpmn/top_level_workflow/sponsor_funding_source.dmn b/crc/static/bpmn/top_level_workflow/sponsor_funding_source.dmn index 522f41c5..06f97675 100644 --- a/crc/static/bpmn/top_level_workflow/sponsor_funding_source.dmn +++ b/crc/static/bpmn/top_level_workflow/sponsor_funding_source.dmn @@ -7,7 +7,7 @@ - Documents['AD_LabManual']['required'] + StudyInfo.documents.AD_LabManual.required diff --git a/crc/static/bpmn/top_level_workflow/top_level_workflow.bpmn b/crc/static/bpmn/top_level_workflow/top_level_workflow.bpmn index b5414e48..f19e069d 100644 --- a/crc/static/bpmn/top_level_workflow/top_level_workflow.bpmn +++ b/crc/static/bpmn/top_level_workflow/top_level_workflow.bpmn @@ -11,7 +11,7 @@ SequenceFlow_1ees8ka SequenceFlow_17ct47v - Documents + StudyInfo documents Flow_1m8285h @@ -109,159 +109,159 @@ - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + diff --git a/crc/static/reference/irb_documents.xlsx b/crc/static/reference/irb_documents.xlsx index 591b6ff20e7dd702195b1e035e44770bc5d77104..0fcc42f0ce46e4292f4128771b878ea92a24327f 100644 GIT binary patch delta 6834 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 - Documents['Study_DataSecurityPlan']['required'] + StudyInfo.documents.Study_DataSecurityPlan.required diff --git a/tests/data/top_level_workflow/enter_core_info.dmn b/tests/data/top_level_workflow/enter_core_info.dmn index d4345af3..30e2aa06 100644 --- a/tests/data/top_level_workflow/enter_core_info.dmn +++ b/tests/data/top_level_workflow/enter_core_info.dmn @@ -7,7 +7,7 @@ - Documents['UVACompl_PRCAppr']['required'] + StudyInfo.documents.UVACompl_PRCAppr.required diff --git a/tests/data/top_level_workflow/sponsor_funding_source.dmn b/tests/data/top_level_workflow/sponsor_funding_source.dmn index df7baf56..20ed4e14 100644 --- a/tests/data/top_level_workflow/sponsor_funding_source.dmn +++ b/tests/data/top_level_workflow/sponsor_funding_source.dmn @@ -7,7 +7,7 @@ - Documents['AD_LabManual']['required'] + StudyInfo.documents.AD_LabManual.required diff --git a/tests/data/top_level_workflow/top_level_workflow.bpmn b/tests/data/top_level_workflow/top_level_workflow.bpmn index ea8f0c84..cc6e1c57 100644 --- a/tests/data/top_level_workflow/top_level_workflow.bpmn +++ b/tests/data/top_level_workflow/top_level_workflow.bpmn @@ -11,7 +11,7 @@ SequenceFlow_1ees8ka SequenceFlow_17ct47v - Documents + StudyInfo documents Flow_1m8285h diff --git a/tests/test_required_docs_script.py b/tests/test_required_docs_script.py deleted file mode 100644 index 5601e98d..00000000 --- a/tests/test_required_docs_script.py +++ /dev/null @@ -1,82 +0,0 @@ -import json -from unittest.mock import patch - -from crc import db -from crc.models.file import FileDataModel, FileModel -from crc.models.protocol_builder import ProtocolBuilderRequiredDocumentSchema -from crc.scripts.documents import Documents -from crc.services.file_service import FileService -from tests.base_test import BaseTest - - -class TestRequiredDocsScript(BaseTest): - test_uid = "dhf8r" - test_study_id = 1 - - """ - 1. get a list of only the required documents for the study. - 2. For this study, is this document required accroding to the protocol builder? - 3. For ALL uploaded documents, what the total number of files that were uploaded? per instance of this document naming - convention that we are implementing for the IRB. - """ - - def test_validate_returns_error_if_reference_files_do_not_exist(self): - file_model = db.session.query(FileModel). \ - filter(FileModel.is_reference == True). \ - filter(FileModel.name == FileService.IRB_PRO_CATEGORIES_FILE).first() - if file_model: - db.session.query(FileDataModel).filter(FileDataModel.file_model_id == file_model.id).delete() - db.session.query(FileModel).filter(FileModel.id == file_model.id).delete() - db.session.commit() - db.session.flush() - errors = Documents.validate() - self.assertTrue(len(errors) > 0) - self.assertEqual("file_not_found", errors[0].code) - - def test_no_validation_error_when_correct_file_exists(self): - self.create_reference_document() - errors = Documents.validate() - self.assertTrue(len(errors) == 0) - - def test_load_lookup_data(self): - self.create_reference_document() - dict = FileService.get_file_reference_dictionary() - self.assertIsNotNone(dict) - - def get_required_docs(self): - string_data = self.protocol_builder_response('required_docs.json') - return ProtocolBuilderRequiredDocumentSchema(many=True).loads(string_data) - - def test_get_required_docs(self): - pb_docs = self.get_required_docs() - self.create_reference_document() - script = Documents() - documents = script.get_documents(12, pb_docs) # Mocked out, any random study id works. - self.assertIsNotNone(documents) - self.assertTrue("UVACompl_PRCAppr" in documents.keys()) - self.assertEqual("Cancer Center's PRC Approval Form", documents["UVACompl_PRCAppr"]['Name']) - self.assertEqual("UVA Compliance", documents["UVACompl_PRCAppr"]['category1']) - self.assertEqual("PRC Approval", documents["UVACompl_PRCAppr"]['category2']) - self.assertEqual("CRC", documents["UVACompl_PRCAppr"]['Who Uploads?']) - self.assertEqual(0, documents["UVACompl_PRCAppr"]['count']) - self.assertEqual(True, documents["UVACompl_PRCAppr"]['required']) - self.assertEqual('6', documents["UVACompl_PRCAppr"]['Id']) - - def test_get_required_docs_has_correct_count_when_a_file_exists(self): - self.load_example_data() - pb_docs = self.get_required_docs() - # Make sure the xslt reference document is in place. - self.create_reference_document() - script = Documents() - - # Add a document to the study with the correct code. - workflow = self.create_workflow('docx') - irb_code = "UVACompl_PRCAppr" # The first file referenced in pb required docs. - FileService.add_task_file(study_id=workflow.study_id, workflow_id=workflow.id, - task_id="fakingthisout", - name="anything.png", content_type="text", - binary_data=b'1234', irb_doc_code=irb_code) - - docs = script.get_documents(workflow.study_id, pb_docs) - self.assertIsNotNone(docs) - self.assertEqual(1, docs["UVACompl_PRCAppr"]['count']) diff --git a/tests/test_study_details_documents.py b/tests/test_study_details_documents.py new file mode 100644 index 00000000..e85dc87d --- /dev/null +++ b/tests/test_study_details_documents.py @@ -0,0 +1,67 @@ +import json +from unittest.mock import patch + +from crc import db, session +from crc.api.common import ApiError +from crc.models.file import FileDataModel, FileModel +from crc.models.protocol_builder import ProtocolBuilderRequiredDocumentSchema +from crc.models.study import StudyModel +from crc.scripts.study_info import StudyInfo +from crc.services.file_service import FileService +from crc.services.study_service import StudyService +from crc.services.workflow_processor import WorkflowProcessor +from tests.base_test import BaseTest + + +class TestStudyDetailsDocumentsScript(BaseTest): + test_uid = "dhf8r" + test_study_id = 1 + + """ + 1. get a list of all documents related to the study. + 2. For this study, is this document required accroding to the protocol builder? + 3. For ALL uploaded documents, what the total number of files that were uploaded? per instance of this document naming + convention that we are implementing for the IRB. + """ + + def test_validate_returns_error_if_reference_files_do_not_exist(self): + self.load_example_data() + self.create_reference_document() + study = session.query(StudyModel).first() + workflow_spec_model = self.load_test_spec("two_forms") + workflow_model = StudyService._create_workflow_model(study, workflow_spec_model) + processor = WorkflowProcessor(workflow_model) + task = processor.next_task() + + # Remove the reference file. + file_model = db.session.query(FileModel). \ + filter(FileModel.is_reference == True). \ + filter(FileModel.name == FileService.IRB_PRO_CATEGORIES_FILE).first() + if file_model: + db.session.query(FileDataModel).filter(FileDataModel.file_model_id == file_model.id).delete() + db.session.query(FileModel).filter(FileModel.id == file_model.id).delete() + db.session.commit() + db.session.flush() + + with self.assertRaises(ApiError): + StudyInfo().do_task_validate_only(task, study.id, "documents") + + def test_no_validation_error_when_correct_file_exists(self): + self.load_example_data() + self.create_reference_document() + study = session.query(StudyModel).first() + workflow_spec_model = self.load_test_spec("two_forms") + workflow_model = StudyService._create_workflow_model(study, workflow_spec_model) + processor = WorkflowProcessor(workflow_model) + task = processor.next_task() + StudyInfo().do_task_validate_only(task, study.id, "documents") + + def test_load_lookup_data(self): + self.create_reference_document() + dict = FileService.get_file_reference_dictionary() + self.assertIsNotNone(dict) + + def get_required_docs(self): + string_data = self.protocol_builder_response('required_docs.json') + return ProtocolBuilderRequiredDocumentSchema(many=True).loads(string_data) + diff --git a/tests/test_study_service.py b/tests/test_study_service.py index f411b53a..fae33db1 100644 --- a/tests/test_study_service.py +++ b/tests/test_study_service.py @@ -7,6 +7,7 @@ from crc.models.study import StudyModel from crc.models.user import UserModel from crc.models.workflow import WorkflowModel, WorkflowStatus, \ WorkflowSpecCategoryModel +from crc.services.file_service import FileService from crc.services.study_service import StudyService from crc.services.workflow_processor import WorkflowProcessor from example_data import ExampleDataLoader @@ -16,22 +17,28 @@ from tests.base_test import BaseTest class TestStudyService(BaseTest): """Largely tested via the test_study_api, and time is tight, but adding new tests here.""" - @patch('crc.services.protocol_builder.ProtocolBuilderService.get_required_docs') # mock_docs - def test_total_tasks_updated(self, mock_docs): - """Assure that as a users progress is available when getting a list of studies for that user.""" + def create_user_with_study_and_workflow(self): - docs_response = self.protocol_builder_response('required_docs.json') - mock_docs.return_value = json.loads(docs_response) + # clear it all out. + from example_data import ExampleDataLoader + ExampleDataLoader.clean_db() # Assure some basic models are in place, This is a damn mess. Our database models need an overhaul to make # this easier - better relationship modeling is now critical. self.load_test_spec("top_level_workflow", master_spec=True) - user = UserModel(uid="dhf8r", email_address="whatever@stuff.com", display_name="Stayathome Smellalots") - db.session.add(user) - db.session.commit() + user = db.session.query(UserModel).filter(UserModel.uid == "dhf8r").first() + if not user: + user = UserModel(uid="dhf8r", email_address="whatever@stuff.com", display_name="Stayathome Smellalots") + db.session.add(user) + db.session.commit() + else: + for study in db.session.query(StudyModel).all(): + StudyService().delete_study(study.id) + study = StudyModel(title="My title", protocol_builder_status=ProtocolBuilderStatus.ACTIVE, user_uid=user.uid) + db.session.add(study) cat = WorkflowSpecCategoryModel(name="approvals", display_name="Approvals", display_order=0) - db.session.add_all([study, cat]) + db.session.add(cat) db.session.commit() self.assertIsNotNone(cat.id) @@ -43,6 +50,16 @@ class TestStudyService(BaseTest): db.session.commit() # Assure there is a master specification, one standard spec, and lookup tables. ExampleDataLoader().load_reference_documents() + return user + + @patch('crc.services.protocol_builder.ProtocolBuilderService.get_required_docs') # mock_docs + def test_total_tasks_updated(self, mock_docs): + """Assure that as a users progress is available when getting a list of studies for that user.""" + + docs_response = self.protocol_builder_response('required_docs.json') + mock_docs.return_value = json.loads(docs_response) + + user = self.create_user_with_study_and_workflow() # The load example data script should set us up a user and at least one study, one category, and one workflow. studies = StudyService.get_studies_for_user(user) @@ -83,3 +100,63 @@ class TestStudyService(BaseTest): approvals = StudyService.get_approvals(studies[0].id) self.assertGreater(len(approvals), 0) self.assertIsNotNone(approvals[0]['display_order']) + + @patch('crc.services.protocol_builder.ProtocolBuilderService.get_required_docs') # mock_docs + def test_get_required_docs(self, mock_docs): + + # mock out the protocol builder + docs_response = self.protocol_builder_response('required_docs.json') + mock_docs.return_value = json.loads(docs_response) + + user = self.create_user_with_study_and_workflow() + studies = StudyService.get_studies_for_user(user) + study = studies[0] + + + study_service = StudyService() + documents = study_service.get_documents_status(study_id=study.id) # Mocked out, any random study id works. + self.assertIsNotNone(documents) + self.assertTrue("UVACompl_PRCAppr" in documents.keys()) + self.assertEqual("UVACompl_PRCAppr", documents["UVACompl_PRCAppr"]['code']) + self.assertEqual("UVA Compliance / PRC Approval", documents["UVACompl_PRCAppr"]['display_name']) + self.assertEqual("Cancer Center's PRC Approval Form", documents["UVACompl_PRCAppr"]['description']) + self.assertEqual("UVA Compliance", documents["UVACompl_PRCAppr"]['category1']) + self.assertEqual("PRC Approval", documents["UVACompl_PRCAppr"]['category2']) + self.assertEqual("", documents["UVACompl_PRCAppr"]['category3']) + self.assertEqual("CRC", documents["UVACompl_PRCAppr"]['Who Uploads?']) + self.assertEqual(0, documents["UVACompl_PRCAppr"]['count']) + self.assertEqual(True, documents["UVACompl_PRCAppr"]['required']) + self.assertEqual('6', documents["UVACompl_PRCAppr"]['id']) + + @patch('crc.services.protocol_builder.ProtocolBuilderService.get_required_docs') # mock_docs + def test_get_documents_has_file_details(self, mock_docs): + + # mock out the protocol builder + docs_response = self.protocol_builder_response('required_docs.json') + mock_docs.return_value = json.loads(docs_response) + + user = self.create_user_with_study_and_workflow() + + # Add a document to the study with the correct code. + workflow = self.create_workflow('docx') + irb_code = "UVACompl_PRCAppr" # The first file referenced in pb required docs. + FileService.add_task_file(study_id=workflow.study_id, workflow_id=workflow.id, + workflow_spec_id=workflow.workflow_spec_id, + task_id="fakingthisout", + name="anything.png", content_type="text", + binary_data=b'1234', irb_doc_code=irb_code) + + docs = StudyService().get_documents_status(workflow.study_id) + self.assertIsNotNone(docs) + self.assertEqual("not_started", docs["UVACompl_PRCAppr"]['status']) + self.assertEqual(1, docs["UVACompl_PRCAppr"]['count']) + self.assertIsNotNone(docs["UVACompl_PRCAppr"]['files'][0]) + self.assertIsNotNone(docs["UVACompl_PRCAppr"]['files'][0]['file_id']) + self.assertEquals(workflow.id, docs["UVACompl_PRCAppr"]['files'][0]['workflow_id']) + self.assertEquals(workflow.workflow_spec_id, docs["UVACompl_PRCAppr"]['files'][0]['workflow_spec_id']) + + # 'file_id': 123, + # 'task_id': 'abcdef14236890', + # 'workflow_id': 456, + # 'workflow_spec_id': 'irb_api_details', + # 'status': 'complete',