Giter Site home page Giter Site logo

doc_search's Introduction


# MeMD

MeMD is a mobile platform that allows users to self diagnosis potential medical conditions and find the closest specialists that accept their insurance plan. MeMD can help you have a more informed conversation with your doctor.

Table of Contents

Set Up

Before you get too far...

1. Apply for an API key and App ID

with the Infermedica API. This can take 24-36 hours

2. Clone the repository

https://github.com/me-md/me-md.git

3. Install dependencies

npm install

4. Create an .env file in the root directory of the repository.

5. You will need to declare three environmental variables:

REACT_APP_ID=yourAppIdHere
REACT_APP_KEY=yourAppKeyHere

6. To start the server:

npm start

To run this on your computer:

  1. Set up expo cli using: sudo npm i expo-cli -g

  2. Have Xcode installed for IOS simulator, or an iPhone

To run this on your phone:

  1. Download XCode from the App Store and open it
  2. From the bar at the top of your screen when in XCode, click "XCode" and then "Preferences" a. Go to "locations" and then for Command Line Tools, select the XCode Command Line Tools b. Go back to the top bar, click "Xcode" and then "Open Developer Tool," then "Simulator" c. Will launch a simulator. To change the device, click on it (top bar should now say "Simulator"), then select "Hardware" and under "iOS" you can choose another phone
  3. "i" in terminal to run project on iOS simulator Reference

Video

MeMD Demo Video

Screenshots

Screen Shot 2020-01-09 at 11 35 53 AM

Screen Shot 2020-01-09 at 11 35 40 AM

Screen Shot 2020-01-09 at 11 35 34 AM

Tech Stack

Front End

Vanessa Randall and Pol Sieira

  • React Native
  • Expo
  • React Navigation
  • Tested with Jest/Enzyme

Back End

Tylor Schafer, Evette Telyas and Nathan Thomas

  • Elixir/Phoenix
  • Pyhton/Django
  • Python/Flask
  • Ruby/Rails

Goals

  • Use an agile process to turn well defined requirements into deployed and production ready software
  • Gain experience dividing applications into components and domains of responsibilities to facilitate multi-developer teams
  • Explore and implement brand new frameworks/technologies (React Native, hooks)
  • Practice an advanced, professional git workflow
  • Gain more experience using continuous integration tools to build and automate the deployment of features in various environments
  • Build applications that execute in development, test, CI, and production environments
  • Focus on communication between front end and back end teams in order to complete and deploy features

Project Board

The MeMD organization follows an agile workflow by utilizing the kanban board template on GitHub projects.

Over 120 tickets (user stories, bugs, new feature and testing tickets) were converted into issues, and tracked by the entire team throughout the four week build.

A PR template was utilized for both the front end and back end repositories to encourage code reviews and conversations on GitHub.

To see the process, check out the project board here

Image Credits

Icons made by Icon Pond, Kiranshastry, monkik and Freepik from www.flaticon.com

doc_search's People

Contributors

evettetelyas avatar nathangthomas avatar tylorschafer avatar

Watchers

 avatar  avatar

doc_search's Issues

get /api/v1/doctors

As a user, when I visit this path.
And I supply a valid location in the query params.
Then I am returned an array of doctors in the following format:

[
    {
        "practice": {
            "location": "co-denver",
            "lat": 39.73292,
            "lon": -104.94187,
            "city": "Denver",
            "state": "Colorado",
            "street": "1400 Jackson St",
            "street2": "Ste J",
            "zip": "80206",
            "uid": "ca3466def4a60da36654c49bf01ef94b",
            "name": "ESther Langmack, MD",
            "accepts_new_patients": true,
            "insurance_uids": [
                "multiplan-phcsppo",
                "multiplan-multiplanppo",
                "humana-humanahmopremierhix",
                "humana-humanacohmoxhix",
                "medicare-medicare",
                "medicaid-medicaid",
                "aetna-aetnamdbronzesilverandgoldhmo",
                "premerabluecross-premeralifewiseconnect",
                "gwhcigna-greatwestppo"
            ]
        },
        "profile": {
            "first_name": "Esther",
            "middle_name": "L",
            "last_name": "Langmack",
            "title": "MD",
            "school": "University of California",
            "image_url": "https://asset2.betterdoctor.com/assets/general_doctor_female.png",
            "gender": "female",
            "bio": "Dr. Esther Langmack, MD sees patients in Denver, Colorado and specializes in critical care medicine, internal medicine, and pulmonary disease.\n\nDr. Langmack graduated from University Of California and is licensed to treat patients in Colorado.\n\nIn addition to having active medical licenses, Dr. Langmack has passed an automated background check which looked at elements including medical license status and malpractice screening (no history found)."
        }
    }
]

Get /doctor_search

As a user, when I visit the doctor_search endpoint
And I supply a location in the query parameters
Then I am returned a JSON string with several different doctors in that location.

example response:

Better Doctors Service

Create a Better Doctors Service that fetches data from the Better Doctors API.

  • Write a pytest that tests that the API consumption and data returned
  • Use TDD to build out functionality for service.
  • Service returns raw data from endpoint. No need to format response at this point

Rake Task to Load Conditions Database

We need a rake task thiat takes the json conditions response from infermedica, and converts each conditions into a record in the conditions table.

Refactor /doctors endpoint

  • The/doctors endpoint in doc_search needs additional functionality.
    As a user, when I visit the /doctors endpoint.
    And I supply optional lat and long query parameters.
    Then the response includes the following additional content:
  1. The distance to each doctors office is returned in miles.
  2. The doctors are sorted by the minimum distance to maximum distance.

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.