La Comissió Estatal de Drets Humans de Baixa Califòrnia Sud (Mèxic) necessitava digitalitzar i controlar el cicle complet de gestió de queixes ciutadanes, garantint el compliment dels terminis legals i la confidencialitat de dades extremadament sensibles (identitat de víctimes, autoritats denunciades, dades de menors i grups vulnerables). Calia anar més enllà d'un simple formulari web:

  • Controlar terminis legals amb numeració automàtica d'expedients i historial complet de canvis d'estat.
  • Compliment de la Llei Federal de Protecció de Dades Personals en Posesión de Sujetos Obligados (Mèxic).
  • Control d'accés a nivell de node: només el responsable assignat pot veure/editar un expedient; ni tan sols un administrador pot eliminar-lo.
  • Gestió jeràrquica multi-rol (presidència, líders d'àrea, titulars, personal, auxiliars, visitaduría, visitaduría adjunta) amb visibilitat limitada a la pròpia àrea.
  • Capacitat de bifurcar un expedient en dos seguiments independents sense perdre traçabilitat de l'origen (casos amb múltiples autoritats o víctimes).
  • Un canal segur perquè advocats d'ofici ("autoridad") puguin presentar múltiples queixes en nom de tercers, amb autoemplenat de les seves pròpies dades.
  • Transparència pública de dades estadístiques (sexe, edat, municipi, discapacitat, grup prioritari...) sense exposar mai informació identificable

Screenshots


Quina Solució es va donar?

A hybrid Drupal 10 + React architecture was designed, clearly separating internal (confidential) management from the public transparency experience: Drupal manages the entire backend, files, and security, with 18 custom modules that automate the entire file lifecycle. Meanwhile, a React frontend exclusively consumes the public statistics API (cedh_doq_public_api) to display a dashboard of aggregated and anonymized data, without ever accessing sensitive data or the internal structure of the files.

ComponentImplementació
CMSDrupal 10.x sobre DDEV (dev) / Nginx + PHP-FPM + MariaDB (prod)
Captació de queixesWebform "solicitud_de_queja" → migració automàtica a node doq (migra_webform_nodo)
Numeració d'expedientscedh_expediente_auto: format CEDH-TIPO-NNN/AA-MMM, contadors per any/tipus
Bifurcació de casoscedh_bifurcacion: duplica expedient sencer mantenint field_expediente_origen
Control d'accéscontrol_acceso_doq: hook_entity_access() per node, delete sempre denegat, bypass només per permís explícit
Jerarquia de rolscedh_jerarquia: líders/titulars/personal veuen només usuaris de la seva àrea
Gestió d'usuariswebform_user_handler + sincroniza_user_peticionaria: creació automàtica d'usuaris bloquejats per defecte
Advocats d'oficicedh_autoridad_autofill: 23 camps auto-emplenats des del perfil de l'usuari
Notificacionstarea_correo + confirmar_responsable: correu automàtic en actualitzar tasques/expedients
Citescedh_citas: API REST de disponibilitat i creació de cites amb gestió de zona horària
Documents oficialsoficio_generator + calculo_oficios_custom: generació automàtica de PDFs d'oficis
Frontend d'estadístiquesReact (SPA independent) consumint només cedh_doq_public_api — sense autenticació, sense dades personals, 5 endpoints i 13 dimensions d'anàlisi (sexe, edat, municipi, discapacitat, grup prioritari...)
SeguretatHTTPS forçat, trusted_host_patterns, hash_salt únic, fitxers privats fora de webroot, autologout per rol, permisos granulars per camp
InfraestructuraDDEV per a desenvolupament; Nginx + PHP-FPM + MariaDB 10.11 en producció; backups programats de BD

Flux de treball clau:

Ciutadà/Advocat → Webform → migra_webform_nodo (validació + numeració)
  → Assignació de responsable per àrea (cedh_jerarquia)
  → Workflow d'estats (evaluación → orientación/canalización/acompañamiento/queja)
  → Notificacions automàtiques (tarea_correo)
  → Historial i bifurcacions si el cas ho requereix
                                                     ↘
                             API pública anonimitzada → dashboard React (només estadístiques agregades)

Resultats

Indicador Abans Després Impacte
Tràmits digitalitzats 0% 100% Control centralitzat i certesa de les dades
Temps mitjà de resposta ~15 dies ~5 dies Reducció del 66% en temps de gestió
Incidències de seguretat N/A 0 incidents Compliment normatiu garantit
Accessibilitat web No auditada Nivell AA verificat Inclusió de ciutadania amb discapacitat
Dades públiques Informes manuals mensuals API actualitzada/hora Transparència institucional millorada
Usuaris formats 0 +12 persones Autonomia tècnica de l'entitat

Valor afegit

  • Scalable modular architecture: each process (numbering, branching, appointments, official letters) is an independent module, easy to extend (e.g., maintenance module aligned with the AURA philosophy).
  • Field and node-level access control, not just role-based, guaranteeing real privacy in a highly sensitive context (victims of human rights violations).
  • File branching system, uncommon in standard Drupal implementations, specifically designed for cases with multiple authorities or affected parties.
  • Comprehensive technical documentation and user manuals in Spanish for knowledge transfer to the internal team.
  • Architecture ready to integrate local AI models for automatic complaint classification.