> ## Documentation Index
> Fetch the complete documentation index at: https://docs.linahealthcareplatform.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener formulario

> Obtiene un formulario con la definición completa de sus campos.

## Path Parameters

<ParamField path="id" type="string" required>
  ID del formulario (ej. `form_abc123`).
</ParamField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "form_abc123",
    "name": "Escala Visual Analógica (EVA)",
    "type": "assessment",
    "description": "Evaluación del nivel de dolor del paciente",
    "fields": [
      {
        "id": "pain_level",
        "type": "slider",
        "label": "¿Cuál es su nivel de dolor ahora mismo?",
        "min": 0,
        "max": 10,
        "required": true
      },
      {
        "id": "pain_location",
        "type": "select",
        "label": "¿Dónde siente el dolor?",
        "options": ["Cabeza", "Espalda", "Extremidades", "Abdomen", "Otro"],
        "required": true
      },
      {
        "id": "pain_duration",
        "type": "select",
        "label": "¿Desde cuándo siente este dolor?",
        "options": ["Menos de 1 hora", "1-6 horas", "6-24 horas", "Más de 24 horas"],
        "required": true
      },
      {
        "id": "medication_taken",
        "type": "boolean",
        "label": "¿Ha tomado alguna medicación para el dolor?",
        "required": true
      },
      {
        "id": "notes",
        "type": "text",
        "label": "Observaciones adicionales",
        "required": false
      }
    ],
    "createdAt": "2026-04-01T10:00:00Z",
    "updatedAt": "2026-04-15T12:00:00Z"
  }
  ```
</ResponseExample>

<ResponseField name="fields" type="array">
  Definición de los campos del formulario.
</ResponseField>

<ResponseField name="fields[].id" type="string">
  Identificador único del campo.
</ResponseField>

<ResponseField name="fields[].type" type="string">
  Tipo de campo: `text`, `number`, `slider`, `select`, `multiselect`, `boolean`, `date`.
</ResponseField>

<ResponseField name="fields[].label" type="string">
  Texto de la pregunta mostrada al paciente.
</ResponseField>

<ResponseField name="fields[].required" type="boolean">
  Indica si el campo es obligatorio.
</ResponseField>


## OpenAPI

````yaml openapi.yml GET /clinical-forms/{id}
openapi: 3.1.0
info:
  title: LINA Healthcare Platform API
  version: 1.0.0
  description: |
    API de integración para la plataforma LINA Healthcare.
    Todas las rutas requieren un token JWT obtenido intercambiando una API Key.
servers:
  - url: https://api.linahealthcareplatform.com/api/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /clinical-forms/{id}:
    get:
      tags:
        - Formularios Clínicos
      summary: Obtener formulario
      operationId: getClinicalForm
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Formulario
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClinicalForm'
components:
  schemas:
    ClinicalForm:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        type:
          type: string
        fields:
          type: array
          items:
            type: object
        createdAt:
          type: string
          format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Token JWT obtenido via POST /auth/token

````