Skip to content

About Flux Notes

Dylan Phelan edited this page Jun 14, 2018 · 20 revisions

Features

This prototype is designed to demonstrate the concept of a clinician entering or dictating a clinical note that includes structured data embedded within it. A patient summary is shown for reference during the authoring of new clinical notes and provide incentive to identifying structured data during note authoring and review. The clinican can leverage templates for note creation. When authoring a note and within a structured field, Flux Notes displays a simple "point-of-sale" inspired "form" for choosing values that are part of the current structured field.

In addition, a no-patient version of the above concept has been created for situations where EHR integration is not possible and to facilitate use at hospitals without requiring installation. In no-patient mode, the clinican choosing the type of data being authored and then uses the point-of-sale form from above to author the content which produces the equivalent structured field text that can be pasted into their EHR's note entry area as part of authoring a clinical note.

Getting Started

  • Git clone the repository
  • Check out the master branch (or the branch you want to work in)
  • In a terminal navigate into the flux folder (stay at the project root)
  • Enter 'yarn install'
  • Enter 'yarn start' to launch the development web server and open a browser to view the application
  • To view patient mode, append patient to the end of the default url (result url would be http://localhost:3000/#/patient)

Technologies Used:

  • React.js, our library of choice for building our UI
  • Redux, our library for managing our predictable state container in React
  • Material UI, for pre-made UI components
  • React-FlexBox-Grid, for flex-box driven bootstrap-style grids
  • Slate.js, version 0.20.2 and below, our library of choice for an interactive editor
  • React-Router v4, for browser routing
  • rc-calendar, for selecting dates in full mode
  • react-day-picker, for selecting dates in slim mode
  • run-script-os, for os-specific testing
  • chai, for human-readable expectations
  • testcafe, for ui-driven testing
  • enzyme (currently 2.x) & required subsidiary libraries, for react-behavior driven testing:
    • enzyme-adapter-react-15
    • react-test-renderer
  • shr_rest_client module is used. This module is the generated javascript client implementation of our Swagger API that is used to make REST API calls
  • d3-scale module is used for scaling quantitative values in one domain to values in another (e.g. blood pressure values --> y coordinates on a graph)
  • d3-array, provides convenient API for common analytic operations on arrays, for use in: Statistics, searching through arrays, transformations on arrays, building histograms, and determining histogram thresholds
  • d3-time, implements a convenient API for calendar math on top of ECMAScript Date
  • recharts, a charting library built on React components
  • AutoSuggest, a library defining primitives to build simple, flexible, WAI-ARIA compliant React autocomplete components.
Clone this wiki locally