1 minute read

Dissecting Problem

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

This article is from: