Giter Club home page Giter Club logo

ethics-app's Issues

Receipts

In some user studies, participants get rewarded. Therefore, a receipt (the participant has to sign, when s/he received the money) should be available to download in the user-client.

Export of Review-Process

As it is sometimes required to document the whole review process Members should be able to download an Overview of the whole process via pdf.

This Overview should include all information similar to the "Overview"-Pane available now.

Password Generation

Due to security concerns it might not be ideal to store the passwords online.

Password should be printed on the cover letter recieved when downloading the documents.

This creates the problem that on re-generation of the cover letter the password might not be the same.

Handling is still TBD.

Pending Review Reminder

It would be useful to have a reminder Email sent out to all Reviewers after 7 Days of review pending status.

member-client

Committee view, to review, accept and manage request with ethical concerns.

  • authentication
  • list all documents (filter by status, time, name, etc.)
  • edit document (review with comments, accepting request, etc.)
  • notify document owner about changes and updates (confirmation, problems)
  • improve document(s) generation

Additional Points on Consent Form

Depending on Question 11 the Consent form should additionally include the statements:

  • I agree that anonymized data from this study will be openly published
  • I agree that non-anonymized data from this study will be published

The exact wording is tbd.
Hint towards the possibility of striking one or more of the statements should be added.

Additional custom "Questions"

To be able to process special Studies which can not be fitted to the roster of the predefined Questions it should be possible to attach additional Resources to the Study.

The Resources would be stored on the Server and handled the same way as regular questions with regards to comments by reviewers etc.

If there are multiple Files to be added for ethical evaluation they should be zipped so a single new "Question" should suffice.

delete-flags

  • introduce new delete-flag strategy
  • add agree-buttons

Dockerize app

For other users and also for testing and deployment, it would be useful to prove a Dockerfile and a docker-compose configuration.

Let me know if you would welcome such a contribution.

page broken under angular-route 1.6.3

The Installation defaults to angular-route#1.6.3 and breaks the webpage with error:

