> 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/public-finance/v2.3/platform/architecture.md).

# Architecture

## Architecture Overview

The iFIX platform architecture and the interacting systems are divided into 3 parts:

1. iFIX Platform
2. External Agency Systems
3. Common Reference Data

<div align="left"><img src="/files/oHuO5IrZaKhaDGMN0iqx" alt=""></div>

### iFIX Platform

1. **Fiscal Event Service:** It receives/sends fiscal events from/to the external systems.&#x20;
2. **Fiscal Event Store:** After basic checks, the raw fiscal events are stored in the fiscal event store.&#x20;
3. **Fiscal Event Post Processor:** Post Processor de-references the master data and flattens the object to store the event in the analytical data store.&#x20;
4. **Fiscal Event Analytical Store:** Fiscal Events will be stored in a separate analytical store to run analytics queries.&#x20;
5. **Fiscal Event Analytical Service:** All the analytics queries might not be able to run on the raw fiscal events, so a new fiscal event analytical service is developed to process the raw data and prepare it for the analytics queries.&#x20;
6. **Client Registry:** All the registered clients of iFIX are maintained in this registry.&#x20;

### External Agency System

1. **Fiscal Event Producer:** They are the on-ground systems that generate new financial transactional information.&#x20;
2. **Producer Adapter:** It helps the producer systems send the fiscal information to the iFIX Platform and link that transaction with some common reference data.&#x20;
3. **Fiscal Event Consumer:** There are systems on the other end of the transaction that executes some process based on fiscal transaction information.&#x20;
4. **Consumer Adapter:** It helps communicate fiscal events from the iFIX Platform to the consumer systems.&#x20;
5. **Reference Dashboard:** Based on the consumed fiscal events, reference dashboards can be built with aggregated amounts by reference data.&#x20;

### Common Reference Data

We can link fiscal events with common reference data to derive more value from the fiscal events data. This allows us to run better analytics queries.&#x20;

1. **Administrative Registry:** It will maintain the hierarchy of entities for a department integrated with iFIX. &#x20;
2. **Program Registry:** It will maintain the master data for government missions/schemes.&#x20;
3. **Location Registry:** It will maintain location reference data. This data is shared across all iFIX clients.&#x20;
4. **Chart of Account Registry:** It will maintain the chart of account details.&#x20;

[![Creative Commons License](https://i.creativecommons.org/l/by/4.0/80x15.png)*​*](http://creativecommons.org/licenses/by/4.0/)*All content on this page by* [*eGov Foundation*](https://egov.org.in/) *is licensed under a* [*Creative Commons Attribution 4.0 International License*](http://creativecommons.org/licenses/by/4.0/)*.*


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digit.org/public-finance/v2.3/platform/architecture.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
