Skip to content

Repository files navigation

ABC of ECL

An interactive web app for learning SNOMED CT Expression Constraint Language (ECL), focused on medicines and clinical terminology.

🔗 Live Demo: snbyrnes.github.io/ABC-of-ECL

ECL Query Builder GitHub Pages License

image

Features

  • Multi-Page Site — Dedicated pages for Home, Builder, Examples, and Resources
  • 15+ Query Templates — Pre-built templates for medicines, clinical findings, and procedures
  • Live Concept Search — Search SNOMED CT concepts in real-time
  • Plain English Descriptions — Understand what each query does before running it
  • ECL Query Anatomy — Interactive breakdown explaining each part of the ECL syntax
  • Page Guide — Collapsible guide explaining how to use each section
  • ECL Generation — Watch queries build as you configure parameters
  • Real Results — Execute against CSIRO Ontoserver FHIR API
  • Syntax Reference — Quick reference cards for ECL operators
  • Dark/Light Theme — Toggle between themes
  • Changelog Modal — View version history from footer link
  • PWA Support — Installable as an app with offline-ready manifest
  • SEO Optimized — Structured data, meta tags, and sitemap for search engines
  • Fully Static — Runs entirely in the browser
image

Quick Start

Option 1: Use the live site

Visit snbyrnes.github.io/ABC-of-ECL

Option 2: Run locally

git clone https://github.com/snbyrnes/ABC-of-ECL.git
cd ABC-of-ECL
# Open index.html in your browser

No build step or dependencies required.


Project Structure

ABC-of-ECL/
├── index.html          # Home page - Introduction to ECL
├── builder.html        # Interactive ECL Query Builder
├── examples.html       # Example queries & syntax reference
├── resources.html      # Documentation & learning resources
├── styles.css          # Styles (light/dark themes)
├── app.js              # Application logic & FHIR integration
├── favicon.svg         # Site favicon
├── manifest.json       # PWA manifest for installability
├── sitemap.xml         # XML sitemap for search engines
├── robots.txt          # Search engine crawl instructions
├── CHANGELOG.md        # Version history
├── roadmap.md          # Enhancement roadmap
├── .nojekyll           # GitHub Pages config
└── .github/
    └── workflows/
        └── deploy.yml  # GitHub Actions deployment

Contributing

This project is under active development and welcomes feedback!

  • 🐛 Report bugs or suggest features: GitHub Issues
  • 📋 View the roadmap: See roadmap.md for planned enhancements

Terminology Server

This app queries the public CSIRO Ontoserver FHIR R4 endpoint:

https://r4.ontoserver.csiro.au/fhir

Uses the ValueSet/$expand operation with ECL-based value set URLs.


Deployment

Automatically deploys to GitHub Pages on push to main via GitHub Actions.

To deploy your own:

  1. Fork this repository
  2. Go to Settings → Pages → Source → GitHub Actions
  3. Push to main branch

Resources


Disclaimer

For educational purposes only. Not for clinical decision-making. SNOMED CT® is a trademark of SNOMED International.

About

Medication focused site to learn about expression constraint language

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages