SPICE Product Docs
SPICE 2.0 Docs
SPICE 2.0 Docs
  • Overview
    • 📒What is SPICE?
    • ✨SPICE App Workflows
      • Household Registration
      • Assessment
      • Follow-up
      • My Patients
      • Medical Review
      • Pharmacy
    • 👩‍⚕️SPICE Users
    • 🏢Admin Workflows
      • Admin Portal
    • 🔏Data Privacy & Security
      • Privacy Policy
      • Terms & Conditions of Use
    • ❓Frequently Asked Questions (FAQs)
  • Engineering
    • 🖥️Architecture
      • C4 Diagrams
      • Architecture Diagram
    • 🔧Technology Stack
    • 👨‍💻API Documentation
      • Common Services
        • Login
        • Reset Password
        • Logout
        • Verify Set Password
        • User Profile Update
        • Set Password for new User
        • Validate Phone Number
        • Get User Details
        • Change Password for Users
        • Forgot Password
        • Validate User Email
        • Get User Profile
      • Admin Services
        • Lab Test Customization
          • Lab Test Update
          • Lab Test List
          • Lab Test by Name
          • Lab Test Delete
          • Lab Test Create
          • Lab Test Validate
        • Medication
          • Medication List
          • Medication Create
          • Medication Update
          • Medication Remove
          • Medication Validate
        • User
          • User Validate
          • User List
          • User Remove
          • User Create and Update
        • Get Menu
        • Country List
        • Health Facility
          • Health Facility Update
          • Health Facility List
          • Health Facility Create
          • Health Facility Details
        • Region
          • Get Region Detail
          • Region Upload
          • Region Download
      • SPICE Service
        • Patient Search
        • Household Create
        • Patient List
        • Member Create
        • Offline Sync
          • Offline Household Create
          • Offline Member Create
        • Medical Review
          • ANC Pregnancy Create
          • ANC Pregnancy Detail
          • ICCM Under two months Create
          • ICCM Under five years Create
          • ICCM Under two months Details
          • Labour Mother Neonate Create
          • ICCM Under five years Details
          • Labour Mother Neonate Details
          • PNC Create
          • PNC Details
        • Assessment
          • Childhood Visit
          • ICCM
          • ANC
          • PNC
          • Other Symptoms
        • Investigation
          • Create Investigation
          • Investigation Remove
          • Investigation History List
        • Prescription
          • Prescription Remove
          • Prescribed Details
          • Prescription Create
        • App Version
        • Calculate WGS
        • Create Diagnosis
        • Diagnosis Details
        • Get Chiefdoms
        • Get Districts
        • Get Patient Status
        • Get Patient Details
        • Household Update
        • Member Update
  • Deploy
    • 🚀Deployment Guide
      • 📱Android
      • 🖥️Admin Portal
      • 🗄️HAPI FHIR Server
      • 🗄️Server
    • 🌎Customization Guide
      • Multi-Language Translation
        • Support for multiple languages
      • Clinical Workflow Customization
      • WHO Hearts Algorithm
      • Country Level Administrative Divisions
  • PRODUCT
    • 🥘Releases
    • 🛣️Roadmap
  • COMMUNITY
    • 🧑‍💻Engage
    • 📞Support
    • 📃Policies
  • LINKS
    • Source Code (GitHub)
    • Medtronic LABS
    • Developer Support
  • versions
    • SPICE 1.0
      • OVERVIEW
        • 📒What is SPICE?
        • ✨SPICE App Workflows
          • Screening
          • Enrollment
          • Assessment
          • Medical Review
            • Treatment Plan
            • Prescribe
            • Lab Test
          • My Patients
          • Pharmacy
          • Admin Portal
        • 👩‍⚕️SPICE Users
        • 🔏Data Privacy & Security
          • Privacy Policy
          • Terms & Conditions of Use
        • ❓Frequently Asked Questions (FAQs)
      • ENGINEERING
        • 🖥️Architecture
          • C4 Diagrams
          • FHIR & Standards
        • 🔧Technology Stack
        • 👨‍💻API Documentation
          • Common Services
            • Account Create
            • Change Password for Site Users
            • Country Create
            • Forgot Password
            • Get User Details
            • Get User Profile
            • Locked Users List
            • Login
            • Logout
            • Operating Unit Create
            • Reset Password
            • Set Password for New User
            • Site Create
            • Unlock User
            • User Profile Update
            • Validate User Email
            • Verify Set Password
            • Super Admin
              • Superadmin Details
              • Superadmin List
              • Superadmin Create
              • Superadmin Delete
              • Superadmin Update
          • Admin Services
            • Account
              • Account - Activate
              • Account - Deactivate
              • Account - Deactivated list
              • Account - Details
              • Account - Update
              • Account Admin - Create
              • Account Admin - Delete
              • Account Admin - Update
              • Account Dashboard - Region Admin
              • Account List - Admin
            • Clinical Workflow
              • Create
              • Delete
              • List
              • Update
              • Account Customization - Create
              • Account Customization - Details
              • Account Customization - Update
            • Country Dashboard - Superadmin
            • Lab Test
              • Create
              • Delete
              • Details
              • List
              • Update
              • Lab Test Range - Create
              • Lab Test Range - Delete
              • Lab Test Range - Details
              • Lab Test Range - Update
            • Medication
              • Create
              • Delete
              • Medication Validation
              • List
              • Update
            • Operating Unit
              • Operating Unit - Details
              • Operating Unit - Update
              • Operating Unit Admin - Create
              • Operating Unit Admin - Remove
              • Operating Unit Admin - Update
              • Operating Unit Dashboard - Account Admin
              • Operating Unit List - Admin
            • Program
              • Create
              • List
              • Delete
              • Details
              • Update
            • Region Admin
              • Region Admin - Create
              • Region admin - Delete
              • Region Admin - Details
              • Region admin - Update
            • Site
              • Site - Details
              • Site - Update
              • Site Dashboard - Operating Unit Admin
              • Site List - Admin
              • Site User - Create
              • Site User - Remove
              • Site User - Update
            • Site List - Region Admin
          • SPICE Services
            • Advance-search
            • Advanced search - Site
            • App Version
            • Assessment
            • Assessment Bplog Create
            • Assessment Glucose log Create
            • BPLog List
            • BPLog Create
            • Confirm Diagnosis
            • Device Details
            • Fill Prescription - Update
            • GlucoseLog Create
            • GlucoseLog List
            • Investigation Create
              • Fill Prescription List
            • Investigation List
            • Investigation Search
            • Labtest Result Create
            • Labtest Result Details
            • Labtest Result List
            • Lifestyle Create
            • Lifestyle List
            • Lifestyle remove
            • Lifestyle Update
            • Lifestyle Update view Status
            • Lifestyle view history
            • Medical Review Create - Continuous Medical Review
            • Medical Review Create - Initial Medical Review
            • Medical Review Static Data
            • Medical Review Count
            • Medical review list
            • Medical Review Summary
            • Mental Health Create
            • Mental Health Details
            • Mobile - Forgot Password
            • Mobile - Login
            • Mobile - Logout
            • Nutritionist Lifestyle Create
            • Patient Basic Details
            • Patient Details
            • Patient enrollment
            • Patient-labtest-list
            • Patient Labtest - Remove
            • Patient Labtest - Review
            • Patient-lifestyle-details
            • Patient list
            • Patient Pregnancy Details
            • Patient Pregnancy Details Create
            • Patient Remove
            • Patient Transfer - Create
            • Patient Transfer Count
            • Patient Transfer - Country Site List
            • Patient Transfer - Role user list
            • Patient Transfer List
            • Patient Transfer - Update
            • Patient Transfer - Validate
            • Patient update
            • Patient Visit
            • PatientVisit
            • Pregnancy Create
            • Pregnancy Details
            • Prescription History List
            • Prescription List
            • Prescription Remove
            • Prescription search
            • Pregnancy Update
            • Prescription-history list
            • Prescription Update
            • Refill Prescription History
            • Screening
            • Screening log details
            • Search
            • Transfer Notification Count
            • Treatment Plan Details
            • Treatment Plan Update
            • User Validate API
          • FHIR-Adapter Services
            • Add User
            • Get User By Id
            • Get User By Username
            • Get User List
            • Get User Profile
            • Update User
            • Reset User Password
            • Delete User by ID
            • Forgot Password Validation
            • Options
            • Receive Message
            • Login
            • Site Migration
            • User Migration
            • APIKey Manager API
              • Retrieve API Keys
              • Generate API Keys
              • Delete API Keys
              • Validate API Key
      • DEPLOY
        • 🚀Deployment Guide
          • 🗄️Server
          • 📱Android
          • 🖥️Admin Portal
          • 🗄️FHIR Adapter
        • 🌎Customization Guide
          • Multi-Language Translation
            • Support for multiple languages
          • Clinical Workflow Customization
          • WHO Hearts Algorithm
          • Country Level Administrative Divisions
      • PRODUCT
        • 🥘Releases
        • 🛣️Roadmap
      • LINKS
        • Source Code (GitHub)
        • Medtronic LABS
        • Developer Support
Powered by GitBook

@2024 Medtronic LABS

On this page
  • System Context
  • System Container:
  • System Components
  • Android Component System:
  • Web component system:
  1. Engineering
  2. Architecture

C4 Diagrams

PreviousArchitectureNextArchitecture Diagram

Last updated 3 months ago

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

System Context

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

  • 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 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.

    • Offline Service: Support offline data storage and sync when the device comes online.

    • FHIR Service: Map the FHIR resource attributes and save the data in the HAPI FHIR JPA server.

  • 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:

    • Household Manager

    • Member Registration Manager

    • Medical Review Manager

    • Assessment Manager

    • Medication Manager

    • Lab Test Manager

    • Follow-up Manager

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

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

    • The Member Registration Manager component facilitates the enrollment of patients 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 Follow-up Manager component supports the CHW in managing and following particular patients.

  • 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.

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.

🖥️
C4 model
SPICE Context Architecture.
SPICE Container Architecture
Android Component Architecture
Web Component Architecture