A full-stack electronic medical records (EMR) single page application built with MVVM architecture and a RESTful API. Displays clinic schedule, retrieves and updates patient health history, and accesses hundreds of diagnoses and ICD-10 codes.
Demo of the app hosted at: https://DocuCare.herokuapp.com
- Automatically resizing textareas.
- Patient records automatically update-as-you-type to server.
- Popover when hovering over patients to quickly preview patient records without disrupting workflow.
- Searchbar suggestions as you type when searching for records or diagnoses.
- Access to hundreds of diagnoses and ICD-10 (International Classification of Diseases, Tenth Revision) codes.
# Clone project
git clone https://github.com/anle9650/DocuCare.git
# Install dependencies
npm install
# Load sample data
node providerSeed.js
node patientSeed.js
node recordSeed.js
# Run local server
npm start
Visit in browser: http://localhost:3000
├── public // public assets
│ ├── css // css
│ ├── js // js
│ │ ├── DocuCareApp.js // entry for loading components, initialization
│ │ └── components // global public components
│ ├── favicon.ico // favicon
│ └── index.html // html template
├── models // models
├── views // views
├── controllers // controllers
├── routes // request routes
├── main.js // entry for server initialization
├── .gitignore // gitignore
├── package.json // package.json
├── providerSeed.js // load sample provider
├── patientSeed.js // load sample patients
└── recordSeed.js // load sample records
GET /api/records?provider={providerID}&date={date}&nameStarts={nameStarts}&patient={patientID}&diagnosis={diagnosis}
GET /api/patients/:id
PATCH /api/records/:id/patch
# request body (all optional)
{
"hpi": string,
"ros": string,
"exam": string,
"assessment": string
}
PATCH /api/records/:id/addDiagnosis/:diagnosis
PATCH /api/records/:id/removeDiagnosis/:diagnosis