Category: Uncategorized

  • CQL Studio v1 Download Now Available

    If you work with Clinical Quality Language (CQL) and FHIR, a preintegrated bundle of CQL Studio for local use is now publicly available.

    https://cqlstudio.com

    CQL Studio is an integrated suite for authoring, executing, and publishing standards-based FHIR and CQL artifacts, as well as testing CQL engine implementations. By deploying locally or in your own protected team environment, you can test with your own data and terminology resources without sending anything outside your network. The downloadable bundle and corresponding tutorial video is built for running on a laptop or desktop with no additional setup to get started.

    The Foundry distribution is an “evergreen” build that will always use the latest versions of the CQL Studio’s web-based UI, CQL Studio Server (optional), HAPI FHIR, test runner, and other components.

    By design, the bundle doesn’t make external network calls out of the box. FHIR data, CQL library storage, and terminology all use the bundled HAPI FHIR instance, but can be changed based on your needs. An optional preview of AI-assisted drafting is also there if you configure an Ollama endpoint. Nothing is opted in by default.

    Bug reports, feature requests, and feedback are very welcome via the GitHub repositiory!

  • CQL Studio: Filling the Gap in CQL Development Tools

    CQL is becoming the standard language for expressing clinical logic across multiple healthcare domains:

    Despite CQL’s growing importance, developers have been forced to use basic text editors and command-line tools. My aim for CQL Studio is to become the de facto open source development suite for all CQL-based artifact development. 😃

    Vision for a Comprehensive Integrated Development Environment

    Directionally, CQL Studio will provide an IDE-like environment addressing this gap by providing:

    • Intelligent Code Editor: Syntax highlighting, autocomplete, formatting, and real-time validation for CQL development
    • AI-Powered Assistant: Context-aware help for writing and debugging CQL expressions
    • Integrated Testing: Built-in test execution and result visualization
    • FHIR Integration: Seamless connection to FHIR servers for data access
    • Terminology Awareness: This is architecturally complicated and I’m honestly still playing with ideas, but at the very least will include UI tools similar to CDS Connect Authoring Tool and integration with the CQL editors and execution engine.. somehow.

    Vision for the Future

    In terms of product market fit, CQL Studio is targetting a number of different stakeholder groups, such as:

    Quality Measurement Organizations

    • NCQA: Streamlined development of HEDIS measures transitioning to CQL and FHIR
    • DQIC: Enhanced quality measure authoring workflows for the Digital Quality Implementers Community
    • CMS: Simplified measure development and testing for federal quality programs
    • Federal Agencies: Common libraries of nationally-relevant concepts needing computable, shared, interoperable definitions.

    Clinical Decision Support

    Clinical Practice Guidelines

    • CPG on FHIR: Guideline implementation and testing
    • Evidence-Based Medicine: Structured clinical recommendations
    • Care Pathways: Standardized care protocols

    Reflecting on the rallying collaborator support and the meta-issue of how to communicate the impact and success of the suite itself, a few key metrics I have in mind are:

    • Lower Barriers to Entry: Accessible tools for new CQL developers
    • Reduced Development Time: Faster CQL library creation and testing
    • Improved Quality: Better validation and testing capabilities
    • Enhanced Collaboration: Shared development environments and workflows

    That seems directionally correct, at least. Much more to come!

  • GovCIO Quotes

    I was pleasantly surprised to hear that GovCIO quoted one of my recent presentations in a short article on H7 FHIR Foundry: https://govciomedia.com/hl7s-fhir-foundry-speeds-up-health-data-standards-adoption/

    With the Centers for Medicare and Medicaid Services (CMS) pushing for the adoption of FHIR APIs to streamline healthcare data exchange and support value-based care, HL7 and the FHIR Foundry initiative are the best positioned vehicles for providing the tools, resources, and community support to simplify implementations in practice. I’m grateful to be able to contribute!

  • KNARTwork 2022 Rerelease

    The HL7 Knowledge Artifact specification has been an experiment in portable clinical decision support (CDS). While unlikely to see production adoption due to equivalent concepts now in FHIR, it is nevertheless useful to see a standards-based representation of clinical knowledge in a working UI. I am updating the 2017 release of the KNARTwork Community Knowledge Artifact editor — part of the Clinical Quality Framework — to 2022 standards. The live copy is now available at:

    https://knartwork.prestonlee.com

    KNARTwork runs entirely in browser as a single-page app (SPA): there is no server side persistence. All XML document loading, manipulation, validation, and export is done entirely in browser. It implements Clinical Decision Support Knowledge Artifact Specification, Release 1.3, of which I was also heavily involved in. There are some remaining bugs due to being upgraded from Angular 5 to Angular 14. 🙂

    KNARTwork’s code is open source and free to copy, remix, and reuse at the KNARTwork GitHub repository.

  • space_elevator ActionCable Client for Ruby

    I have an interactive command-line daemon (in Ruby) that I needed to receive push events via WebSockets from an ActionCable-enabled Rails application. I eventually succeeded, but doing so required diving into the weeds of ActionCable’s wire protocol since I didn’t want to rewrite my application in JavaScript solely to leverage the official client code.

    Because I’m such a nice guy, I’ve extracted the code and released an easy-to-use client as the space_elevator gem. When combined with gems like thor, it makes writing bi-directional command line API clients a breeze. You can publish/subscribe to multiple channels simultaneously, and all in an event-driven manner. Check out the channel-y goodness and don’t forget to file any issues!

  • BitTorious Trials

    New in BitTorious v4!

    BitTorious v4 has been released, and has received a comprehensive internal upgrade to Rails 5 and PostgreSQL 9.5. Also, all official releases from v4 forward will be built as portable Docker containers and distributed via Docker Hub.

    Due to attempted abuses of the evaluation environment, we’ve unfortunately had to discontinue the publicly-accessible BitTorious trial portal, but would be happy to give you a live demo of the current system if you’ve read one of the papers and are interested in deployment. There are several private instances of the portal in active use, though for security reasons not publicly published.

    Get it yourself!

    Builds via Docker Hub

    GitHub Source Code, Screenshots and Setup Instructions

     

  • How To Custom Brand The OpenStack “Horizon” Dashboard

    I’m deploying OpenStack “Essex” on Ubuntu Server 12.04, and have the openstack-dashboard package installed to provide the web-based “Horizon” GUI component newly added for the Essex release. Canonical also provides an openstack-dashboard-ubuntu-theme package that brands the Python-based Django GUI. Despite that the last major Canonical-maintained packages based on the OpenStack “Diablo” release in Ubuntu 11.10 did not include an administrative GUI, Horizon — as a standalone component — has been very stable for a mainstream debut. In the future, though, I’d like to see a quick and easy way to change the default branding to use your own logo, colors, and titles using only the GUI’s administrative screens.

    The horizon documents briefly mention branding customization to give you a head start, but you probably want more specific steps. Here’s my custom-branded Horizon dashboard with custom colors, logo, and site title:

    Once you know where to make the appropriate changes, it’s super simple. Step-by-step:

    1. Create a graphical logo with a transparent background. The text “TGen Cloud” in this example is actually rendered via .png files of multiple sizes I created with a graphics program. I used a 200×27 for the logged-in banner graphic, and 365×50 for the login screen graphic.
    2. Set the HTML title (shown at the top of the browser window) by adding the following line to /etc/openstack-dashboard/local_settings.py
      SITE_BRANDING = "Example, Inc. Cloud"
    3. Upload your new graphic files to:
      /usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/
    4. Create a new CSS stylesheet — we’ll call ours custom.css — in the directory:
      /usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/css/
    5. Edit your CSS file using the following as a starting point for customization, which simply overrides the Ubuntu customizations made in the ubuntu.css file. Change the colors and image file names as appropriate, though the relative directory paths should be the same.
      /*
      * New theme colors for dashboard that override the defaults:
      *  dark blue: #355796 / rgb(53, 87, 150)
      *  light blue: #BAD3E1 / rgb(186, 211, 225)
      *
      * By Preston Lee <plee@tgen.org>
      */
      h1.brand {
      background: #355796 repeat-x top left;
      border-bottom: 2px solid #BAD3E1;
      }
      
      h1.brand a {
      background: url(../img/my_cloud_logo_small.png) top left no-repeat;
      }
      
      #splash .login {
      background: #355796 url(../img/my_cloud_logo_medium.png) no-repeat center 35px;
      }
      
      #splash .login .modal-header {
      border-top: 1px solid #BAD3E1;
      }
      
      .btn-primary {
      background-image: none !important;
      background-color: #355796 !important;
      border: none !important;
      box-shadow: none;
      }
      
      .btn-primary:hover,
      .btn-primary:active {
      border: none;
      box-shadow: none;
      background-color: #BAD3E1 !important;
      text-decoration: none;
      }
    6. Open the following HTML template in an editor:
      /usr/share/openstack-dashboard/openstack_dashboard/templates/_stylesheets.html
    7. Add a line to include your new stylesheet: (I’ve highlighted the new line in bold.)
      ...
       <link href='{{ STATIC_URL }}bootstrap/css/bootstrap.min.css' media='screen' rel='stylesheet' />
       <link href='{{ STATIC_URL }}dashboard/css/{% choose_css %}' media='screen' rel='stylesheet' />
       <link href='{{ STATIC_URL }}dashboard/css/custom.css' media='screen' rel='stylesheet' />
      ...
    8. Restart apache just for good measure:
       sudo service apache2 restart
    9. Reload the dashboard in your browser and fine tune your CSS appropriate.

    You’re done!

    [ezcc]

  • OpenStack Nova Essex MySQL Database Schema Diagram and SQL

    I’m in the process of setting up an OpenStack Essex installation on a small cluster of Ubuntu 12.04 servers using the Canonical-supplied and supported packages. I innocently and unfortunately ended up with a state corruption issue causing nova-compute to crash on startup, and found it necessary to dive into the schema as a troubleshooting aid. I used MySQL workbench to reverse-engineer the schema into an EER diagram as well as raw SQL. I’m sure others will find this useful as the OpenStack community slowly upgrades to Essex. Hope it helps!

    [Download diagram, SQL, and MySQL workbench file]

  • Hacking Your Own Genome

    Many thanks to everyone that participated in my Hacking Your Own Genome session at today’s Desert Code Camp 2011.2 event in Chandler, Arizona! I’m very passionate about the topic area, and hope the session was both entertaining and useful. Here are the presentation materials, source code for the “youandme” application, and a few other links you might find useful. Thanks again for the opportunity and don’t hesitate to reach out and stay connected!

    Presentation:

    Additional Links:

    Have fun!

     

  • Amazon Finally Adds Lending Library

    Late is better than never! (From the press release. Customer details here.)

    With an Amazon Prime membership, Kindle owners can now choose from thousands of books to borrow for free - including over 100 current and former New York Times Bestsellers - as frequently as a book a month, with no due dates
    Books can be borrowed and read on all Kindle E Ink devices and Kindle Fire

    Not exactly the most giving of terms, but it’s a start. Thanks to the Kindle team!