C4 Diagrams

Below you will find SPICE platform documentation using the C4 model for architecting software solutions.

System Context

The below diagram demonstrates the context of the SPICE system and the various system users and system components.

SPICE Context Architecture.
  • The system primarily interacts with the healthcare worker, in this case the community health worker (CHW) who collects information from the patient

  • The SPICE platform is used for the data collection, storage, and processing of the data collected.

  • In addition to its primary functionalities, the SPICE application integrates with a software system dedicated to handling emails sent to Health Workers.

  • The SPICE application also leverages an SMS software system to transmit information to the patient directly.

System Container:

SPICE Container Architecture
  • SPICE Mobile (Android application) is the primary application for end-user engagement

  • SPICE Admin users interact with a web application built with HTML, JavaScript, and React, serving as the front end for managing organizations, metadata, and workflows.

  • We have a set of core platform services (microservices) that the applications query using REST API calls.

  • The web application communicates with the following services:

    • Admin Service: A SpringBoot-based service that enables the creation of metadata, management of facilities, and linking facilities with users.

    • User Service: A SpringBoot-based service responsible for user management, client profiles, and authentication/authorization.

    • Notification Service: A SpringBoot-based service managing notifications through SMS, email, and WhatsApp.

  • The mobile application users input patient data via a Kotlin-based mobile application available on the Play Store. The mobile application communicates with three services:

    • User Service: The same service utilized by SPICE Admin users, managing user-related functionalities and authentication.

    • Notification Service: Also shared with SPICE Admin users, responsible for handling notifications.

    • SPICE Service: A SpringBoot-based service overseeing screening, enrollment, assessment, and medical review. It utilizes AWS storage for data storage requirements.

  • All four services (Admin, User, Notification, and SPICE) interact with an RDS instance, employing PostgreSQL to store and retrieve meta, configuration, and transaction data.

  • The Notification Service forwards patient-related information to SPICE Admin users via an email system.

  • Additionally, the Notification Service employs an SMS system to directly communicate information to the Patients.

System Components

Android Component System:

  • The Mobile application performs the main functions through API calls to the service layer. The mobile application is made up of the following components that communicate with the associated microservices in the service layer:

    • Screening Manager

    • Patient Enrollment Manager

    • Medical Review Manager

    • Assessment Manager

    • Medication Manager

    • Lab Test Manager

    • Nutrition Manager

  • The following details out what each component is responsible for:

    • The Screening Manager component is responsible for gathering basic information and health-related data during the screening process.

    • The Patient Enrollment Manager component facilitates the enrollment of patients either from the screening process or directly into the system.

    • The Medical Review Manager component handles the management of medical reviews, including maintaining a history of reviews and adding new reviews.

    • The Assessment Manager component assists in managing patient assessments and creating follow-ups for assessments.

    • The Medication Manager component allows the CHW to prescribe and manage medications, refill prescriptions, and save the Practitioner Signature in an AWS storage.

    • The Lab Test Manager component enables the CHW to manage and prescribe lab tests, as well as manage the results of the tests.

    • The Nutrition Manager component supports the CHW in managing and prescribing nutrition counseling.

  • All of the above-mentioned components are part of the comprehensive SPICE service, which interacts with an RDS instance to store and retrieve the corresponding data.

Android Component Architecture

Web component system:

  • The Web Admin System comprises a web application that interacts with the Admin Service, which contains three main components:

    • Organization Manager

    • Metadata Manager

    • Workflow Manager.

  • The following details out what each component is responsible for:

    • The Organization Manager component handles the management and creation of Regions, Accounts, Operating Units, and Sites.

    • The Metadata Manager component is responsible for managing data related to medication and lab tests.

    • The Workflow Manager component allows customization of workflows associated with screening, enrollment, assessment, and account customization.

  • Each of the three components communicates with an RDS instance, which utilizes PostgreSQL as the database technology.

  • The RDS instance is responsible for storing and retrieving all meta, configuration, and transaction-related data.

Web Component Architecture

Last updated

@2024 Medtronic LABS