Introduction
The Care Connect Reference Implementation (CCRI) is a web application that provides a working example of a FHIR Interface to key Care Connect profiles. CCRI provides a public interface of FHIR, HAPI-FHIR, and JSON and has been implemented using Java and the Spring Framework with persistence provided by a MySQL database.
CCRI has been published as a set of Docker images which can be started as a set of containers to provide an example FHIR
Docker has been chosen as it provides an industry standard environment which can be run on a wide variety of platforms (Windows, MacOS, Linux, etc). The Docker images can also be deployed on Cloud environments.
Purpose of Instructions
The instructions provide a technical introduction to the architecture of Care Connect Reference Implementation (CCRI). The aim being to provide sufficient information so that the application can be downloaded and run in a local Docker environment.
The instructions are intended to be read alongside access to the source code for CCRI which can be found in GitHub at http://github.com/nhsconnect/careconnect-reference-implementation. The application can be deployed from this source code or by installing the pre-packaged Docker images. This reference implementation can be used either as a foundation for your own implementation of a FHIR API Service accessing information stored in a variety of repositories or just as a source of reference to understand how to develop a FHIR API Service.
Architectural Overview
CCRI is deployed onto a Docker environment using Docker Compose. Docker Compose allows us to define & deploy multiple, coupled Docker images.
The diagram shows the relationship between the 2 groups of components which are deployed onto Docker.
- CCRI Core
The core services consist of the CCRI Server, CCRI Gateway and the MySQL Database. These services run as a group and are connected via a Docker network,
ccrinet
. These components are defined in thedocker-compose.yaml
file.
- ELK Log Monitoring (Optional)
An example of logging and monitoring is provided by the ELK (Elasticsearch, Logstack, and Kibana) stack which extracts the information from the log files generated by the services in the CCRI Module. These services run as a group and are connected via a Docker network,
ccrielknet
. These components are defined in thedocker-compose-elk.yaml
file.
Installation
The installation instructions provide a technical introduction to the architecture of Care Connect Reference Implementation (CCRI). The aim being to provide sufficient information so that the application can be downloaded and run in a local Docker environment.
Prerequisites
- Installation of Docker & Docker Compose
- Creation of a docker-compose file.
Sampledocker-compose
files are shown in (Administration Scripts) and the latest versions of these files can be downloaded from … [Administration Scripts]. - Definition of environment variables
- Upload Sample Data
Installation of Docker & Docker Compose
Follow the instructions for the appropriate operating system on https://docs.docker.com/engine/installation/ to install Docker (minimum version 17.06.0) on the computer which will act as the CCRI Server. Docker Community Edition (CE) is sufficient for our requirements.
Docker Compose will be automatically installed as part of Docker for Mac, and Docker for Windows. Docker Compose will needed to be installed independently on Linux, (see https://docs.docker.com/compose/install/ )
Current Version
Functionality: Provide latest STU3 Care Connect profiles with example data for one care setting with audit of use and accessible by unsecure API interaction and also connect securely via OAuth2 (including an example of using scopes)
Delivered: 26th March 2019
Link: Reference Implementation - web interface
Check out Versions for more information about the current released version, downloading options, use and future verions.
Contribute
This site is structured around Care Connect stakeholders including API users, developers and architects. Please get involved in the journey.