Failed to instantiate module ethics-app due to:
Error: [$injector:modulerr] http://errors.angularjs.org/1.5.9/$injector/modulerr?p0=r...)
    at Error (native)
    at http://localhost:5000/bower_components/angular/angular.min.js:6:412
    at http://localhost:5000/bower_components/angular/angular.min.js:40:292
    at q (http://localhost:5000/bower_components/angular/angular.min.js:7:359)
    at g (http://localhost:5000/bower_components/angular/angular.min.js:39:382)
    at http://localhost:5000/bower_components/angular/angular.min.js:40:34
    at q (http://localhost:5000/bower_components/angular/angular.min.js:7:359)
    at g (http://localhost:5000/bower_components/angular/angular.min.js:39:382)
    at eb (http://localhost:5000/bower_components/angular/angular.min.js:43:382)
    at c (http://localhost:5000/bower_components/angular/angular.min.js:21:19

Downgrading to angular-route#1.6.2 fixes the problem.

Incorrect error detection in SMTP connection

When sending an Email fails. e.g. due to issues with the credentials, a callback(err) is invoced instead of a correct callback(err, 500). Additionally it seems like err.message is not set by the transport library, instead an additional info object is provided.

This issue can happen because depending on the SMTP configuration, the verify function

trans.verify(function(error, success) {
might succeed even though sending emails will be rejected later on.

Full text search

  • documentListController
  • memberListController
  • userListController
  • courseListController
  • universityListController
  • instituteListController
  • workingGroupListController

Minor issues

Hi,

I spotted some minor issues by going through the Ethics App:

  • The link in the email does not log me in, but brings me to the page where I have to specify the document-id.
  • On the Download there is a british flag in front of the german Informed consent form.
  • I can go to the next page in the study description, although there are required field empty.
  • In the german consent form there is a double dot befor the name of the forscher.

login

  • template
  • controller
  • authenticationService

Email Notification on Review Start.

An Email notification on Start of Review to prevent other Reviewers to assume the Review still needs to be done.
It would be ideal to reply to the original Email sent to prevent further spam.

Critical Cases Flag/Status

A Reviewer should be able to set a "critical" flag on a document after it has been approved/rejected.

This state marks studies which have been critical and can serve as examples for future reference.

This could be implemented with additional states that can be accessed after documents reached state 6 or 7. The documents should still be accessible in the normal lists and have their own filter group.

/public/user/js/modules/config.js not present when reinstalling

On rebuilding the Repository the module "/public/user/js/modules/config.js" is not created automatically. This leads to Error:

https://docs.angularjs.org/error/$injector/modulerr?p0=ethics-app&p1=Error:%20%5B$injector:modulerr%5D%20http:%2F%2Ferrors.angularjs.org%2F1.6.2%2F$injector%2Fmodulerr%3Fp0%3Dconfig%26p1%3DError%253A%2520%255B%2524injector%253Anomod%255D%2520http%253A%252F%252Ferrors.angularjs.org%252F1.6.2%252F%2524injector%252Fnomod%253Fp0%253Dconfig%250A%2520%2520%2520%2520at%2520http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A6%253A425%250A%2520%2520%2520%2520at%2520http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A25%253A399%250A%2520%2520%2520%2520at%2520b%2520(http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A24%253A439)%250A%2520%2520%2520%2520at%2520http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A25%253A173%250A%2520%2520%2520%2520at%2520http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A41%253A117%250A%2520%2520%2520%2520at%2520q%2520(http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A7%253A351)%250A%2520%2520%2520%2520at%2520g%2520(http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A40%253A476)%250A%2520%2520%2520%2520at%2520http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A41%253A134%250A%2520%2520%2520%2520at%2520q%2520(http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A7%253A351)%250A%2520%2520%2520%2520at%2520g%2520(http%253A%252F%252Flocalhost%253A5000%252Fbower_components%252Fangular%252Fangular.min.js%253A40%253A476)%0A%20%20%20%20at%20http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:6:425%0A%20%20%20%20at%20http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:41:392%0A%20%20%20%20at%20q%20(http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:7:351)%0A%20%20%20%20at%20g%20(http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:40:476)%0A%20%20%20%20at%20http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:41:134%0A%20%20%20%20at%20q%20(http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:7:351)%0A%20%20%20%20at%20g%20(http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:40:476)%0A%20%20%20%20at%20db%20(http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:45:20)%0A%20%20%20%20at%20c%20(http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:21:19)%0A%20%20%20%20at%20Mc%20(http:%2F%2Flocalhost:5000%2Fbower_components%2Fangular%2Fangular.min.js:21:332

Text-processing for changes

The ability to see what was changed from the previous to the current revision could increase the efficiency during the review process. For example: After a document was already reviewed and accepted by a member of the Ethics committee, the researcher edited something (maybe just one word or a simple typo), s/he has to submit the document again. Now, the reviewer has to read through the whole document again to see what was changed. A text-processing tool, which highlights the changes (red for deletions/modifications, green for editions) would be very helpful. On GitHub or other collaborations tools, such a function is often called "text differencing" or "diff". I found some possible implementations here:

Member login fail counter not resetting

The App tracks failed login attempts from members here

client.query(query_increase_fails, [

The Account is automatically blocked once there were 6 failed login attempts here:

if(fails <= 5){

This "fails" variable (aka Database column) is never cleared automatically (e.g. once a day) and there is no way to manually reset the counter from inside the app. Once there were 5 login attempts in a lifetime of the member, the account is permanently blocked.

Desired behaviour: Allow X login attempts a day
Current behaviour: Allow X failed attempts a lifetime

Angular template crashes on login (User-client)

Hey @SpeckiJ,

I recognized a bug, when I follow the link to my document from the Email as well as when I logged in on the website by the Document-ID. The Angular template crashes and looks like this:

bildschirmfoto 2018-05-18 um 12 46 28

From the console logs I could see that this error might be produced from a new question, which was added recently with an upload-function. I'm still able to get access to the document again when I click on the left Dropdown-Button and select "Show document-ID or other menu options. When I close those views afterwards and I get redirected to the document editing, it is reloaded properly and everything works as expected.

Btw. a similar behaviour happens when I change the document-title (not the title of the formula). As soon as you save the title and get redirected, the template crashes and looks like above.

Hope you can fix it soon! ๐Ÿ”ฅ๐Ÿš’๐Ÿ˜œ

Best,
Nicho โœŒ๏ธ

New Questions

Due to the frequency where Question 11 is answered with 'yes' (Audio/Video recording) the Question is to be split into subquestions. Those subquestions check for violation of privacy etc..

If the Subquestions all evaluate to false the original Answer is overwritten.

Subquestions shall be tracked by the system similar to regular questions.

This will require a DB Schema change!

Dynamic pages in pagination

Improve current pagination with limitation in page-list, for example: << | < | ... | 5 | 6 | 7 | ... | > | >>, so that 1,2,3,4 and 8,9 will be hidden and replaced by dots

new user

  • template
  • controller
  • authenticationService

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.