QA and release assets¶
The scripts repository produces reproducible artifacts that supplement the CIEL Lab UI.
OpenMRS SQL¶
generate_mysqldump_from_ocl_version.py converts an OCL CIEL export ZIP or JSON
file into an OpenMRS 1.11-compatible concept dictionary dump.
Validate the result at two levels:
tests/test_generate_mysqldump_from_ocl_version.pycompares parsed schema and INSERT data without a database.tests/test_generate_mysqldump_from_ocl_version.shimports reference and generated dumps into disposable MySQL databases and performs a semantic comparison.
Treat PASS WITH CAVEAT as a review state, not an unconditional release pass.
Name validation assets¶
generate_name_validation_assets.py creates CIEL Lab-compatible CSV inputs from
WhoNamedIt and NCBI Taxonomy. Outputs separate:
- genus names;
- proper-name exceptions;
- eponym author data.
Record the upstream retrieval date so a later rule change can be reproduced.
ICD-11 mapping QA¶
qa_check_non_normalized_ciel_icd11_codes.pyfinds complex mappings that need normalization review.qa_check_broken_icd11_mapping_parts.pychecks each mapped part against Simple TabulationCodeandBlockId.check_newlyadded_icd11_codes_against_ciel_concepts.pycompares WHO changelog additions with CIEL.check_retired_duplicate_mappings.pydetects duplicate mapping keys when at least one member is retired.
Enrichment¶
generate_expanded_synonyms.py produces resumable NDJSON with expanded clinical
descriptions. Its output is model-generated and must be reviewed.
etf_ciel_source_v2026_02_06_expanded_synonyms.py merges reviewed descriptions
into OCL-ready output and can split large imports into ordered source, concept,
and mapping chunks.
Publish to Liquibase Runner¶
liquibaserunner_upload.sh uploads a ZIP through the GitHub Contents API. It
reads LIQUIBASE_RUNNER_TOKEN from a private .env. Before upload:
- verify the SQL tests;
- inspect archive contents and version names;
- confirm the target repository/path;
- preserve the checksum;
- publish with a least-privilege token.