> For the complete documentation index, see [llms.txt](https://icure.gitbook.io/icure/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://icure.gitbook.io/icure/customizable-features/input-forms.md).

# Input Forms

## Custom manage data input.

iCure enables the owner to determine data input structure through custom forms. This way:

* BI solutions can be easily implemented on top of the database, as data is structured by design.
* End-to-end encryption can be maintained through the whole input process, as data are being anonymized through encryption from the start of the Data Life-Cycle.
* [Access Rights Management](/icure/icure-data-stack/rights-management.md) policies automatically assign the relevant data to the respective department.
* Auditing is also made easy, as Data are timestamped, signed by the user, and data-versioning is supported.

![implementation of an Input Form](/files/-Mf18VVaeWl07RuHxZgb)

## Input Form Syntax

Despite the encryption, timestamping and access rights management challenges, the Input forms are quite easy to manage with a typical YAML syntax

```yaml
form: GP consultation
description: Basic SOAP scheme for a GP consultation
sections:
  - section: SOAP
    fields:
      - field: Reason for visit
        type: textfield
        columns: 5
        rows: 3
        grows: true
        schema: text-document
        tags:
          - CD-ITEM|diagnosis|1
        codifications:
          - BE-THESAURUS
          - ICD10
        options:
          option: blink
      - field: Anamnese
        type: number-field
        shortLabel: NumberField
        tags:
          - CD-ITEM|parameter|1
          - CD-PARAMETER|bmi|1
        codifications: []
        options:
          option: bang
      - field: Diagnosis
        type: measure-field
        shortLabel: MeasureField
        tags:
          - CD-ITEM|diagnosis|1
        codifications: [ SNOMED-CT ]
        options:
          unit: bpm
      - field: Treatment
        type: multiple-choice
        shortLabel: MultipleChoice
        rows: 4
        columns: 4
        tags: []
        codifications:
          - KATZ
        options:
          many: no

```


---

# 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://icure.gitbook.io/icure/customizable-features/input-forms.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.
