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

# Preparar e importar listas de personas

> Formato único para convertir listas, imágenes y hojas de cálculo en un CSV válido e importarlo desde admin.

# Preparar e importar listas de personas

Esta receta sirve para personas por localizar y personas localizadas en hospitales, refugios u otros lugares. El resultado siempre es un CSV con una persona por fila.

<Card title="Descargar plantilla CSV" icon="download" href="https://venezuelatebusca.com/admin/csv-template">
  Empieza desde la plantilla vigente. No reutilices encabezados de formatos anteriores.
</Card>

## Encabezados exactos

No cambies el orden, nombre ni cantidad de columnas.

```csv theme={null}
status,first_name,last_name,document_type,document_id,birth_date,age,gender,last_seen_location,description,health_conditions,health_notes,hospital,hospital_status,shelter,shelter_status,notes,contact_person_first_name,contact_person_last_name,contact_person_phone,contact_person_email,contact_person_relationship,finder_name,finder_phone
```

## Campos

| Campo                         | Requerido        | Uso                                                                                  |
| ----------------------------- | ---------------- | ------------------------------------------------------------------------------------ |
| `status`                      | No               | Estado general. Usa `missing`, `found` o el default documentado abajo.               |
| `first_name`                  | Sí               | Nombres de una sola persona.                                                         |
| `last_name`                   | Sí               | Apellidos de esa persona.                                                            |
| `document_type`               | Si hay documento | Tipo de documento.                                                                   |
| `document_id`                 | No               | Número según la fuente; no inventes prefijos ni dígitos.                             |
| `birth_date`                  | No               | Fecha real en `YYYY-MM-DD`.                                                          |
| `age`                         | No               | Edad entera entre 0 y 120.                                                           |
| `gender`                      | No               | Uno de los valores permitidos.                                                       |
| `last_seen_location`          | No               | Última ubicación conocida antes de localizarla.                                      |
| `description`                 | No               | Descripción física, ropa y rasgos útiles para identificar a la persona.              |
| `health_conditions`           | No               | Handles de condiciones de salud separados por comas.                                 |
| `health_notes`                | No               | Nota médica breve respaldada por la fuente.                                          |
| `hospital`                    | No               | Handle oficial si está localizada en un hospital.                                    |
| `hospital_status`             | No               | Estado hospitalario; requiere `hospital`.                                            |
| `shelter`                     | No               | Handle oficial si está localizada en un refugio.                                     |
| `shelter_status`              | No               | Estado en el refugio; requiere `shelter`.                                            |
| `notes`                       | No               | Información pública relevante: alias, cambios, actualizaciones o contexto adicional. |
| `contact_person_first_name`   | Sí               | Nombres de la persona responsable del contacto.                                      |
| `contact_person_last_name`    | No               | Apellidos del contacto.                                                              |
| `contact_person_phone`        | Sí               | Teléfono de contacto.                                                                |
| `contact_person_email`        | Sí               | Correo con formato válido.                                                           |
| `contact_person_relationship` | No               | Relación del contacto con la persona.                                                |
| `finder_name`                 | No               | Persona que localizó o confirmó la ubicación.                                        |
| `finder_phone`                | No               | Un teléfono del localizador.                                                         |

## Reglas esenciales

