Lizandro GuarnizoandClaude Opus 5 2b1f08b03f Evitar teléfonos falsos en la historia clínica, y pedir el número a quien lo oculta
El arreglo anterior dejó un defecto: obtenerOCrearDesdeWhatsapp() copiaba
users.phone_number al teléfono de la ficha, y para quien oculta su número ahí
va el BSUID. normalizarTelefono() le quitaba el punto y las letras, así que
"CO.1761088155094242" quedaba guardado como "1761088155094242": un número de
16 dígitos, falso, con apariencia de real, dentro de una historia clínica y
sin que nadie lo notara. Ahora esa ficha se crea sin teléfono, que es la
verdad: no lo tenemos.

- esBsuid() queda definido una sola vez, en config.php, que es donde lo ven
  tanto el servicio de WhatsApp como las clases del laboratorio.
- La lista y el detalle de pacientes dicen "Solo por WhatsApp" en vez de
  mostrar el identificador crudo: recepción necesita entender por qué no
  puede llamar, no ver un código.
- Al crear la ficha desde una conversación se le pide el número con el botón
  de Meta, una sola vez (users.contacto_pedido_at). El texto es editable
  desde configuración. Solo se marca como pedido si Meta aceptó el envío,
  para poder reintentar si falló.
- tests/test_bsuid.php: 30 verificaciones sobre identidad, envío, vinculación
  y creación de fichas.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 20:26:31 -05:00
up
2026-01-24 00:55:33 -05:00
up
2026-01-27 14:51:41 -05:00
up
2026-01-28 03:09:52 -05:00
up
2026-03-10 18:42:51 -05:00
up
2026-01-27 23:56:49 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-04-16 22:23:33 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
2026-01-12 15:54:04 -05:00
2026-01-12 15:54:04 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-03-10 18:42:51 -05:00
up
2026-02-03 21:30:55 -05:00
2026-01-12 15:54:04 -05:00
up
2026-02-20 10:01:44 -05:00
up
2026-01-27 23:56:49 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
2026-01-21 08:28:54 -05:00
2026-06-13 08:22:25 -05:00
up
2026-01-28 02:23:36 -05:00
2026-01-21 08:28:54 -05:00
2026-01-13 00:48:57 -05:00
up
2026-02-03 22:21:35 -05:00
2026-05-11 12:21:56 -05:00
up
2026-03-10 18:42:51 -05:00
up
2026-03-10 18:42:51 -05:00
up
2026-03-10 18:42:51 -05:00
2026-01-21 08:28:54 -05:00
2026-01-12 15:54:04 -05:00
up
2026-02-03 21:30:55 -05:00
w
2025-11-18 20:26:36 -05:00
up
2026-01-27 23:56:49 -05:00
up
2026-01-28 02:23:36 -05:00
up
2026-02-03 21:30:55 -05:00
up
2026-02-03 21:30:55 -05:00
up
2026-06-09 16:44:39 -05:00
2026-01-12 16:13:41 -05:00
2026-01-12 16:13:41 -05:00
2026-01-12 16:13:41 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-04-16 22:23:33 -05:00
2026-01-13 00:48:57 -05:00
up
2026-02-21 07:37:36 -05:00
2026-01-12 16:13:41 -05:00
up
2026-03-16 20:46:54 -05:00
up
2026-02-03 22:21:35 -05:00
2026-02-03 22:12:12 -05:00
up
2026-01-28 02:23:36 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-27 23:56:49 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-02-03 21:30:55 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-28 03:33:35 -05:00
up
2026-01-27 23:56:49 -05:00
up
2026-04-16 23:45:58 -05:00
up
2026-04-16 23:45:58 -05:00
up
2026-04-16 23:45:58 -05:00
up
2026-04-16 23:45:58 -05:00
up
2026-04-16 23:45:58 -05:00
up
2026-04-16 23:45:58 -05:00
up
2026-04-16 23:45:58 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-02-03 21:30:55 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-04-18 23:41:01 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
w
2025-11-18 20:26:36 -05:00
2026-04-19 21:14:45 -05:00
up
2026-04-18 23:41:01 -05:00
p
2026-05-27 10:30:47 -05:00
up
2026-04-21 21:13:35 -05:00
up
2026-06-16 16:35:12 -05:00
up
2026-06-16 12:06:26 -05:00
up
2026-06-16 13:04:59 -05:00
2026-02-03 22:21:40 -05:00
up
2026-03-10 18:42:51 -05:00
p
2026-05-27 10:30:47 -05:00
up
2026-02-03 21:30:55 -05:00
2026-01-21 08:28:54 -05:00
2026-01-12 22:58:19 -05:00
2026-01-13 01:48:33 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-27 23:56:49 -05:00
2026-01-21 08:28:54 -05:00
up
2026-02-21 07:37:36 -05:00
up
2026-02-21 07:37:36 -05:00
up
2026-02-21 07:37:36 -05:00
up
2026-03-10 18:42:51 -05:00
2026-01-21 08:28:54 -05:00
up
2026-01-21 10:38:01 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-01-12 11:06:43 -05:00
up
2026-03-10 18:42:51 -05:00
up
2026-01-20 22:13:02 -05:00
up
2026-01-27 23:56:49 -05:00
S
Description
No description provided
5.5 MiB
Languages
PHP 84.8%
JavaScript 6.4%
HTML 5.9%
Shell 1.4%
CSS 0.9%
Other 0.5%