High Level Design
To User
User Registration Workflow
sequenceDiagram
actor User
User->>Client: Enters Details
Client-->>Client: Validate
User->> Client: Submit credentials
Client ->> Server: Submit Details
Server->>Database: User Present?
Database->>Server: Yes/No?
alt Yes
Server->>Client: User already present
Client-->>Client: Error
Client ->> User: Enter different credentials
else Not present
Server->>Database: New account created
Database->>Server: Account Created
Server->>Client: Account Created
Client->>User: Account Created
end
Log Health Records and Send Verification Request
sequenceDiagram
actor User
User->>Client Side (to User): Log health records
Client Side (to User)->>Server: Format matches?
activate Server
Server-->>Client Side (to User): Yes/No
deactivate Server
Server->>Database: Store health records data
User->>Client Side (to User): Send verification request
Client Side (to User)->>Server: Submit request
activate Server
Server-->>Client Side (to User): Yes/No
deactivate Server
Server->>Database: Track request
View Health History
sequenceDiagram
actor User
User->>+Health Score Page: Open Health Score Page
Health Score Page->>+Server Side: Send Request
Server Side->>+Database: Query User Health Records
Database-->>-Server Side: Retrieve Database Listings
Server Side-->>-Health Score Page: Return Request
Health Score Page-->>-User: Display the Health History
opt Filtering
User->>+Health Score Page: Input Filtering Criteria
Health Score Page->>+Server Side: Send Request
Server Side->>+Database: Query Filtered User Health Records
alt criteria met
Database-->>Server Side: Retrieve Filtered Database Listings
Server Side-->>Health Score Page: Return Request
Health Score Page-->>User: Display Filtered Health History
else criteria not met
Database-->>-Server Side: No Database Retreival
Server Side-->>-Health Score Page: Return Empty Request
Health Score Page-->>-User: No Results Displayed
end
end
Create New Posts, Edit or Delete Posts in the Community
sequenceDiagram
actor User
User ->>+ Front-end: Create a New Post
Front-end ->>+ Server: Submit New Post Request
Server ->>+ Database: Store New Post
Database -->>- Server: "Post Stored Successfully"
Server -->>- Front-end: Return Post Status
Front-end -->>- User: Display the New Post
User ->>+ Front-end: Submit Edited Content or Request for Deletion
Front-end ->>+ Server: Send Requests
Server ->>+ Database: Update the status of the Post
Database -->>- Server: Confirm Updates
Server -->>- Front-end: Return Status of Updates
Front-end -->>- User: Hide or Display the Edited Post
Make comments and reply to the comments of a post
sequenceDiagram
actor Poster
actor Commenter
Commenter ->>+ Front-end: Send comment request
Front-end ->>+ Server: Request to add a comment
Server ->>+ Database: Store comment
Database -->>- Server: Confirm comment storage
Server -->>- Front-end: Return success message
Front-end -->> Commenter: Display comment
Front-end -->>- Poster: Notify of new comment
Poster ->>+ Front-end: Submit reply content
Front-end ->>+ Server: Request to add a reply.
Server ->>+ Database: Store reply.
Database -->>- Server: Confirm reply storage
Server -->>- Front-end: Return success message
Front-end -->>- Poster: Display reply
To Hospital Admin
Hospital Admin hospital addition workflow
sequenceDiagram
actor HospitalAdmin
HospitalAdmin->>Client: Enter Credentials
Client-->>Client: Validation
Client->>Server: Authenticate
Server->>Database: Validate
Database->>Server: Admin logged in
Server->>Client: Admin Logged in
Client->>HospitalAdmin: Logged in
HospitalAdmin->>Client: Enter new hospital Details
Client-->>Client: Validate
HospitalAdmin->>Client: Submit details
Client->>Server: Details sent
Server->>Database: Details added with pending status
Database->>Server: Sent for Approval
Server->>Client: Sent for Approval
Client->>HospitalAdmin: Pending Approval
Log Health Records and Route Verification Requests to Healthcare Workers
sequenceDiagram
actor Hospital Admin
participant C as Client Side (to Hospital Admin)
rect rgb(191, 223, 255)
note right of C: Whenever request list is changed
Server->>Database: Query verification request list
activate Database
Database->>Server: Retrieve verification request list
deactivate Database
Server->>C: Display verification requests
end
Hospital Admin->>C: View verification requests
Hospital Admin->>C: Log health records
C->>Server: Health records format check
activate Server
Server-->>C: Yes/No
deactivate Server
Server->>Database: Store health records data
Hospital Admin->>C: Send verification request
C->>Server: Submit request
activate Server
Server-->>C: Yes/No
deactivate Server
Server->>Database: Track request
rect rgb(191, 223, 255)
note right of C: Whenever healthcare worker list is changed
Server->>Database: Query healthcare worker list
activate Database
Database->>Server: Retrieve healthcare worker list
deactivate Database
Server->>C: Display healthcare worker info
end
Hospital Admin->>C: Assign verification requests to corresponding healthcare worker
C->>Server: Submit request
activate Server
Server-->>C: Yes/No
deactivate Server
Server->>Database: Track assignment data
To Healthcare Worker
Handle Verification Requests from Users
sequenceDiagram
actor Healthcare Worker
participant C as Client Side (to Healthcare Worker)
rect rgb(191, 223, 255)
note right of C: Whenever assigned verification request list is changed
Server->>Database: Query assigned verification requests
activate Database
Database->>Server: Retrieve assigned verification requests
deactivate Database
Server->>C: Display assigned verification requests
end
Healthcare Worker->>C: View assigned verification requests
Healthcare Worker->>C: Approve/Reject verfication request
C->>Server: Submit request
activate Server
Server-->>C: Yes/No
deactivate Server
Server->>Database: Update health records with approved/rejected status
View Health History
sequenceDiagram
actor Healthcare Worker
Healthcare Worker->>+Health Score Page: Open Health Score Page
Healthcare Worker->>+Health Score Page: Request Access to Patient Data
Health Score Page->>+Server Side: Send Request
Server Side->>+User: Pass Along Request for Access
User-->>-Server Side: Approval Granted
Server Side->>+Database: Query User Health Records
Database-->>-Server Side: Retrieve Database Listings
Server Side-->>-Health Score Page: Return Request
Health Score Page-->>-Healthcare Worker: Display the Health History
opt Filtering
Healthcare Worker->>+Health Score Page: Input Filtering Criteria
Health Score Page->>+Server Side: Send Request
Server Side->>+Database: Query Filtered User Health Records
alt criteria met
Database-->>Server Side: Retrieve Filtered Database Listings
Server Side-->>Health Score Page: Return Request
Health Score Page-->>Healthcare Worker: Display Filtered Health History
else criteria not met
Database-->>-Server Side: No Database Retreival
Server Side-->>-Health Score Page: Return Empty Request
Health Score Page-->>-Healthcare Worker: No Results Displayed
end
end
To Health Score Admin
Health Score Admin Hospital Decision workflow
sequenceDiagram
actor Health Score Admin
Health Score Admin->>AdminClient: Enter Credentials
AdminClient-->>AdminClient: Validation
AdminClient->>Server: Authenticate
Server->>Database: Validate
Database->>Server: Admin logged in
Server->>AdminClient: Admin Logged in
AdminClient->>Health Score Admin: Logged in
Database->>Server: New Hospital Request
Server->>AdminClient: New Hospital Verification
AdminClient->>Health Score Admin: View Request
alt Health Score Admin Approves
Health Score Admin->>AdminClient: Hospital Approved
else Health Score Admin Rejects
Health Score Admin->>AdminClient: Hospital Rejected
end
AdminClient->>Server: Hospital decision
Server->>Database: Decision Stored
Manage Hospital Networks and Hospital Admin Accounts
sequenceDiagram
Actor Health Score Admin
Health Score Admin ->> Client (Health Score Admin Portal): Edit Hospital Details
activate Client (Health Score Admin Portal)
Client (Health Score Admin Portal) ->> Server: Request Edit Hospital Details
activate Server
Server ->> Database: Update Hospital Details
activate Database
Database -->> Server: Update Result
Server -->> Client (Health Score Admin Portal): Update Result
deactivate Server
Client (Health Score Admin Portal) -->> Health Score Admin: Update Result
deactivate Client (Health Score Admin Portal)
Health Score Admin ->> Client (Health Score Admin Portal): Add New Hospital
activate Client (Health Score Admin Portal)
Client (Health Score Admin Portal) ->> Server: Request Add New Hospital
activate Server
Server ->> Database: Add New Hospital
activate Database
Database -->> Server: Add Hospital Result
Server -->> Client (Health Score Admin Portal): Add Hospital Result
deactivate Server
Client (Health Score Admin Portal) -->> Health Score Admin: Add Hospital Result
deactivate Client (Health Score Admin Portal)
Health Score Admin ->> Client (Health Score Admin Portal): Assign Admin to Hospital
activate Client (Health Score Admin Portal)
Client (Health Score Admin Portal) ->> Server: Request Assign Admin
activate Server
Server ->> Database: Update Hospital Admin
activate Database
Database -->> Server: Update Result
Server -->> Client (Health Score Admin Portal): Update Result
deactivate Server
Client (Health Score Admin Portal) -->> Health Score Admin: Update Result
deactivate Client (Health Score Admin Portal)
Health Score Admin ->> Client (Health Score Admin Portal): Remove Hospital
activate Client (Health Score Admin Portal)
Client (Health Score Admin Portal) ->> Server: Request Remove Hospital
activate Server
Server ->> Database: Delete Hospital
activate Database
Database -->> Server: Delete Result
Server -->> Client (Health Score Admin Portal): Delete Result
deactivate Server
Client (Health Score Admin Portal) -->> Health Score Admin: Delete Result
deactivate Client (Health Score Admin Portal)