feat(#67): Implementar autocompletado inteligente para campos de selección #72

Merged
luis_portillo merged 2 commits from feature/67-smart-selection-autocomplete into dev 2025-07-17 08:33:08 +00:00

Descripción

Implementación de autocompletado inteligente para campos de tipo selección que permite a los técnicos ingresar valores parciales que se autocompletan automáticamente.

Cambios realizados

1. Autocompletado inteligente

  • Método onchange que autocompleta mientras el usuario escribe
  • Método _validate_and_autocomplete_selection() para validación y autocompletado
  • Override de create() y write() para autocompletar antes de guardar

2. Búsqueda flexible

  • Acepta mayúsculas y minúsculas indistintamente
  • Acepta iniciales (N→Negativo, P→Positivo)
  • Acepta texto parcial (POS→Positivo, NEG→Negativo)
  • Acepta símbolos directos (+, ++, +++)

3. Instrucciones automáticas

  • Al generar resultados de pruebas, se agregan instrucciones en el campo 'notes'
  • Las instrucciones muestran todas las opciones disponibles
  • Incluyen ejemplos de uso con iniciales

4. Corrección de validación

  • Fix: La validación de action_enter_results no verificaba el campo value_selection
  • Ahora reconoce correctamente cuando los campos de selección tienen valores

Ejemplo de uso

Para 'Prueba de Embarazo' con opciones [Negativo, Positivo]:

  • El técnico puede escribir: N, n, NEG, neg, Negativo
  • El sistema autocompletará a: Negativo

Testing

  • Autocompletado funciona correctamente
  • Validación reconoce valores de selección
  • Instrucciones se generan automáticamente

Closes #67

## Descripción Implementación de autocompletado inteligente para campos de tipo selección que permite a los técnicos ingresar valores parciales que se autocompletan automáticamente. ## Cambios realizados ### 1. Autocompletado inteligente - Método onchange que autocompleta mientras el usuario escribe - Método _validate_and_autocomplete_selection() para validación y autocompletado - Override de create() y write() para autocompletar antes de guardar ### 2. Búsqueda flexible - Acepta mayúsculas y minúsculas indistintamente - Acepta iniciales (N→Negativo, P→Positivo) - Acepta texto parcial (POS→Positivo, NEG→Negativo) - Acepta símbolos directos (+, ++, +++) ### 3. Instrucciones automáticas - Al generar resultados de pruebas, se agregan instrucciones en el campo 'notes' - Las instrucciones muestran todas las opciones disponibles - Incluyen ejemplos de uso con iniciales ### 4. Corrección de validación - Fix: La validación de action_enter_results no verificaba el campo value_selection - Ahora reconoce correctamente cuando los campos de selección tienen valores ## Ejemplo de uso Para 'Prueba de Embarazo' con opciones [Negativo, Positivo]: - El técnico puede escribir: N, n, NEG, neg, Negativo - El sistema autocompletará a: Negativo ## Testing - ✅ Autocompletado funciona correctamente - ✅ Validación reconoce valores de selección - ✅ Instrucciones se generan automáticamente Closes #67
luis_portillo added 2 commits 2025-07-17 08:30:53 +00:00
- Agregar método _onchange_value_selection() que autocompleta al escribir
- Agregar método _validate_and_autocomplete_selection() para validación
- Override create() y write() para autocompletar antes de guardar
- Búsqueda flexible: acepta iniciales, mayúsculas/minúsculas, coincidencias parciales
- Generar instrucciones automáticas en campo notes al crear resultados
- Las instrucciones muestran opciones disponibles y ejemplos de uso
- La validación de action_enter_results no estaba verificando el campo value_selection
- Esto causaba falso positivo de 'parámetros sin resultados ingresados'
- Agregar value_selection a la condición del filtro
luis_portillo merged commit 2ca64186b0 into dev 2025-07-17 08:33:08 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Grupo-Consiti/clinical_laboratory#72
No description provided.