
1 minute read
Dissecting Problem
from Cruise
Create an application to record patient data
Prescribe medication based on patient data
Advertisement
Share patient timeline amongst doctors
Create Form templates
Implement User Roles & Access: Super Admin, Admin, Doctor, Sta, Patient
2 Challenges
Complex application with multiple user roles and access permissions
Lots of elds with relation to patient data meant studying the system extensively and planning accordingly
Our Solution
We proposed GraphQL for data exibility at the BE and React for FE development as the primary technology stack with
Context API for important data transfer across React Components, considering the complexity of the solution required. React was chosen as Component Driven Development (CDD) was at the core of theMedGuide requirement. Provisions were provided to Super Admin and Doctor users to create any number of reusable templates. These templates can be used to create the timeline for patients, which can then be shared with other doctors or the patient. Created the interface in an easy-to-use manner. Forms could be created without any prior expertise to include basic form elds in addition to Image Slider, Page component etc. By using the CDD concept, we also created complex forms which are an amalgamation of dierent basic forms that can be used to store and register complex information like ailments and respective medications prescribed based on criteria like pain, level of infection, swelling etc. To Secure the application we used Auth0.
Technical Architecture
We used a Two-Tier architecture in the application. We have a Presentation Layer and a Database Layer. In the Presentation Layer we used ReactJS with Context API to manage data ow from one component to another. We used Apollo Client to help GraphQL query fetch data from HASURA. For UI we used Material-UI. In the Database Layer we used Node.js, GraphQL, PostgreSQL with HASURA.
Frontend
React 18.0.X: Foundation
Material UI 4.11.X: UI Toolkit
Auth0: For Authentication
Apollo Client
React-Router-Dom 5.1.2: For Routing
React-Scripts: For Building
ESLint: Find the linting issues
Backend
Nodes.js
Hasura GraphQL Engine : Data instantly accessible over a real-time GraphQL API. It connects to your databases, REST and GraphQL endpoints, and third-party APIs to provide a unied, connected, real-time, secured GraphQL API for all of your data.
PostgreSQL- Database