Install the compiler in a test directory
This walkthrough uses Endexis v2.0.0 with Python 3.12 and Git. It works with a synthetic reporting request. You need no Oracle connection, model weights or patient records.
python3 -m venv .venv
. .venv/bin/activate
git clone --depth 1 --branch v2.0.0 https://github.com/spencernorton/endexis.git
python -m pip install ./endexis
Generate CCL and a DA2 report bundle
Use the same request for the two outputs so you can compare what they generate.
query='List active inpatient encounters with their nurse unit'
endexis compile-ccl "$query" --name cust_r_census_demo --out inpatient_census.prg
endexis generate-da2 "$query" --name inpatient_census_demo --out-dir ./inpatient_census_da2
inpatient_census.prgcontains Discern Explorer CCL source. It begins by dropping and creating the named program. Inspect the file in an editor. The compiler has only written a local file.- The
inpatient_census_da2/directory contains a BIRT.rptdesign, a.dareport, DA2 query XML ininpatient_census_demo_Query.daquery, Oracle SQL ininpatient_census_demo_Query_ejs_v500.sql, and ainpatient_census_demo_bundle.jsonmanifest. - Open the manifest to find the verification result and the example
TENANT_OWNER_GROUPplaceholder. Use your own approved tenant configuration for any real deployment.
Verify the synthetic query
endexis verify-sql "$query"
In the included SQLite fixture this reports executed: true, non_empty: true, fanout_safe: true and row_count: 2. Both fixture rows have a nurse unit and no discharge timestamp. Before uploading generated files, review the SQL, CCL and report against your target Millennium schema, permissions and reporting environment. Keep real records out of example inputs.
See the v2.0.0 release and the compiler reference for output formats and tenant configuration.