This page provides an overview of the PainChek/Telstra Health Clinical and Care Management (CCM) Integration. It’s designed to provide PainChek clients and their IT teams with an understanding of how PainChek integrates with the CCM System.
The PainChek CCM Integration serves two main purposes:
-
It allows resident data that is created or updated in CCM to be reflected in the PainChek system
-
It allows PainChek assessments that are created in the PainChek system to be reflected in CCM
At it’s simplest, the integration can be represented as:
The Telstra CCM server can either be cloud-hosted (on Telstra Health’s Microsoft Azure cloud hosting service) or self-hosted on the clients' own infrastructure.
The PainChek server is part of our multi-tenanted, cloud-based, virtualised Kubernetes infrastructure that runs in the Sydney region of the AWS Global Cloud Infrastructure.
In reality, the integration is more complex than that first diagram indicates. There is actually a separate integration module that is using the public APIs (Application Programming Interfaces) that both Telstra Health and PainChek make available.
The PainChek and CCM APIs provide a secure means to integrate with third parties using industry-standard REST protocols. PainChek can’t directly access the CCM database - all interaction is via the CCM API and vice versa.
In order for the Integration Module to be able to access the CCM API, PainChek requires a set of CCM credentials (see here for the page that documents the steps required to integration PainChek and CCM).
We often find that CCM API for self-hosted CCM installations is not accessible to third parties (such as PainChek) by default. In order to enable integration, external access needs to be enabled for the PainChek servers. This entails:
-
Whitelisting the PainChek servers on the client's firewall - this site documents the IP addresses that need to be whitelisted, and
-
Enabling secure (HTTPS) communication with the Telstra CCM API (using TLS 1.2 or later protocols).
The complete infrastructure typically looks like this:
The red flow represents the secure HTTPS data flows from the PainChek Integration Module through to the Telstra CCM API and back.
The integration process uses a polling infrastructure (to detect changes to CCM patients or new PainChek assessments). The process runs regularly; typically this is every three minutes in production environments.
When synchronising resident details, the process will look for changes such as:
-
a new resident being created
-
an existing resident being updated (e.g. their profile image is updated)
-
the admission details or status of a resident being updated
CCM is considered the source of truth for resident data, and that is the only system where resident data should be added or updated. The integration process does make any changes to resident details in CCM.
PainChek is the source of truth for the assessment data.