💉
CARES on Platform
  • Getting started
  • Overview
    • General Structure
    • The Source: Platform
    • A Custom package
  • Design & Architecture
    • General Architecture
    • References from Platform
    • Flow of the data
    • Customized stack
  • Launching & Local Testing
    • Start overriding the config
    • Launch Cares
    • Launch Cares & Disi
    • Dev & Prod mode
    • Test the stack
  • Troubleshooting & Monitoring
    • Using the Monitoring package
    • Locate the issue
    • Backup & Restore
  • Deployment
    • Local deployment
    • Deploy on a Remote Server
  • Postman Collections
  • Sante MPI Configuration
Powered by GitBook
On this page
  • Cares
  • Cares + Disi
  • NOTE
  1. Design & Architecture

General Architecture

A general description of the different components.

Cares meant to work alongside with Disi.

So in the following we will give the general architecture of cares in a high overview and also of cares+disi.

Cares

The general architecture of Cares on platform is simplified as follow:

  • Hapi-fhir: A service to validate and store the fhir messages

  • Kafka: message bus queue, it has different topics (2xx, 4xx, 5xx, etc).

  • Kafka-unbundler-consumer: it is a Kafka processor that will consume 2xx topic messages, split them according to the resource type and then sending them back to new topics.

  • Kafka-mapper-consumer: It is a Kafka processor that will flatten and transform the data and store it in Clickhouse.

  • Clickhouse: The database that contains the flattened data.

  • Superset: The tool for dashboards and charts.

Cares + Disi

The general architecture of Cares on platform + Disi on platform is simplified as follow (with focus on Cares components):

  • Openhim: interoperability layer for routing incoming events from the client

  • SanteMPI: A patient matcher and deduplicater, it is used to make sure there is no duplicate patients, it is going to save patients into a topic 2xx in Kafka after FHIR validation and checking.

  • Kafka: message bus queue, it has different topics (2xx, 4xx, 5xx, etc).

  • Kafka-unbundler-consumer: it is a Kafka processor that will consume 2xx topic messages, split them according to the resource type and then sending them back to new topics.

  • Kafka-mapper-consumer: It is a Kafka processor that will flatten and transform the data and store it in Clickhouse.

  • Clickhouse: The database that contains the flattened data.

  • Superset: The tool for dashboards and charts.

Other components from Disi will be existent such as Logstash, Elasticsearch, Kibana and Jsreport.

NOTE

PreviousDesign & ArchitectureNextReferences from Platform

Last updated 2 years ago

If running Cares + Disi, the only difference will be the non-existence of Hapi-proxy, and the integration of SanteMPI package with two additional mediators (check for additional reading). In this case, santeMPI will be sending data to the kafka 2xx topic instead of hapi-proxy.

DISI on Platform