Tabular Views of OpenMRS Data


(Stephen Senkomago Musoke) #1

The only lists of data available are metadata lists, for configuration, however I would like to suggest that we add views of the following:

  1. Encounters - with filters for patients, encounter types, encounter start and end dates and the ability to export the data into Excel and CSV (Data tables already has this capability and is used in Data Integrity module)

  2. Observations - with filter for patients, encounter types, encounter start and end dates, observation types (these are the concepts for only the data that has been collected)

  3. Encounter Observations - a de-normalized list of the observations in an encounter (which is an extension of 1 and 2 above). I am fine with having this as a separate page which is only accessed for a single encounter or a single patient for performance reasons

I have received requests for exporting all the encounters for a patient and rather than write a report I believe this will provide the necessary solution.

Is there any design reason why data is not displayed in this form within OpenMRS?


Encounters & Observations OWA Sprint Announcement
Design Forum 2017-07-26: OPEN FORUM
Thoughts on the UI for Patient Data Management OWA
(Daniel Kayiwa) #2

Do you mean built in reports that would give you such data?


(Stephen Senkomago Musoke) #3

@dkayiwa All i need is a way to export the data based on the needs above. I think there should be native support which allows filtering and sorting too


(Daniel Kayiwa) #4

For the reason as to why this is not in place, it is a result of not being able to know needs for each and every implementation. That is why a generic reporting module was created such that you can use it to come up with a solution to the above. But when various implementations start asking for similar kinds of reports out of the box, then there comes what is being worked on as built in reports.


(Stephen Senkomago Musoke) #5

@dkayiwa This is generic and can be used by any implementation - custom needs can go to reporting


(Daniel Kayiwa) #6

So would you vote for it to go in built in reports?


(Stephen Senkomago Musoke) #7

I do not mind as long as I can filter/sort, search and export data.


(Stephen Senkomago Musoke) #8

@mseaton Can the reporting module provide a backend for this kind of data display with filtering and sorting


(Mike Seaton) #9

@ssmusoke, yes, the reporting module aims to provide this type of back-end functionality.

Mike


(Stephen Senkomago Musoke) #10

I am reviving this thread to see if there is new thinking about how to approach this.

Due to increased data use needs within UgandaEMR this has become a regularly requested feature with most comments being, for most systems this is default functionality.


(Stephen Senkomago Musoke) #11

I think the default would be provide a de-normalized view of the data by encounter type (which seems to have the same concepts) to be meaningful.


(Darius Jazayeri) #12

@ssmusoke I would say that if you can provide a very concrete description of the first most valuable thing, then others can comment on whether they agree with this, and we can evolve to a consensus on what/how to build.


(Stephen Senkomago Musoke) #13

@darius The most concrete thing that I have is this flow:

  1. Enter encounter for patients

  2. Export the encounter data into Excel/Stata for further analysis - which may not be possible with in-built tools (or takes long to develop) or may be unknown


(Darius Jazayeri) #14

@ssmusoke: you created this thread talking about tabular views of OpenMRS data, and clearly you have some specific ideas in mind around it. But I’m not sure that others are getting those same ideas. So, put together a quick mockup (even in text), or just describe how the screen might look.


(Stephen Senkomago Musoke) #15

Here is a spreadsheet https://www.dropbox.com/s/ubzd790dswdsuj6/EncounterView-v1.0.xls?dl=0


(Darius Jazayeri) #16

So, you want to let people choose:

  • encounter date (range)
  • encounter type (multiselect)
  • location (multiselect)
  • provider (multiselect)
  • creator (multiselect)

And then this will export a row-per-encounter spreadsheet, with a few patient details, and also with all the obs values flattened out.

Just to point out that including the obs values is technically difficult because of repeating obs and obs groups. How would you want those to work?

(Though actually I see that there’s an EncounterAndObsDataSetEvaluator already in the reporting module, so maybe the best thing to do is to just build a thin UI wrapper around calling this, and see if that’s sufficient.)

I don’t know if last year’s GSoC built-in reports module complete enough to be a good starting point for this. If not, just writing an OWA with a few UI widgets, that then calls Reporting REST should be pretty easy for someone to build.


Design Time 2018-02-14: OPEN FORUM