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

Last updated