Initial Release
iris-table-stats is an InterSystems IRIS backend module for exploring persistent classes and measuring how well their fields are populated.
It is intended for data quality and data knowledge use cases:
The module exposes a REST API under /iris-table-stats/api.
After installation, the backend exposes endpoints such as:
GET /iris-table-stats/api/classesGET /iris-table-stats/api/classes/{className}/dataGET /iris-table-stats/api/classes/{className}/statsGET /iris-table-stats/api/classes/{className}/empty-records?columnName=...GET /iris-table-stats/api/_specThe /stats endpoint is especially useful to understand how complete a table is. For each property of a persistent class, it reports:
This project is useful when you want to answer questions like:
That makes it a good fit for demo environments, imported datasets, discovery projects, and data-quality reviews.
If your target IRIS does not yet have IPM/ZPM installed, install it first.
Then open an IRIS terminal in the target namespace and install the backend package.
Example:
USER>zpm
USER:zpm>install esh-iris-table-stats
If you are using the test registry, you can switch to it first:
USER>zpm
USER:zpm>repo -n registry -r -url https://test.pm.community.intersystems.com/registry/ -user test -pass PassWord42
USER:zpm>install esh-iris-table-stats
To switch back to the public registry:
USER:zpm>repo -r -n registry -url https://pm.community.intersystems.com/ -user "" -pass ""
If you want to install directly from source during development:
USER>zpm
USER:zpm>load /path/to/iris-table-stats
USER:zpm>install esh-iris-table-stats
This backend becomes much more useful when it is installed together with demo or sample datasets.
Recommended companion packages:
iris-dataset-countries
https://openexchange.intersystems.com/package/iris-dataset-countriesHealth-Dataset
https://openexchange.intersystems.com/package/Health-DatasetThese packages give you realistic persistent classes to inspect through this API and make the population stats endpoints much more meaningful.
Recommended UI:
iris-class-explorer
https://github.com/evshvarov/iris-class-explorerThe frontend is intended to work together with this backend and provides a class explorer UI on top of the API.
Install the frontend package with IPM as well:
USER>zpm
USER:zpm>install iris-table-stats-frontend
Example UI screenshots:
Data view:

Stats view:

A typical setup on a target IRIS looks like this:
USER>zpm
USER:zpm>install esh-iris-table-stats
USER:zpm>install iris-table-stats-frontend
If you also want sample data:
USER>zpm
USER:zpm>install iris-dataset-countries
or:
USER>zpm
USER:zpm>install Health-Dataset
The backend web application is installed at:
/iris-table-stats/api
The OpenAPI spec is available at:
/iris-table-stats/api/_spec
Examples:
/iris-table-stats/api/classes
/iris-table-stats/api/classes?includeSystem=0&includeMapped=0
/iris-table-stats/api/classes/Package.Class/data?limit=100&offset=0
/iris-table-stats/api/classes/Package.Class/stats
/iris-table-stats/api/classes/Package.Class/empty-records?columnName=SomeProperty
Prerequisites:
Build and run locally:
docker compose build
docker compose up -d
Open an IRIS terminal:
docker compose exec iris iris session iris -U USER
Run the module tests:
USER>zpm
USER:zpm>test esh-iris-table-stats
Use this repository when you need a small IRIS backend that helps you understand how well persistent class data is populated, especially when paired with sample datasets and the iris-table-stats-frontend UI.