Opened 8 years ago
Closed 8 years ago
#891 closed task (fixed)
Report delivery system
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | critical | Milestone: | Reggie v4.6 |
Component: | net.sf.basedb.reggie | Keywords: | |
Cc: |
Description (last modified by )
We should implement a system for delivery of reports to representatives from the clinics that are part of SCAN-B.
The idea is to create a separate web GUI with only this functionality. The YellowLabel tracking wizard (#861) can be used as a starting point, but details need to be worked out.
There are a few important things:
- The GUI need a separate login and should be registered as a separate client application. This will make it possible to create user accounts that are only allowed to access this GUI and not the regular web client.
- Users should only be allowed to access information about items that belong to their own site. The access control should use the BASE permission system. This means that the "SCAN-B" project can't be used and that we need a way to
automaticallyshare items to the correct sites.When http://base.thep.lu.se/ticket/2014 is implemented in the BASE core we can implement an extension for this(see next bullet).
- Before a report is delivered it must be approved by SCAN-B staff. This is more or less the same as the "Register as completed" functionality in the YellowLabel wizard. Instead of downloading a ZIP file a copy of the reports (with personal information included) should be created and stored in a separate location in the BASE file system. This wizard will also make sure that the information is correctly shared to the sites.
Change History (26)
comment:1 by , 8 years ago
Milestone: | Reggie v4.x → Reggie v4.6 |
---|---|
Priority: | major → critical |
Status: | new → assigned |
comment:2 by , 8 years ago
comment:3 by , 8 years ago
comment:4 by , 8 years ago
comment:5 by , 8 years ago
comment:6 by , 8 years ago
(In [3997]) References #891: Report delivery system
Implemented login functionality. It's still very basic and the only action is to display a message above the login form.
Error handling need a lot of (usability) improvements but the basic permission checking seems to work as expected. Eg. it is not possible for users without permission to login and YubiKey seems to be handled correctly.
comment:7 by , 8 years ago
comment:8 by , 8 years ago
(In [4000]) References #891: Report delivery system
First version of a page listing reports. It is currently a mix of hard-coded information and information loaded from the database. Almost no proper error handling. An "Administrator" account is needed until proper permissions has been figured out for the devlivery user accounts.
comment:9 by , 8 years ago
(In [4001]) References #891: Report delivery system
Starting to lock down permissions. A typical delivery user account should have the following membership:
- Guest (role)
- SCAN-B Delivery (group)
- "Site" (group; one group per site)
The following annotations have been shared to the "SCAN-B Delivery" group with READ permission:
- AllFirstNames
- ArrivalDate
- FamilyName
- PersonalNumber
- YellowLabel
Biosources, Samples, files, and other items need to be shared to the "Site group" with READ permission. This has been done manually so far, but we need a tool for doing this.
comment:10 by , 8 years ago
comment:11 by , 8 years ago
comment:12 by , 8 years ago
comment:13 by , 8 years ago
comment:14 by , 8 years ago
comment:15 by , 8 years ago
comment:16 by , 8 years ago
comment:17 by , 8 years ago
(In [4010]) References #891: Report delivery system
Added error handling to JSP files to avoid being redirected into the BASE web client error handling (which is global). Also cleaned up the code on the JSP pages so that they are unlikely to fail. Sessions are not created until a user is logging in and the session is closed after logout.
comment:18 by , 8 years ago
(In [4028]) References #891: Report delivery system
Started to implement a "Publish for delivery" function in the YellowLabel tracking wizard.
The wizard asks for a completed date (required) and makes a copy of the current pilot report in a subdirectory to /home/Delivery
(for example, /home/Delivery/77/7700567.1/pilotreport.pdf
). Personal information about the patient is included in the copy.
There are some remaining features that needs to be implemented.
- The copy should be linked to the specimen item.
- The copy should be shared to the group representing the site.
comment:19 by , 8 years ago
comment:20 by , 8 years ago
(In [4034]) References #891: Report delivery system
Added functionality for setting permissions on items that site accounts need to access.
- The "Pathology referral form registration" wizard will share the specimen/case/patient with read permission to the group corresponding to a site when the YellowLabel annotation is set. If the YellowLabel is removed later the sharing on the specimen is removed.
- The "Yellow label tracking and reporting" wizard will share the PDF file and directories with read permission to the site group and SET_PERMISSION permission to the PatientCurator group.
- To be able to set permissions the
SetPermissionsForDeliveryPlugin
is requried. In normal use only the owner or an adminstrator are allowed to change access permissions. With the help of the plug-in it is possible to give PatientCurator accounts elevated permissions.
comment:21 by , 8 years ago
comment:22 by , 8 years ago
comment:23 by , 8 years ago
comment:24 by , 8 years ago
(In [4043]) References #891: Report delivery system
Re-enabling code that was commented out for debugging reasons.
- Set
CompletedDate
when publishing reports - Activated the 'Last 30 days' filter
Also removed the help icon on the login page.
This should complete major features for the report delivery system. To summarize there are three main points:
- The "Pathology referral form registration" wizard will share Patient, Case and Specimen to the "Site group" the specimen belongs to. This will cause the specimen to show up in the delivery client in the "arbete pågår" section.
- The "Yellow label tracking and reporting" wizard has a new "Publish for delivery" function. This will copy the current pilot report to a directory inside
/home/Delivery
. The copy will include personal information about the patient. The copy will only be shared to the "Site group" and to the PatientCurator group. This will cause the report to show up in the delivery client in the "nya rapporter" section. If it is not possible to create a report for some reason (eg. not enough RNA, sequencing failure, etc.), the specimen may be marked as completed. This will cause the delivery client to display a message to contact SCAN-B for more information.
- The delivery client is a special interface designed for delivering reports to the sites. Users from each site need an account that is a member of the
SCAN-B Delivery
group and a site-specific group. YubiKey is required for logging in. When a user is downloading a report using the delivery client a DOWNLOAD entry is logged in the history log. This will also cause the report to moved away from the "nya rapporter" section.
comment:25 by , 8 years ago
Description: | modified (diff) |
---|
comment:26 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [3986]) References #891: Report delivery system
Added two new groups "SCAN-B Lab" and "SCAN-B Delivery" and one new client "SCAN-B Delivery".
The installation wizard will set this up so that only members of the "SCAN-B Delivery" group can use the "SCAN-B Delivery" client and only members of the "SCAN-B Lab" group can use the regular web client.
The "Reggie" client that was created in [3974] is still shared to the "SCAN-B" project only which makes sure that Reggie can't be used without activating the correct project.
An update notice must be created with instructions to the server administrator to put user accounts into the correct groups.