SPICE Product Docs
SPICE 1.0 Docs
SPICE 1.0 Docs
  • Overview
    • 📒What is SPICE?
    • ✨SPICE App Workflows
      • Screening
      • Enrollment
      • Assessment
      • My Patients
      • Medical Review
      • 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
  • 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
On this page
  • System Context
  • System Container:
  • System Components
  • Android Component System:
  • Web component system:
  1. Engineering
  2. 🖥️Architecture

C4 Diagrams

PreviousArchitectureNextFHIR & Standards

Last updated 1 year ago

@2024 Medtronic LABS

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.

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

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

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.

SPICE Context Architecture.
SPICE Container Architecture
Android Component Architecture
Web Component Architecture