Giter Site home page Giter Site logo

healthconn's Introduction

HealthConn

Built by HackItOrion Team

Build Status

Healthconn breaks the communication difficulties between doctors and patients.

  • Effective booking flow
  • Easy complaint explanation
  • Multilanguage support
  • ✨Many other things

Tech Stack

HealthConn uses a number of popular tools to work properly:

  • ReactJS
  • Redux, Redux-Toolkit, Thunk and Persist
  • TailwindCSS
  • AWS Lambdas
  • TypeScript
  • PostgreSQL
  • Github

License

MIT

healthconn's People

Contributors

baristure avatar onanmco avatar vladimir-art avatar feyzullah-yildiz-ext-orion avatar artem-burlakov-ext-orion avatar

Stargazers

Roman avatar Ceren Şolpan Türe avatar  avatar  avatar Feyzullah YILDIZ avatar

Watchers

 avatar

healthconn's Issues

Create Db Migrations

We destroy the stacks when we've done with testing so every time we need to test something we have to create db tables again and again. Instead of this we should implement a programmatic db migration system like liquibase, flyway etc.

User Repository and DTO objects should be updated

Hi. Initially we had copy/pasted the boilerplate code. But our business requirements requires additional fields in the db for user entity. Related DTOs, repository functions and lambda functions should be updated.

image

Update Register Functions

We decided to split user table to doctor and patients tables, so register function should be updated to receive patient specific informations.

Appointment related endpoints

GET /appointments

POST /appointments
Create a new appointment
payload

`{
"date": "2022-11-30T12:00:00.000Z",
"complaints": [
{
"part": "head",
"side": "front",
"severity": "3",
"comment": "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
},

],
"userId": null,
"doctorId": null,
"serviceId": null,
}`

GET /appointments/:appointmentId
response

{ id:"", user: { first_name: "John", last_name: "Doe", gender: "Male", blood_type: "A+", birth_date: "21.03.1991", weight: 95, height: 1.9, story: "Nisi eiusmod est ut commodo aliqua non sunt ipsum consectetur voluptate laboris. Ea pariatur officia enim non in ex ad ipsum officia ipsum minim anim enim. Adipisicing labore sint Lorem adipisicing minim minim nulla id Lorem amet. Officia laboris sint ea elit dolore excepteur. Lorem magna et ea aliquip aliquip ut irure anim excepteur excepteur nisi eu amet. Officia culpa aute ullamco elit ullamco proident duis excepteur. Officia ipsum reprehenderit tempor aute exercitation.", }, date: new Date(), service: { name: "Cardiology", }, doctor: { first_name: "Jane", last_name: "Doe", title: "Prof. Dr.", office_number: "12312345", location: "Floor 2, No:25", }, complaints: [ { part: "head", side: "front", severity: 6, comment: "Deserunt esse sint enim occaecat minim.\n Duis quis sint dolor veniam aute Lorem nisi consequat eu excepteur elit reprehenderit anim.", }, { part: "right_hand", side: "back", severity: 2, comment: "Deserunt esse sint enim occaecat minim.\n Duis quis sint dolor veniam aute Lorem nisi consequat eu excepteur elit reprehenderit anim.", }, ], recognization:"" }

PUT /appointments/:appointmentId
payload
{appointmentId:"1234", recognization:"Deserunt esse sint enim occaecat minim.\n Duis quis sint dolor "}

Service related endpoints

In order to get a list of available services, FE sends a GET request to /services and expects some of the data structure:
(I have found a pictures related to this list)

rest.get("/services", (req, res, ctx) => {
    const data = [
      {
        service_id: faker.random.numeric(5),
        name: "Radiology",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Psychology",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Pathology",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Oral and Dental Health",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Sports Medicine",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Hematology",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Gastroenterology",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Endocrinology",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Dermatology",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Cardiology",
      },
      {
        service_id: faker.random.numeric(5),
        name: "Anesthesiology",
      },
    ];

After clicking on a particular service, FE sends a GET request to /services/:service (radiology, cardiology, etc) and receives the list of relevant specializations.
Example:

const data = [
      {
        id: number,
        first_name: string,
        last_name: string,
        office_number: number,
        speciality: string ("radiology"),
        rating: float (4.5)
        image_url: string,
        mobile_number: string,
      },
      ...
    ];

After clicking on the doctor's card, FE sends GET request /services/:service/:doctor_id and receiving a data:

const data = [
      {
        id: number,
        first_name: string,
        last_name: string,
        memberships: string[],
        publications: string[],
        resume: string,
        speciality: string,
        image_url: string,
      },
     ...
    ];

Update Register Page fields

Please add mobile phone number input to the fields, and update the validation object to match to the backend system.
our request payload seems like that
{
"first_name": "Baris",
"last_name": "Ture",
"email": "[email protected]",
"password": "Test1234",
"mobile_number": "+905548126080",
"type": "patient"
}

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.