Data Set Viewer in Reporting Module

Primary mentor

Mike Seaton

Backup mentor

Darius Jazayeri

Assigned to


The reporting module provides an extensive API for defining and evaluating Datasets. Among the Datasets it includes are Row-per-Patient, Row-per-Encounter, and Row-per-Obs implementations. The plan is for the API to grow to support all domain objects in this format. At the moment, use of these features is limited to API users only. The goal of this project is to provide a user interface that provides a simplified, yet powerful tool that allows users to define, view, and export a customized table of data.

In it's first implementation, the focus should be on viewing and exporting Row-per-Patient Datasets. This capability should be designed in such a way that support for Row-per-XYZ object is also able to be incorporated easily in future iterations.

Project Champions


  • Start with PatientDataSetDefinition only, but keep in mind that we will want to expand this to any RowPerObjectDataSetDefinition
  • Provide a means to start authoring a new definition, and to keep the in-progress version in the session
  • Create a very fast interface, using ajax, to quickly build up the definition
  • Support adding filter rows
  • Support adding column data definitions and converters
  • Have a preview pane that shows (asynchronously) a limited preview of the definition as it is built up, and server-side paging of results
  • Provide a means for saving this as a new DataSetDefinition or just running it ad-hoc
  • Support exporting the dataset to csv or Excel