* `first_name`, `last_name`, `contact_person_first_name`, `contact_person_phone` y `contact_person_email` son obligatorios.
* Los teléfonos aceptan formatos nacionales o internacionales comunes y se guardan como texto E.164, por ejemplo `+584263105662`. Cada campo admite un solo número.
* Un valor vacío, `null`, `N/A` o similar nunca reemplaza un teléfono válido existente. Una fila con teléfono múltiple o inválido se rechaza.
* `status` acepta `missing` o `found`. Vacío significa `found` si hay hospital/refugio; en otro caso significa `missing`.
* `hospital` y `shelter` no pueden aparecer juntos. Cualquiera de los dos implica `found`.
* Con hospital, `hospital_status` acepta `admitted`, `discharged` o `deceased`; vacío usa `admitted`.
* `hospital_status` sin hospital es inválido.
* Con refugio, `shelter_status` acepta `present` o `departed`; vacío usa `present`.
* `shelter_status` sin refugio es inválido.
* `notes` se muestra públicamente y puede usarse con `missing` o `found`. No incluyas contactos privados, documentos completos, comentarios internos ni datos sensibles.
* `last_seen_location` es la última ubicación conocida. En filas de refugio, el sistema usa la etiqueta del refugio como ubicación actual.
* Usa `YYYY-MM-DD` para `birth_date`; `age` debe ser un entero entre 0 y 120.
* Separa varias `health_conditions` con comas. Si una celda contiene comas, encierra toda la celda entre comillas.
* Deja vacío lo desconocido. No inventes, completes ni deduzcas información sin respaldo en la fuente.
* El archivo completo debe quedar sin errores. La importación es atómica: se guarda todo o no se guarda nada.
* El archivo debe ser `.csv` y no superar 5 MB. Si excede el límite de una transacción atómica, admin pedirá dividirlo.
* Si la persona ya existe, la importación actualiza los valores significativos más recientes. Nunca cambia `found` a `missing` ni una persona fallecida a otro estado.
* La persona que importa el CSV queda registrada como creadora de las personas nuevas y como última editora de todas las personas actualizadas. El creador original nunca se reemplaza.

### Registros de Oritapo localizados por Florangel

Cuando `last_seen_location` contiene Oritapo o el contacto o `finder_name` identifica a la Dra. Florangel Vera, la importación normaliza el registro como `found` en `Comunidad Oritapo, La Guaira`. Florangel queda como localizadora visible y su teléfono de contacto se copia a `finder_phone` cuando el contacto identifica a la doctora y no se indicó otro teléfono suyo.

El registro conserva el CSV archivado como fuente `persons_list` y añade la atribución `dra_florangel_vera`; no añade `venezuela_te_cuida`. Si `finder_name` contiene otro localizador comunitario, se conserva en las notas como `Localizador comunitario original`.

## Valores permitidos

| Campo                         | Valores                                                                                          |
| ----------------------------- | ------------------------------------------------------------------------------------------------ |
| `status`                      | `missing`, `found`                                                                               |
| `document_type`               | `cedula`, `passport`, `birth_certificate`, `other`                                               |
| `gender`                      | `female`, `male`, `other`                                                                        |
| `hospital_status`             | `admitted`, `discharged`, `deceased`                                                             |
| `shelter_status`              | `present`, `departed`                                                                            |
| `contact_person_relationship` | `mother`, `father`, `sibling`, `grandparent`, `aunt_uncle`, `cousin`, `friend`, `legal_guardian` |

