For suppliers interested in understanding more about the CDS-API, working demos of an Encounter Management System (EMS) and a Clinical Decision Support System (CDSS) compliant to the CDS-API specification are available as Git repositories for running in a self hosted environment.

Encounter Management System Test Harness

The EMS is responsible for invoking the decision support process on the CDSS. The EMS will typically also manage elements like user authentication, workflow and user interactions.

The EMS Test Harness application aims to provide the minimum functionality required be compliant to the CDS API specification.

The EMS MUST be able to:

  • Initiate the selection of a ServiceDefinition
  • Initiate the evaluation of a ServiceDefinition
  • Read appropriate resources from the CDSS (e.g. Questionnaire)
  • Write appropriate resources (e.g. QuestionnaireResponse)


The Encounter Management System MAY:

  • Write resources which are not core (e.g. Condition)

The EMS test harness repository is available at https://gitlab.com/ems-test-harness/cdss-ems.

This repository is in active development. To access the version compliant to 1.0.0 of the CDS-API please use the repository 1.0.0 tag.

EMS Test Harness - setup and build instructions

Pre-requisites

Install nodejs and npm if they are not already on your machine.

Frontend setup

Navigate to the EMS-UI folder cd .\EMS-UI\

Install angular CLI npm install -g @angular/cli

Install dependencies npm install

To run the application ng serve --open. This will open the app on port 4200.

The applications configuration can be found in EMS-UI/src/environments

To generate a new component ng generate component <component-name>

Backend setup

Create a MySql database and run the sql scripts under src/main/resources/sql

Update the src/main/resources/application.properties file to point to the database.

Credentials to access the EMS solution

  • Username: admin
  • Password: password

Logging in as admin will provide access to an Admin menu with extra test harness configuration options such as user management, CDSS Supplier management, environment settings and audit logs.

Using the EMS test harness application

Once logged in, the home page will be displayed

The EMS Test Harness home page

This gives a selection of patients and CDSS suppliers. The list of suppliers can be changed by going to Admin > Manage CDSS Suppliers. New suppliers can be added, removed or altered (using the Edit button). New scenarios can be added when editing a supplier but please note that new scenarios will not work unless the scenario is also added into the supplier CDSS database.

To run through a scenario you must

  • Begin on the Home page
  • Select a patient by clicking on one of their names
  • Select a test CDSS
  • Once a CDSS is selected the user is given a list of service definitions
  • Select the service definition you wish to run and click the Launch button.

When running through a scenario you will be presented with a series of questions. Answer the questions and click Continue until the scenario ends. Previous answers may be amended using the Back button. When the scenario ends the user is shown a suggested action or care plan. Start over by clicking on the Home link at the top of the page and selecting a new patient and supplier.

CDSS (Clinical Decision Support System) Stub

The CDSS is responsible for making clinical decisions, and communicating these to the EMS.

Together the EMS and one or more CDSS’s are responsible for providing clinical and non-clinical UEC personnel undertaking triage or consultation with clinical support.

The CDSS Stub application aims to provide the minimum functionality required to be compliant to the CDS API specification. The CDSS MUST be able to:

  • Respond to filtered searches for ServiceDefinition
  • Respond to evaluation of a ServiceDefinition
  • Read appropriate resources from the EMS (e.g. QuestionnaireResponse)
  • Write appropriate resources (e.g. Questionnaire, Observation)

The CDSS Stub repository is available at https://gitlab.com/ems-test-harness/cdss-supplier-stub.

This repository is in active development. To access the version compliant to 1.0.0 of the CDS-API please use the repository 1.0.0 tag

CDSS Supplier Stub - setup and build instructions

Running with Docker

To run this locally just run: $ docker-compose up

This will obtain the mySQL image, initialize the cdss-supplier database and run the populate_data.sql script which creates the tables and populates with the mock data.

It will also download and run the cdss-supplier-stub image from the docker registry in gitlab.com.

Within the docker-compose.yml file. The mySQL host can be changed from cdss-mysql to localhost if the mysql server is being hosted on the local machine instead of the docker container.

Have a look at Docker documentation for more information.

Running without Docker

Create a MySql database and run the sql scripts under src/main/resources/sql

Update the src/main/resources/application.properties file within the EMS Test Harness to point to the database.