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
  1. Engineering

Technology Stack

The Technology Infrastructure of SPICE forms the backbone of its functionality, performance, and scalability.

PreviousArchitecture DiagramNextAPI Documentation

Last updated 3 months ago

Presentation Layer

SPICE's presentation layer relies on a combination of technologies, including React, HTML5, SCSS, TypeScript, and npm. Together, these technologies form a robust and efficient foundation for the application's presentation layer.

  • React is a JavaScript library that enables interactive user interfaces

  • HTML5 serves as the markup language for structuring the application's content

  • SCSS supports writing more maintainable and modular CSS styles.

  • TypeScript adds static typing to JavaScript, enhancing code reliability and scalability.

  • Npm is a package manager that helps manage and install the necessary dependencies for the project.

Service Layer

The service layer of the SPICE application leverages the Spring Boot framework to develop REST APIs. Spring Boot simplifies the process of creating and managing these APIs, allowing for seamless communication with other systems or clients. By utilizing features such as dependency injection, security, and database integration, we ensure efficient and scalable services. REST APIs enable SPICE to follow the principles of stateless, client-server communication, facilitating interoperability and flexibility in the SPICE application's architecture. With Spring Boot, we can build reliable and high-performing components for our service layer, providing a solid foundation for SPICE application functionality.

Business Layer

The business layer of the SPICE application is implemented using Java to create business workflows. Java provides a robust platform for developing intricate and efficient business logic, given the fact that it is a versatile and widely-used programming language. Leveraging Java's object-oriented features, we can model complex business processes and incorporate encapsulation, inheritance, and polymorphism to achieve modular and maintainable workflows. Java's extensive libraries and frameworks enhance the capabilities of our business layer, enabling us to handle data transformations, business rules, and workflow orchestration effectively. By coding the business workflows in Java, we ensure a reliable and scalable foundation for the application's core functionality.

Persistence Layer

The SPICE persistence layer utilizes Object Modeling based on JPA using Hibernate. JPA (Java Persistence API) is a Java specification that provides a standard way to map Java objects to relational databases. Hibernate, an implementation of JPA, simplifies the interaction between the application and the database by handling object-relational mapping. With JPA Hibernate, we can define and manage the persistence of our application's domain objects, enabling seamless storage and retrieval of data. This approach enhances code maintainability, as it abstracts away the underlying database details. Leveraging JPA Hibernate in our business layer ensures efficient and reliable data persistence in our application.

Database Layer

The database layer of SPICE is built on PostgreSQL, an open-source, relational database management system (RDBMS). PostgreSQL is known for its stability, scalability, and extensive feature set. It provides robust data storage and retrieval capabilities, ensuring the efficient handling of our application's data. With PostgreSQL, we can create and manage complex database structures, define relationships between entities, and perform efficient queries. It offers advanced features such as transactions, concurrency control, and data integrity mechanisms. Leveraging PostgreSQL in our database layer guarantees reliable and secure storage of our application's data, supporting the overall performance and functionality of our system.

FHIR Service Layer

FHIR Standards

Fast Healthcare Interoperability Resources (FHIR) is a standard developed by HL7 (Health Level Seven) for exchanging healthcare information electronically. It is designed to facilitate interoperability between different healthcare systems by using modern web technologies such as RESTful APIs, JSON, and XML. FHIR provides standardized data models and resources (e.g., Patient, Observation, Medication) that simplify data sharing across healthcare applications.

Key benefits of FHIR include:

  • Interoperability: Enables seamless exchange of health data between systems.

  • Scalability: Supports various use cases, from small applications to large healthcare enterprises.

  • Ease of Implementation: Uses familiar web-based technologies.

  • Modular Design: Allows developers to use only the necessary resources for their application.

HAPI FHIR JPA Server

HAPI FHIR JPA Server is an open-source implementation of the FHIR standard, built using the HAPI-FHIR library. It provides a ready-to-use, RESTful FHIR server that uses a JPA (Java Persistence API) database backend for data storage.

Key features of HAPI FHIR JPA Server:

  • Full FHIR Support: Implements FHIR RESTful APIs for CRUD operations.

  • Database-backed Storage: Uses JPA/Hibernate to store FHIR resources in relational databases.

  • Security & Authentication: Supports OAuth2, SMART on FHIR, and custom authentication mechanisms.

  • Extensibility: Allows customization to fit specific healthcare application needs.

  • Terminology Services: Supports validation and terminology operations.

HAPI FHIR JPA Server is widely used for building healthcare applications that require standardized FHIR data storage and retrieval while ensuring compliance with HL7 FHIR specifications.

🔧
Cover

React

Cover

SCSS

Cover

Typescript

SPICE Layer Architecture. The SPICE platform utilizes a layered architecture approach with three tiers: 1. Presentation Layer 2. Computer Layers and 3. Database Layers.
Spring Boot
Java
JPA - Hibernate
PostgreSQL