<Accordion title="Hospitales disponibles">
  | Handle                                   | Hospital o centro                                                           |
  | ---------------------------------------- | --------------------------------------------------------------------------- |
  | `miguel_perez_carreno`                   | Hospital Dr. Miguel Pérez Carreño                                           |
  | `domingo_luciani`                        | Hospital Dr. Domingo Luciani                                                |
  | `ricardo_baquero_gonzalez`               | Hospital Médico Quirúrgico Dr. Ricardo Baquero González                     |
  | `universitario_caracas`                  | Hospital Universitario de Caracas                                           |
  | `carlos_bello_cruz_roja`                 | Hospital Carlos J. Bello de la Cruz Roja Venezolana                         |
  | `general_oeste_jose_gregorio`            | Hospital General del Oeste Dr. José Gregorio Hernández                      |
  | `cdi_ali_primera`                        | CDI Alí Primera                                                             |
  | `jose_maria_vargas`                      | Hospital Dr. José María Vargas                                              |
  | `hospital_de_caracas`                    | Hospital de Caracas                                                         |
  | `hospital_de_clinicas_caracas`           | Hospital de Clínicas Caracas                                                |
  | `policlinica_metropolitana`              | Policlínica Metropolitana                                                   |
  | `centro_medico_docente_la_trinidad`      | Centro Médico Docente La Trinidad                                           |
  | `centro_medico_de_caracas`               | Centro Médico de Caracas                                                    |
  | `clinica_santa_sofia`                    | Clínica Santa Sofía                                                         |
  | `clinica_sanatrix`                       | Clínica Sanatrix                                                            |
  | `urologico_san_roman`                    | Urológico San Roman                                                         |
  | `clinica_las_ciencias`                   | Clínica Las Ciencias                                                        |
  | `hospital_central_maracay`               | Servicio Autónomo Docente Hospital Central de Maracay                       |
  | `vargas_caracas`                         | Hospital Vargas                                                             |
  | `clinica_el_avila`                       | Clínica El Ávila                                                            |
  | `clinica_alfa`                           | Clínica Alfa                                                                |
  | `hospital_ciudad_caribia`                | Hospital Ciudad Caribia                                                     |
  | `ana_perez_de_leon_2`                    | Hospital Ana Francisca Pérez de León 2                                      |
  | `ana_perez_de_leon_municipal`            | Instituto Municipal de Salud Ana Francisca Pérez de León                    |
  | `centro_acopio_caraballeda`              | Centro de Acopio Caraballeda                                                |
  | `hospital_militar_carlos_arvelo`         | Hospital Militar Universitario Dr. Carlos Arvelo                            |
  | `jm_de_los_rios`                         | Hospital J.M. de los Ríos                                                   |
  | `victorino_santaella`                    | Hospital Victorino Santaella Ruiz                                           |
  | `lidice_jesus_yerena`                    | Hospital General de Lídice Dr. Jesús Yerena                                 |
  | `cdd_las_mercedes`                       | CDD Las Mercedes                                                            |
  | `hospital_naval_raul_perdomo_hurtado`    | Hospital Naval Dr. Raúl Perdomo Hurtado                                     |
  | `materno_infantil_ana_teresa_ponce`      | Hospital Materno Infantil Dr. Ana Teresa de Jesús Ponce                     |
  | `san_jose_maiquetia`                     | Hospital San José de Maiquetía                                              |
  | `rafael_medina_jimenez_pariata`          | Hospital Dr. Rafael Medina Jiménez                                          |
  | `hermogenes_rivero_saldivia`             | Hospital Dr. Hermógenes Rivero Saldivia                                     |
  | `general_higuerote`                      | Hospital General de Higuerote                                               |
  | `valles_del_tuy_simon_bolivar`           | Hospital General de los Valles del Tuy Simón Bolívar                        |
  | `guarenas_guatire_eugenio_dbellard`      | Hospital General Guarenas-Guatire Dr. Eugenio P. D'Bellard                  |
  | `jose_ignacio_baldo_algodonal`           | Hospital General Dr. José Ignacio Baldó                                     |
  | `periferico_coche`                       | Hospital Periférico de Coche                                                |
  | `san_juan_de_dios`                       | Hospital San Juan de Dios                                                   |
  | `ortopedico_infantil`                    | Hospital Ortopédico Infantil                                                |
  | `cardiologico_infantil_latinoamericano`  | Hospital Cardiológico Infantil Latinoamericano Dr. Gilberto Rodríguez Ochoa |
  | `maternidad_concepcion_palacios`         | Maternidad Concepción Palacios                                              |
  | `maternidad_santa_ana`                   | Maternidad Santa Ana                                                        |
  | `hospital_elias_toro`                    | Hospital Dr. Elías Toro                                                     |
  | `oncologico_padre_machado`               | Hospital Oncológico Padre Machado                                           |
  | `ambulatorio_naiguata`                   | Ambulatorio Naiguatá                                                        |
  | `centro_oftalmologico_de_vargas`         | Centro Oftalmológico de Vargas                                              |
  | `centro_medico_la_guaira`                | Centro Médico La Guaira                                                     |
  | `policlinica_la_guaira`                  | Policlínica La Guaira                                                       |
  | `centro_medico_pariata`                  | Centro Médico Pariata                                                       |
  | `centro_especialidades_medicas_week_end` | Centro de Especialidades Médicas Week End                                   |
  | `campo_de_golf_caribe`                   | Campo de Golf Caribe                                                        |
  | `polideportivo_la_guaira`                | Polideportivo La Guaira                                                     |
</Accordion>

<Accordion title="Refugios disponibles">
  | Handle                      | Refugio                      |
  | --------------------------- | ---------------------------- |
  | `campo_de_golf_caribe`      | Campo de Golf Caribe         |
  | `centro_acopio_caraballeda` | Centro de Acopio Caraballeda |
  | `polideportivo_la_guaira`   | Polideportivo La Guaira      |
</Accordion>

