Giter Club home page Giter Club logo

safety-histogram's People

Contributors

dependabot[bot] avatar emmorris avatar jwildfire avatar mhickle avatar nbryant avatar pburnsdata avatar samussiah avatar

Stargazers

 avatar

Watchers

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

Forkers

samussiah

safety-histogram's Issues

Support multiple histograms for between group comparisons

From Jack

  • "For the group comparison and histogram views, is there a way to see both treatment arms on the same page; e.g., a different color for the different groups so you can quickly see how they look relative to each other, without having to flip back and forth between treatment arms?"

Test notes

  • Verify a dropdown labeled Group by appears to the right of the histogram.
  • Select an option from the dropdown and verify a histogram appears for each value of the selected option.
  • Select None from the dropdown and verify the grouped histograms disappear.
  • Verify the grouped histograms update upon selecting a different measure.

Rename Lab Test Variable

The variable called "Lab Tests" does not match other charts, so please change it to "Measure"

Make axes ranges stay consistent when using a filter

From Meagan Spychala on 9/19:

"It would be really useful if the axes’ ranges stayed consistent when using a filter. For example, we were looking at a longitudinal graphic of systolic blood pressure across several sites, but each site’s graphic had an updated vertical range to fit that site, it did the use aggregate of the data (i.e. if the SBP for the study as a whole was 70 to 160, but a site’s range was 90-120, the 90-120 would be the vertical axis range for that site only) . Because the range of the vertical (SBP) and horizontal (Visit) axes can change, it is harder to see if the sites were in line with each other or if there was an outlying site. I think it’s appropriate to have the range of the axes change depending on the measure (for example, SBP vs. DBP), but once you pick a measure, the axes’ range should be held constant based upon the overall data to be able to identify potential trends."

Test notes

  • The x-axis domain should only change when the measure changes or when the x-axis limit controls are changed.
  • The x-axis domain should not change when any user-specified filters change, e.g. sex, race, treatment group, etc.

Update class of custom controls' control label...

...from control-label to wc-control-label to keep in sync with webcharts v1.10.0.

Test notes

  • Run d3.selectAll('.wc-controls .control-label') in the developer console and verify that the selection returns 0 nodes.

Add settings schema.

Test notes

  • Settings form builds in CAT (CAT won't load a branch's settings schema just yet. Issue logged.).
  • Compare rendererSpecificSettings in src/defaultSettings.js with settings-schema.json in the settings-schema branch. There should be properties in settings-schema.json that match up with variables in the rendererSpecificSettings section of src/defaultSettings.js.

Explicitly support queries

Be able to flag and remove records that have been removed from the chart (filtering, highlighting, ??)

Jeremy to prototype

pagination bug in latest version of webcharts

In test webcharts version 1.9.0-RC3, I noticed a pagination bug, where you can click on a bar in the chart with lots of records, page through the table for several pages, and then if you click on a bar with fewer records, it seems to retain the pagination, even if the new table does not have that many pages, so you end up with an empty table. It shows the correct number of records, and you can click a page or arrow button to be taken to a page with records on it, but the table should be properly refreshed when you click on a new bar.

Steps to recreate:

  1. render the chart
  2. click on one of the taller bars in the chart
  3. paginate through the table to at least page 5 or 6
  4. click on a much smaller bar in the chart

image

Support chart.destroy()

webcharts is being updated with a chart.destroy() method. Lets add support for that functionality here as well.

Test notes

  • No feature testing required. destroy() is a webcharts method that in this renderer also destroys the listing.

Annotate Statistical Test for Normality

Test notes

  • Verify an annotation appears in the top right of the chart labeled Normality: with a p-value and an info icon.
  • Verify hovering over the p-value displays information about the statistical test.
  • Verify clicking the info icon opens the relevant Wikipedia page.
  • Verify the p-value updates upon selecting a different measure.

Improved Binning in Histogram

Then the only outstanding question for Graphics is why the occasional discontinuous histograms for continuous data. For some, at least, it may have to do with the way the reported values are grouped for graphing. For sodium (bottom paste, below), for example, the lab reports in whole numbers, so there will be many 136s, 137s, 138s, etc; but the graph parses at 135.400-136.240, 136.240-137.080, [gap], 137.920-138.760. The gap, then, would be explained because there don’t exist any reported values between the whole numbers. Let’s see if that works on albumin … one moment please … Yep: the gaps are between whole numbers. So… would be good if the data could all be cut across actual reported values rather than between them, but this is not high priority because I can obviously still read them; just won’t look as good if/when we send them out.

Table header doesn't clear when filters change.

Steps to recreate:

  1. click a bar in this example - linked table and header appear
  2. filter the table by sex - table clears, but header is still shown (see screenshot below)

screen shot 2016-12-15 at 4 31 32 pm

Expected behavior - table header resets to "Click a bar to see details." when filtering.

Show # of Enrolled/Randomized Participants

Not sure the best way to handle this, but it would be good to have the number of relevant study participants shown somewhere on the chart. Maybe add a footnote for "X of X participants shown in this view"

Add controls for Interactive x axis

"I’m thinking we’d want to let you manually update min and max for the x-axis (the range of values) on the histogram using something very similar to the new controls in the outlier explorer. When the x-axis changes, we would have the y-axis (the counts) automatically update to match the displayed data." - From Jeremy and Jack's email exchange on 12/7

Regression Testing for Histogram v2.0.0

Confirm basic functionality and new features are working as expected in examples shown below:

Examples using v2.0.0 Release Candidate

Basic Functionality (Tested every release)

  • Check all spelling and grammar on the page
  • View x of x participants note at the top of the page: check that it shows 100% on load, and updates when filters are applied.
  • Confirm that the Measure filter is working as expected: when selected, the distribution of observations should change.
  • Confirm that the participant filters (sex, race, etc) are working as expected: when selected, the distribution of observations should change along with the ratio and percentage of affected participants
  • Use a combination of filters to ensure that more than one manipulation can be applied at once
  • Confirm a description of the range and # of records appears below the chart when the user mouses over a bar
  • Confirm that you can view a detailed listing of measure records by clicking on a bar in the chart: the number of records for the measure and selected range should appear underneath the chart

New Functionality (Tested in V2.0.0 only)

  • Default Settings

  • Confirm that the Measure variable is the only filter available

  • With Filters

  • (#28, #18) Confirm that the following filters appear in the example (measure, site, visitnum, sex, race)

  • (#27) Confirm table header resets when a new filter is applied: test by clicking a bar to expand the table, filter on a variable, check that the table header now says "Click a bar for details."

  • (#8) Confirm that linked table shows consistent set of default columns when filtering

  • (#20) Confirm # of enrolled/randomized participants is visible in chart header

  • (#12) Confirm the ability to apply normal ranges by checking the Normal range box: a range rectangle should appear for each participant

  • (#11) Confirm that the bars are not cut off on either end of the chart

  • (#38) Confirm that the option to select normal ranges isn't available when the data doesn't include normal ranges

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.