# TuumIO Data Node

## How TuumIO Data Node works?

The TuumIO Data Node (TDN) is responsible for storing and exchanging data files within the TuumIO Network. It can convert external data files into events, and events into external data files. When receiving data files, the TuumIO Data Node extracts and transforms the data, and then creates events. Event handlers can be created in TuumIO Protocol to manage the events generated by the TuumIO Data Node.

## Data definition file

The data definition file (DDF) defines the model and structure for organizing data in the TDN. This file is used in TDN to process incoming data files and generate events for distribution to TuumIO Nodes. The DDF and raw CSV files are uploaded to the environment repository for processing. For more information, see [Updating TDN](/protocol-guide/test-and-publish/publishing-the-protocol.md#update-cdn).

The following example shows data definition in `ddf/us-doctors-sample.json`.

{% code title="Example:" %}

```json
{
    "ddf_type": "us-doctors-sample",
    "meta_data": {
        "description": "Sample"
    },
    "messages": [
        {
            "message_category": "CSV",
            "message_type": "Doctors",
            "meta_data": {
                "description": "Sample",
                "indices": "us-doctors-sample"
            },
            "events": [
                {
                    "to_role": "rl-patient",
                    "event": "ev-cdn-broadcast"
                }
            ],
            "attributes": [
                {
                    "name": "Provider",
                    "description": "Provider",
                    "required": false,
                    "index_field": true,
                    "type": "integer",
                    "data_location": "Provider"
                },
                {
                    "name": "License",
                    "description": "License",
                    "required": false,
                    "index_field": true,
                    "type": "string",
                    "data_location": "License"
                },
                {
                    "name": "Specialization",
                    "description": "Specialization",
                    "required": false,
                    "index_field": true,
                    "type": "string",
                    "data_location": "Specialization"
                },
                {
                    "name": "Address",
                    "description": "Address",
                    "required": false,
                    "index_field": true,
                    "type": "string",
                    "data_location": "Address"
                }
            ]
        }
    ]
}
```

{% endcode %}


---

# Agent Instructions: 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:

```
GET https://docs.tuumio.com/protocol-guide/build-a-dapp/tuumio-data-node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