<Accordion title="Condiciones disponibles">
  | Handle                        | Significado                         |
  | ----------------------------- | ----------------------------------- |
  | `wounds_or_trauma`            | Heridas o traumatismos              |
  | `burns`                       | Quemaduras                          |
  | `bleeding`                    | Hemorragia o sangrado               |
  | `unconscious_or_unresponsive` | Pérdida de conciencia               |
  | `seizures`                    | Convulsiones                        |
  | `severe_pain`                 | Dolor agudo                         |
  | `breathing_difficulty`        | Dificultad respiratoria             |
  | `asthma_or_copd`              | Asma o EPOC                         |
  | `diabetes`                    | Diabetes                            |
  | `hypertension`                | Hipertensión                        |
  | `heart_condition`             | Cardiopatía                         |
  | `epilepsy`                    | Epilepsia                           |
  | `reduced_mobility`            | Movilidad reducida                  |
  | `physical_disability`         | Discapacidad física                 |
  | `visual_disability`           | Discapacidad visual                 |
  | `hearing_disability`          | Discapacidad auditiva               |
  | `disoriented`                 | Desorientación                      |
  | `emotional_crisis`            | Crisis emocional                    |
  | `pregnancy`                   | Embarazo                            |
  | `postpartum`                  | Postparto                           |
  | `infant`                      | Lactante                            |
  | `child_without_guardian`      | Niño sin tutor presente             |
  | `dehydration`                 | Deshidratación                      |
  | `needs_water`                 | Sin acceso a agua potable           |
  | `hunger`                      | Inseguridad alimentaria             |
  | `special_diet`                | Requerimiento dietario especial     |
  | `baby_formula`                | Alimentación infantil especializada |
  | `requires_medication`         | Medicación requerida                |
  | `interrupted_treatment`       | Tratamiento interrumpido            |
</Accordion>

## Ejemplos

```csv theme={null}
status,first_name,last_name,document_type,document_id,birth_date,age,gender,last_seen_location,description,health_conditions,health_notes,hospital,hospital_status,shelter,shelter_status,notes,contact_person_first_name,contact_person_last_name,contact_person_phone,contact_person_email,contact_person_relationship,finder_name,finder_phone
missing,Carmen,Rodríguez,cedula,V-12345678,,52,female,Caracas,Vista por última vez con camisa azul,hypertension,,,,,,,Pedro,Rodríguez,+584161234567,pedro@example.com,sibling,,
found,Ana,Pérez,,,,31,female,La Guaira,Localizada por familiares,,,,,,,Localizada con familiares,José,Pérez,+584121234567,jose@example.com,father,,
found,Luis,González,passport,A1234567,,30,male,La Guaira,Paciente localizado,breathing_difficulty,Observación respiratoria,hospital_de_caracas,admitted,,,En observación,Ana,González,+584141234567,ana@example.com,mother,,
found,Nayibeth,Acevedo,cedula,18753433,,37,female,Caracas,,,,domingo_luciani,discharged,,,Dada de alta,María,Acevedo,+584121111111,maria@example.com,friend,,
,María,Pérez,cedula,V-23456789,1985-04-12,,female,,Persona registrada desde refugio,"wounds_or_trauma,requires_medication",Necesita tratamiento diario,,,centro_acopio_caraballeda,present,Localizada en el refugio,José,Pérez,+584121234567,jose@example.com,sibling,,
```

## Validar e importar

