Appointments Daily Counts

Tags: #<Tag:0x00007f01ba2a75e8>

I’m storing appointments records in my database. I want to expose a report of the daily appointments to the client grouped by date. Here is a screenshot of a sample report I want to obtain

Could someone kindly suggest to me how I can achieve this.

Is using reporting and reportingRest module the way to go? If so where can I get some developers guiding documents on this, I would appreciate any useful links @dkayiwa @rickysilas @mseaton

Did you get a chance to look at these classes: https://github.com/openmrs/openmrs-module-appointmentscheduling/tree/master/omod/src/main/java/org/openmrs/module/appointmentscheduling/rest/resource/openmrs1_9

And these? https://github.com/openmrs/openmrs-module-appointmentscheduling/tree/master/omod/src/test/java/org/openmrs/module/appointmentscheduling/rest/controller

@dkayiwa I had used that approach and it was working but it seems that wasen’t the approach I was supposed to use

kindly check the reviews on this or https://github.com/openmrs/openmrs-module-appointmentscheduling/pull/20

Did any one tell you that you should not create resources that look like the existing ones?

The approach is i was creating a POJO to help me group appointments by date. I them processing the appointments to group them by date and mapping them to this POJO class. The idea is to obtain response like

  date:2019-1=05-05,
  count: 5  // total number of appointments in that day
 appointments:[ ] //list of appoitnment in that day

I then exposed this data using a resource.

As per the reviews resources should only used with entities that have CRUD operations. That leads to the question, can someone suggest for me how i can group this data by date and expose them to a client?

If we already have a resource which returns appointments, wouldn’t this be simply adding optional parameters for grouping?

would you kindly elaborate, how can that be used to to provide a resource representation that would give me the above data

@dkayiwa and @jecihjoy I have made similar comments to Daniel’s on the pull request.

@mseaton @dkayiwa these parameters will be added to the request but in my case the representation also needs to change to this. https://talk.openmrs.org/uploads/default/original/2X/e/e2e2c3d78fb66148147b91adaf38e8a9ef267ae5.png

The class I introduced is like a DTO, I need to write a raw sql query that groups appointments by date.

Does openmrs have read only resources that can be used with DTOs to expose data?

@mogoodrich @darius any ideas?