Code Monkey home page Code Monkey logo

api-example-django's Introduction

drchrono Hackathon

Check-in kiosk

Picture going to the doctor's office and replacing the receptionist and paper forms with a kiosk similar to checking in for a flight.

There should be an account association flow where a doctor can authenticate using their drchrono account and set up the kiosk for their office.

After the doctor is logged in, a page should be displayed that lets patients check in. A patient with an appointment should first confirm their identity (first/last name maybe SSN) then be able to update their demographic information using the patient chart API endpoint. Once the they have filled out that information the app can set the appointment status to "Arrived" (Appointment API Docs).

The doctor should also have their own page they can leave open that displays today’s appointments, indicating which patients have checked in and how long they have been waiting. From this screen, the doctor can indicate they are seeing a patient, which stops the “time spent waiting” clock. The doctor should also see the overall average wait time for all patients they have ever seen.

Outside of these base requirements, you are free to develop any features you think make sense.

To begin, fork the drchrono API project repo at https://github.com/drchrono/api-example-django

We’ve built this repo to save you some set-up time! It contains a few baseline structural elements for you to build on. It’s a great starting point, but there are probably some tweaks and improvements to be made before you continue building out new functionality. It doesn't quite work; it's your job to make it work, and then make it awesome!

Use the drchrono API docs and feel free to reach out to the people operations team with any questions and we'll get back to you ASAP.

Requirements

API token

The first thing to do is get an API token from drchrono.com, and connect this local application to it!

This project has social-auth preconfigured for you. The social_auth_drchrono/ contains a custom provider for Python Social Auth that handles OAUTH through drchrono. It should require only minimal configuration and tweaking.

  1. Log in to drchrono.com
  2. Go to the API management page
  3. Make a new application
  4. Copy the SOCIAL_AUTH_CLIENT_ID and SOCIAL_AUTH_CLIENT_SECRET to your docker/environment file.
  5. Set your redirect URI to http://localhost:8080/complete/drchrono/

Dev environment Setup

If you're familiar with it, docker should take care of all the dependencies for you. It will create one container with all the python dependencies.The project uses SQLite3 as a database back-end, so you shouldn't need to mess with anything to get django up and running. See docker-compose.yml for details.

$ git clone [email protected]:drchrono/api-example-django.git hackathon
$ docker-compose up

If you don't want to use docker, that's fine too! The project is fairly small and self-contained. You can probably get all the dependencies installed and running on your favorite platform with pip install -r requirements.txt && python manage.py runserver. You'll have to configure the CLIENT_ID and CLIENT_SECRET variables by hand, though.

Once the dev server is running, connect with a browser to http://localhost:8080/setup and use the web to authorize the application.

Happy Hacking!

If you have trouble at any point in the setup process, feel free to reach out to the developer who introduced you to the project. We try to minimize setup friction, but sometimes things go wrong, and we genuinely appreciate feedback about how to make things better!

api-example-django's People

Contributors

dmalinovsky avatar mattmerrifield avatar sangelone avatar

Watchers

 avatar

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.