Quick Start Guide
This tutorial will provide an overview of how to install and run the SanteDB iCDR MPI solution (SanteMPI) using Docker for a demonstration environment.
Do not use these instructions to deploy SanteMPI in a production environment. These instructions are intended to provide a quick start for demonstration or evaluation only.
The code for the quick-start guide can be found on the SanteDB GitHub page at: https://github.com/santedb/hello-mpi
This tutorial uses Docker as a basis for illustrating SanteMPI functions. In order to complete this tutorial, users should:
- Have Docker installed on the host system (on Windows or Linux)
- Have a text editor which can be used to edit the docker YML files
- Downloaded the Installation Qualification Test Suite (https://github.com/santedb/santempi/blob/master/SanteMPI-Test-Cases-soapui-project.xml)
In a text editor, create a new directory and create a new text file called
docker-compose.ymlin that directory.
First, you will need to create a postgresql service, this is where the SanteMPI database will be stored.
- Creates a new docker service called
- Exposes the PostgreSQL database on the host on port 5432
- Sets the initial postgresql user to
Next, declare the
santedb-mpiservice , this service will host the the actual iCDR which has SanteMPI:
- SDB_DB_MAIN=server=sdb-postgres;port=5432; database=santedb; user id=santedb; password=SanteDB123; pooling=true; MinPoolSize=5; MaxPoolSize=15; Timeout=60;
- SDB_DB_AUDIT=server=sdb-postgres;port=5432; database=auditdb; user id=santedb; password=SanteDB123; pooling=true; MinPoolSize=5; MaxPoolSize=15; Timeout=60;
This section of the file:
- Creates a service named
santedb-mpiin the docker environment
- Connects the main database to
- Connects the audit database to
auditdbon the db container
- Instructs the iCDR to
- Instructs the iCDR to wait 5 seconds before starting (to allow the database to initialize)
- Forward/expose the iCDR APIs on port 8080
Finally, create a container which will run the web access gateway using
- Creates a service named
wwwwhich uses the
- Forward traffic to the web portal on port 9200
After saving the text file, return to your command prompt and type:
docker compose -f docker-compose.yml up
This will start the SanteDB iCDR (running SanteMPI), the web access gateway and database. Initial startup of the SanteMPI container can take upwards of 5 minutes. You will see a log entry which indicates that startup was successful after this time.
You can now configure the web-access gateway, the Configuring the Web Access Gateway article contains detailed instructions on how this is performed.
Once startup is completed, navigate to http://127.0.0.1:9200 in your web browser. You will be prompted for connection details. For the quick start use:
- Device ID: quick-web
- Realm: santedb-mpi
The rest of the settings can be left as their defaults.
Joinbutton will prompt you for a user name and password, use
Mohawk123as the password.
You will be managing a SanteMPI server, therefore you will need to instruct the web access gateway that this gateway will be acting in the "SanteDB Master Patient Index Functions" solution.
Ensure you select the option to automatically download updates for applet files. This will ensure new applets uploaded to the iCDR will be downloaded by the dCDR gateway.
Since the web access gateway will be acting as an administration panel, you should set the dCDR in online only mode (no disconnected use)
santedb-wwwand Web Access Gateway in general lack the SQLite binaries needed to operate in offline mode. If you select offline mode your web container will most likely not start up.
You can accept the defaults for the following screens:
- Logging - This screen sets the verbosity of the output to your Docker host log
- Application Services - This screen allows for the enabling of third party or additional services which are not required by the web access gateway.
- Network - This screen allows you to configure the optimization between the dCDR and iCDR
Full documentation of these settings can be found on the Installing Web Access Gateway and Installing Disconnected Gateway wiki articles.
You can customize the manner in which the SanteMPI user interface behaves by setting one or more User Interface App Settings. For example, the configuration below will only require given and family names to be registered, and will show the normally hidden fields for collecting patient Religion.
Once your settings are saved, the web access gateway will save the settings and restart itself.
You can now log into the web administration console for the Master Patient Index. You can use the administrator/Mohawk123 account to log into the administrative panel.
Since this is a demonstration environment, you will probably want to change the default access policies for
Administratorsto allow them to see clinical data and perform MDM tasks. This is done by navigating to
Security -> Groupsand pressing edit on the
You can scroll to
Policiesand add the following policies to the group:
- Unrestricted MDM
- Unrestricted Clinical Data
After adding these policies you should observe the policies in the master list of permissions.
You do not need to SAVE policy assignments, they are applied immediately.
The policies associated with your session for Administrator were established when you logged in, you've changed the policy set, however, your session will still have the old policy assignments for your user role. You will need to log out of the user interface to obtain a new session with the new policies.
An easy way to get patients into the SanteMPI instance is to run the Master Patient Index / Client Registry Qualification. These tests will ensure that the MPI is operating correctly (using the default options) and in the process, will create a few test patients.
In the pre-requisites, a link was provided to the SanteMPI Installation Qualification SOAP-UI project. You can launch SOAP UI on your system and import this project.
This will expose a new project in your SOAP UI project with the SanteMPI endpoints (restricted from the Swagger documentation) shown and a test case called
The installation qualification tool uses PMIR notifications and subscriptions, it is a good idea to start the FHIR Mock service so that your docker container has an endpoint to send these messages to.
Double clicking on the
Installation Qualificationtest suite will open the test steps for the SanteMPI installation qualification. There are 10 tests (all of which are documented in detail on the MPI/CR Test Cases for FHIRpage).
If all tests return green status, it indicates that your copy of SanteMPI is operating as expected for baseline FHIR functions.
After the qualification tooling has been executed, you can now use the SanteMPI Dashboard to navigate the recent patients that were created in the installation qualification tool.