First commit. Taken from open source branch of internal sample-tracking application.

This commit is contained in:
Robert Schiemann
2023-03-08 10:11:42 -07:00
parent fa491f63de
commit fe0946c53a
220 changed files with 15808 additions and 0 deletions

62
docs/console.md Normal file
View File

@@ -0,0 +1,62 @@
# eReq Admin Console
Most of the administrative tasks for eReq are performed from the admin console. The admin console can be accessed by
clicking the link that says `Login` in the top right hand corner of the main page. If you are logged in this link will
change from `Login` to `Console`.
## Kit Shipment Form
This link will take you to the main kit shipment form page that users at sites will have access to.
## List Kits
The list kits page allows you to list and filter all kits that have been submitted through the kit shipment form. It
also allows you to export all kits or the filtered kits with all associated metadata to a CSV.
From this page you can filter on complete, incomplete, or archived kits. Complete kits are kit forms that were
successfully submitted by a user. Incomplete kits are kit forms that were shared but have not yet been submitted.
Archived kits are kits that were archived by an administrator (usually due to accidental or duplicate submission).
Each entry in the list of kits has a link for `View Kit`, `Edit Kit`, and `History`. `View Kit` will show you a
read-only version of the form that was submitted for that kit. `Edit Kit` will show you a page where you can edit or
archive the kit. `History` will show you the history of any modifications that were made to that kit.
## Audit History
The audit history page gives you a list of all changes that have been made to any entities in the eReq system. If you
want to focus on one entity (e.g. a submitted kit or a study) you can click on the link under the `Entity UUID` column
for that piece of content.
## List Types
The list types page allows you to list all of the types (e.g. studies, sites, cohorts, kits) that are in eReq and are
used to populate the kit shipment form.
From this page you also have the ability to make minor edits to types. You can use this in the case that a mistake was
made when uploading types (e.g. a misspelled study) or if something was changed (e.g. a site's name changes). **Note:**
any edits made from this page will immediately apply to any kits submitted with the original values.
More complicated edits should be made by marking the entities that need to be edited as inactive and then uploading new
type CSVs on the upload type data page for the edited entities. You can mark an entity as inactive by finding it on the
list types page and then unchecking the `Active` checkbox in the edit types section.
## Upload Type Data
New kit types, sites, studies, and form types (custom form questions) can be uploaded from the upload type data page.
You can read more about the process around creating and uploading new type files on
the [New Form Creation page](forms.md).
## User List
The user list page allows you to give new users access to the admin console. All users must have an `@parkerici.org`
email address.
There are three roles that a user can be assigned: viewer, editor, and administrator. Viewers can view and export
content, but cannot edit anything. Editors can view, export, and edit any content in the system, but cannot upload new
forms through the upload type data page. Administrators can perform all tasks on the admin console.
## Configuration List
The configuration list page lists important configuration settings for the eReq system. This is so that you can check
and confirm that the system is configured as expected in case you encounter any issues or errors.

32
docs/forms.md Normal file
View File

@@ -0,0 +1,32 @@
# New Form Creation
Currently new form creation is a bit of an involved and painful process. It occurs infrequently enough (1 - 2x a year) that we haven't put effort into improving the process, although this may change in the future.
## Example Form Files
The current production form files can be found under the path `test/resources/forms`. You can use these as examples for creating new form files.
## Form Creation and Testing Process
eReq/Sample Tracking was an application requested by and built for Research Ops. They are responsible for creating and testing all new forms. As of the writing of this document Mike Gricoski is the point person on Research Ops for creating and testing forms.
The first step in the process of creating new forms is to have Research Ops create the new form files and send them to you. Once you have the files you should start running a local eReq instance and then upload the files from the `Upload Type Data` page in the console.
Assuming that the new form files upload successfully, it is usually best to hop on a short call with the point person to confirm that everything looks as expected. If it looks as expected, you can navigate to `https://dev-ereq.parkerici.org/` and upload the new files there. If it doesn't look as expected you may have to delete and recreate your local database a few times until the files are right.
Once the files have been uploaded to dev it's time to have a UAT meeting with all of Research Ops. This meeting serves two purposes. First, it makes sure that everyone on Research Ops agrees with the contents of the new forms. Second, it makes sure that the new forms function as expected. If the forms pass UAT, they can be uploaded to `https://ereq.parkerici.org/` If they don't, you may have to delete and recreate the dev database (this is described in the main README and is part of why this can be a pain).
## Production Form Files
Production form files can be found under the path `test/resources/forms`. When new forms are added to production a new folder should be created for them under this path and they should be added to that folder.
In addition you should edit the command `test-setup` in the file at `src/clj/org/parkerici/sample_tracking/cli.clj` to account for the new form files. You will also need to update the appropriate tests under the path `test/clj/org/parkerici/sample_tracking` to account for the new form options.
## Editing Production Forms
Basic editing of production forms is available through the `List Types` page in the console.
If you need more advanced editing than is available on the `List Types` page you will need mark the form as inactive (this can also be done through the `List Types` page) and then upload new form files with the appropriate edits.
## Process Improvements
There are a few points at which this process could be improved.
First, there should be an easier way than recreating the database to delete form types in the local and dev environments. If this functionality is built it is important that form types cannot be deleted in production.
Second, it would be a nicer process if there was a way to promote forms from dev to production and to make any necessary edits through a UI in dev before promoting to production.