> For the complete documentation index, see [llms.txt](https://docs.digit.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digit.org/health/v1.5/technology/architecture.md).

# Architecture

DIGIT is India’s largest open-source platform for digital governance. The health services are built on top of DIGIT. It is built on OpenAPI (OAS 2.0) and provides API-based access to various services, enabling governments to provide health campaign services with relevant new ones. It also facilitates integration with the existing system into the platform and runs seamlessly on any commercial/on-prem cloud infrastructure with scale and speed.

### Key Architecture Highlights <a href="#key-architecture-highlights" id="key-architecture-highlights"></a>

* Health DIGIT is a micro-services-based platform that is built to scale. Micro-services are small, autonomous, and developer-friendly services that work together.
* It facilitates decentralised control between teams so that its developers strive to produce useful tools that can then be used by others to solve the same problems.
* Micro-services have intelligent endpoints that process information and apply logic. They receive requests, process them, and generate a response accordingly.
* Parallelism in development: Micro-services architectures are mainly business-centric.
* A large software or system can be broken down into multiple small components or services. These components can be designed, developed, and deployed independently without compromising the integrity of the application.

<figure><img src="https://content.gitbook.com/content/GYQEda2SOh4goA6Ee2d2/blobs/eXTBP8C4IXwkbOCDKNlj/Screenshot%202023-05-02%20at%209.36.57%20AM.png" alt=""><figcaption></figcaption></figure>

### Multi-Layer Architecture

DIGIT Health follows a multi-layer or n-tiered distributed architecture pattern. As seen in the illustration above, there are different horizontal layers with some set of components such as Services, Registries, and DIGIT [Core Services](https://core.digit.org/platform/core-services). Every layer consists of a set of microservices. Each layer of the layered architecture pattern has a specific role and responsibility within the application. The following are the advantages:

* Layered architecture increases flexibility, maintainability, and scalability.
* Multiple applications can reuse the components.
* Parallelism.
* Different components of the application can be independently deployed, maintained, and updated, on different time schedules.
* Layered architecture also makes it possible to configure different levels of security to different components.
* Layered architecture also helps users test the components independently of each other.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.digit.org/health/v1.5/technology/architecture.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