1. Abre [Importar datos en admin](https://venezuelatebusca.com/admin/import).
2. Selecciona el CSV. La validación se ejecuta automáticamente.
3. Corrige todas las filas con errores; no se permiten importaciones parciales.
4. Confirma que la vista previa muestra los valores finales esperados.
5. Importa. El archivo original queda archivado para auditoría y todas las filas se guardan juntas.
6. Revisa una muestra en admin y cualquier posible duplicado señalado por el sistema.

## Prompt para preparar el CSV con un agente

Copia este prompt y adjunta las fotos, capturas, PDF, archivos Excel o CSV de origen:

```text theme={null}
Prepara un CSV válido para importar personas en VENEZUELA TE BUSCA.

FUENTE DE VERDAD
Primero lee completamente esta especificación oficial en Markdown:
https://docs.venezuelateayuda.com/docs/guides/importar-listas-de-personas.md

PROCESO
1. Haz un inventario de todos los archivos adjuntos (fotos, capturas, PDF, Excel, CSV u
   otros) y revisa todas sus páginas, hojas y filas. Si una imagen no es legible,
   no adivines su contenido.
2. Extrae una sola persona por fila. Conserva la ortografía, acentos, números y
   fechas de la fuente. Separa nombres, apellidos y documentos sin inventar
   partes ausentes.
3. Cruza información entre archivos solo cuando la identidad coincida sin duda.
   No unas personas por parecido de nombre. Si dos fuentes se contradicen, no
   elijas arbitrariamente.
4. Antes de transformar, identifica la información ausente o ambigua que una
   persona podría aclarar y realiza la ronda de preguntas descrita abajo.
5. Transforma los datos usando exactamente los encabezados, orden, enums,
   handles, defaults y reglas de la especificación. Usa únicamente handles
   oficiales. Deja vacíos los campos opcionales desconocidos.
6. Después de incorporar las respuestas, si todavía falta cualquier campo
   obligatorio, una fila es ilegible o la identidad sigue siendo ambigua, no la
   incluyas en el CSV importable; repórtala por separado con su ubicación exacta
   de origen y el motivo.
7. Genera un CSV UTF-8. Escapa correctamente comas, comillas y saltos de línea.
   No agregues columnas, filas de notas, comentarios ni explicaciones dentro del
   archivo.

ACLARACIONES CON LA PERSONA
- No generes el archivo inmediatamente si una respuesta humana puede completar
  un dato importante o resolver una contradicción. Haz primero una sola ronda
  breve de preguntas.
- Agrupa las preguntas en un mensaje, identifica el registro y su archivo,
  página, hoja o fila, y numera tanto las preguntas como sus opciones. Permite
  responder únicamente con números, por ejemplo: `1.2, 2.1, 3.3`.
- Ofrece opciones usando las etiquetas oficiales de esta guía y conserva el
  handle correspondiente internamente. Muestra primero las opciones que mejor
  coincidan con la fuente; agrega `Otro: escribe el nombre` y `No lo sé` cuando
  sean útiles.
- Si una lista parece hospitalaria, pregunta: `1. ¿Esta información proviene de
  un hospital, un refugio u otro lugar? 1) Hospital 2) Refugio 3) Otro 4) No lo
  sé`. Si responde hospital, pregunta cuál hospital mediante una lista numerada
  de candidatos oficiales y pregunta el estado: `1) Hospitalizado 2) Dado de
  alta 3) Fallecido 4) No lo sé`.
- Si parece un refugio, pregunta cuál refugio mediante opciones oficiales y si
  la persona `1) Sigue presente 2) Salió 3) No lo sé`.
- Pregunta por los campos obligatorios ausentes, especialmente nombre, apellido,
  nombre del contacto, teléfono y email. Pregunta también cuando documento,
  fecha, edad, relación, estado o identidad sean contradictorios.
- No preguntes por datos ya claros ni por campos opcionales sin indicios de que
  la persona pueda responderlos. No repitas preguntas contestadas.
- Si la persona no sabe o no responde, no inventes. Deja vacío lo opcional y
  excluye cualquier registro que siga sin cumplir los campos obligatorios.

CONTROL DE CALIDAD ANTES DE ENTREGAR
- Verifica que procesaste todos los archivos, páginas, hojas y filas.
- Verifica que cada fila representa exactamente una persona y que su origen
  puede identificarse en el resumen.
- Verifica todos los campos obligatorios, enums, handles, fechas y dependencias.
- Verifica que cada fila tiene exactamente la misma cantidad de columnas que el
  encabezado y que el CSV puede volver a abrirse sin desplazar celdas.
- Verifica que hospital y refugio no coexisten y que status y hospital_status
  cumplen los defaults de la especificación.
- No inventes, completes ni deduzcas información sin respaldo explícito.

Entrega:
1. El archivo `YYYY-MM-DD-HHmm-persons-list.csv`, usando la fecha y hora local
   actuales, listo para subir sin errores. Ejemplo:
   `2026-07-11-1330-persons-list.csv`.
2. Un resumen con: fuentes procesadas, filas importables y filas excluidas.
3. Una lista breve de registros excluidos con archivo, página/hoja/fila de origen
   y motivo concreto. Si no excluiste ninguno, indícalo.

No entregues el CSV hasta completar todo el control de calidad.
```
