Dimensional item cannot be null

Hello,
I’m experiencing a confusing issue when querying data from Program Indicators.

We’re using a query like this:

/api/analytics/dataValueSet.json?dimension=dx:[ProgramIndicatorUID]&dimension=pe:202302&dimension=ou:LEVEL-4&outputIdScheme=ATTRIBUTE:[ProgramIndicatorAttributeUID]

When you run this query, it executes once successfully, then if it is refreshed, returns an error:

“httpStatus”: “Bad Request”,
“httpStatusCode”: 400,
“status”: “ERROR”,
“message”: “Dimensional item cannot be null”

The error can be resolved by clearing the application cache.

I cannot replicate this elsewhere, but in general here are the steps with screenshots:

  1. Run the above query - it returns values
  2. Run the above query a second time - it returns the error:
  3. Clear the application cache, and you can again get the appropriate values.

Any insight on how to modify this query to prevent the cache issue would be appreciated.

2 Likes

Thanks for sharing the post with the workaround! How are you clearing the application cache, is it through the Data Administration app? Are there any errors in the Catalina out log?

If you test this issue in your browser’s Guest mode, does it still happen?

One idea that I have in mind theorizing why this could happen is that maybe clearing the cache is creating enough space for the request and then reloading the request there’s not enough memory space, so maybe check all the cache configurations in your system settings?

Thanks!

Hello,

I am facing the same error using the same endpoint that @kstankevitz is using.

My error arises when I change the dimension=ou<UID> to a country’s UID where there are many records.
However, whenever I change the ou to the UID of a health center, I get the data.

@mauricejm thanks for sharing! So maybe the issue is when there are too many records? Could you add paging or pageSize to that request and see if the issue is resolved?

Thanks!