moozeq / clinr Goto Github PK
View Code? Open in Web Editor NEWClin-R - Clinical Data Management System
Clin-R - Clinical Data Management System
Description
Create basic back-end part for Appointments
which are conducted under specific Study
(#7) in specific Facility
(#4) by User
with a "doctor"
Role
(#3) to register specific Patient
(#5) visit in facility.
Prerequisites
Acceptance criteria
Appointment
class using sequelize-typescript with fields:
date
type
- visit type, allowed values: drugAdminitration
(drug administered during the visit), checkup
(checkup for doctor to see if there are any adverse effects between drug administrations), followup
(visit 1 month after completed study by patient), survivalCheck
(visit 1 year after followup to register long-term effects)description
adverseEffects[]
- registered adverse effects based on the interview with the patient (#8)patient
doctor
facility
Appointment
but only accessible for authorized Users
with "doctor"
Role
Appointment
and Patient
(#5)Appointment
and User
(doctor who conducted the visit)Appointment
and Facility
(#4)Appointment
and AdverseEffects
(#8)Description
User should be able to select his Roles
. For MVC there will be no restrictions, but solution should be prepared for future permissions functionalities based on Roles
.
Acceptance criteria
User
, where he can see and select/unselect other Roles
and apply the set to his accountDescription
Instead of having one scope 'full'
make a list of scopes passing to services managing data models. Additionally, add 'resource'
scope for retrieving only Resource
-related properties. Moreover, add 'archived'
scope to include archived items.
Acceptance criteria
'doctors'
for Facilities
)'resource'
scope for each Resource
-based class to return only Resource
-related properties'includeArchived'
scope with paranoid = false
'includeTimestamps'
scope for retrieving createdAt
, updatedAt
and deletedAt
valuesEstimated: 2 SP
Description
User
with Role
'director'
or 'admin'
should be able to see view for creating and editing Facilities
. All data specific to Facility
class should be filled accordingly to optionality and data types.
Acceptance criteria
Facilities
available only for specific Users
Facilities
Facility
Facility
Facility
(Users
with 'doctor'
role)Description
Create basic back-end part for AdverseEffect
which is similar to popular tags
functionality. Users can select adverse effects that are already in database or add new ones which will be automatically registered.
Acceptance criteria
AdverseEffect
class using sequelize-typescript with fields:
name
AdverseEffect
Description
Create basic back-end part for Patients
(they are not Users
and they can't log in the application) and they can be added by Users
with "doctor"
Role
.
Prerequisites
Acceptance criteria
Patient
class using sequelize-typescript with fields:
ssn
Social Security number (or any other unique country-specific ID)status
- patient's status, allowed values: waiting
, in-progress
, completed
, discontinued
name
surname
telephone?
(optional)email?
(optional)address?
(optional)medicalHistory
- description of medical history of the patientfiles
- medical reports, column needs to be encypted!meta
- metadata dictionary where other less specific information can be storedPatients
but only accessible for authorized Users
with "doctor"
Role
Facilities
(#4) and Patients
Description
Users
with 'director'
Role
should be able to see, add new (with uploading PDF instruction file) and edit currently added Protocols
. Users
with 'doctor'
Role
should only be able to see protocols and download instructions in PDF file.
Acceptance criteria
Protocols
and easily download corresponding instructionsProtocols
instructions at onceProtocol
for directorsProtocols
for directors (but without changing content of the intruction file)Protocols
Description
After login, user should persist and be logged between tabs. Use localStorage instead of sessionStorage.
Description
Create basic back-end part for Studies
which are coducted in accordance with Protocols
(#6) instructions.
Prerequisites
Acceptance criteria
Study
class using sequelize-typescript with fields:
status
- study's status, allowed values: waiting
, in-progress
, completed
, discontinued
name
description
startDate
endDate
protocol
- Protocol
for the study with drug administration instructionfacilities[]
- Facilities
which are included in the studyStudy
but only accessible for authorized Users
with "director"
Role
Studies
and Facilities
(#4)Studies
and Protocols
(#6)Description
Create basic back-end part for Roles
which will be used to distinguish between several types of users.
Acceptance criteria
Role
class using sequelize-typescript with fields:
name
Roles
instances: admin
, director
, doctor
Users
and Roles
Estimated: 3 SP
Completed: 5 SP
Description:
Implement functionality for user to log in to and log out from the application.
Acceptance criteria:
Estimated: 5 SP
Completed: 8 SP
Description
For users who are not logged in, there should be a view to register as a new user. User should not have any role. There will be no email confirmation for now.
Acceptance criteria
name
username
email
password
Estimated: 3 SP
Completed: 12 SP
Comment: Multiple issues along the way, extended scope (see PR #28).
Description
Since several classes share the same properties (uuid
, name
, description
) we can refator models schema to utilize common component Resource
. Unfortunatelly, Sequelize
doesn't support simple extends
for joint table inheritance (as it is in e.g. SQLAlchemy), so we need to use some gimmicks (extending tables with base Model<T>
).
Acceptance criteria
Resource
base model with following fields:
uuid
name
description
User
, Facility
and Role
extend Resource
classEstimated: 3 SP
Completed: 3 SP
Description
There should be a way to upload and download files with the application.
Acceptance criteria
Resource
data modelname
and description
, not content of the fileEstimated: 2 SP
Completed: 3 SP
Description
When archiving user from users
table, it is deleted completely instead of being archived. Users
table should have paranoid = true
as other Resource
-based tables.
Description
Create basic back-end part for Protocols
which are instructions how drugs should be administered.
Acceptance criteria
Protocol
class using sequelize-typescript with fields:
name
description
instruction
- PDF file with instructions how drug administration should be conductedfiles
- additional files that may be required for Protocol
meta
- metadata dictionary where other less specific information can be storedProtocols
(can't update file - limiting scope)Protocol
instance - {"name": "mRNA vaccine administration", "instruction": <sample pdf file>, "meta": {}}
Estimated: 3 SP
Completed: 5 SP
Description
Create first draft of the project. Stack for this application:
Language:
Frontend:
Backend:
Acceptance criteria
Estimated: 12 SP
Completed: 12 SP
Description
Create database schema for Facilities
- places where patients will have appointments with doctors (Users
with "doctor"
Role
) who are able to register users and their visits, along with predefined one.
Acceptance criteria
Facility
class using sequelize-typescript with fields:
name
description
address
email?
(optional)telephone?
(optional)doctors[]
Facilities
and Users
Facility
instance - {"name": "The Johns Hopkins Hospital", "description": "Teaching hospital and biomedical research facility.", "address": "1800 Orleans Street, Baltimore, Maryland, United States", "email": "", "telephone": "410-955-5000"}
Estimated: 8 SP
Completed: 3 SP
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.