Code Monkey home page Code Monkey logo

halyos's Introduction

Halyos Build Status

Redesigning the Patient Portal Experience with SMART on FHIR

Halyos is a visual EHR web app developed at the Harvard Medical School by the Gehlenborg Lab that complements the functionality of existing patient portals. Halyos is designed to integrate with existing EHR systems to help patients interpret their health data.

The Halyos application utilizes the SMART on FHIR platform to create an interoperable interface that provides interactive visualizations of clinically validated risk scores and longitudinal data derived from a patient’s clinical measurements.

Demo: http://halyos.gehlenborglab.org/

Wiki: https://github.com/hms-dbmi/halyos/wiki (In progress)

Development

Dependencies

npm install

Commands

npm start      // Start dev server at http://localhost:3000
npm run build  // Build application
npm run test   // Test application

Built With

Authors

  • Samson Mataraso - Research Intern
  • Vimig Socrates - Research Intern
  • Fritz Lekschas - SEAS PhD Candidate
  • Nils Gehlenborg - Principal Investigator

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Members of Harvard DBMI for brainstorming, design and feedback
  • Dr. Susanne Churchill for her mentorship and support
  • Summer Institute in Biomedical Informatics at DBMI for the opportunity

halyos's People

Contributors

flekschas avatar samson920 avatar vsocrates avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

halyos's Issues

Measurement Page dealing with multiple LOINC codes

Some measurements are measured in different ways: Waist Circumference by NCFS, Waist Circumference by NHANES, Waist Circumference by WHI etc.

To deal with this we need to change the measurement page to accept LOINC codes from another source than just the URL param (from react-router).

This would involve changing the react-router config and having a dictionary somewhere of measurement => LOINC codes (1-many) mapping to pull from.

Past-To-Future-Graph keeps the mousemove eventlistener

This is an issue since it makes the UI slow, and will get worse the more graph widgets we add.

Respective code snippet in Past-To-Future-Graph.js:

target: "data",
eventHandlers: {

	onMouseDown: (evt) => {
		//console.log("on mouse down triggered: ", evt);
		return [
		{
      target: "data",
      mutation: (props) => {
      	this.func2 = this.boundFunction.bind(this);
      	
      	document.addEventListener('mousemove', this.func2);

        return null;
      }
    }];},

	onMouseUp: (evt) => {
		console.log("on mouse up triggered: ", evt);
		return [
		{
      target: "data",
      mutation: (props) => {
			document.removeEventListener('mousemove', this.func2);

      }
    }];}  
}
}]}```

Data model redesign for graphs of observations my measurement

Currently, to get the min/max/refRange and individual observation results for graphs on the Measurement Page we are finding the necessary measurements once.

This becomes unwieldy with more measurements (codes) so the data model needs to be redesigned to handle both the single and the multiple case.

These are the current fields that are necessary (however, they are all individual props):

measurement1: {
    minVal:0
    maxVal:100
    referenceRange:[30,40]
    dataPoints:[{x:timePoint1, y:measurementValue1},{x:timePoint2, y:measurementValue2},{x:timePoint3, y:measurementValue3},{x:timePoint4, y:measurementValue4}]
}
measurement2: {...}
measurement3: {...}
}

We need to make the above model extensible in case the graphs need more features at some point.

Data Model Redesign for RiskScore Tiles

Designed like the following, the method will be extensible for new risk scores and will automatically parse observation and condition resources, and extra patient resource information (age, gender).

20170728_170631

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.