EN
SOP-IT-004 · v1.0
24 Jun 2026

Onboarding Técnico — Cliente Nuevo

Checklist técnico al dar de alta un cliente · todos los tiers excepto Autoverify
Alcance: todos los tiers excepto Autoverify.
Estado: resumen para ir expandiendo a medida que se haga.

Checklist rápido

#Paso
1Open Dental: crear clients/<id>.json con la Customer Key del cliente
2Open Dental: importar los planes del master a la base del cliente
2.aStedi: crear API code para el cliente (clearinghouse)
2.bOpen Dental: activar Key Connect (customer_key del cliente)
2.cOD Imaging: crear carpeta "Insurance Verification - BC"
2.dOD: crear tag de Insurance Status en appointment notes (pendiente steps de Yami)
3Sheet Insurance Logins: completar accesos a portales del cliente
4Sheet Dr Directory: cargar los providers (NPI, license, etc.)
5Sheet Agreement & Cycle: cargar el acuerdo y el ciclo del cliente
6Stripe: el cliente crea su suscripción; agregar manual el $150 fee de instalación (one-time) a los 31 días
7Jotform: agregar manualmente el cliente al listado
8Google Script ALL PATIENTS BALANCE: agregar el cliente en el file Composite ID Generator
9WhatsApp: crear grupo y agregar a Yami BC + equipo del cliente

Detalle

1-2Open Dental — credenciales y planes

Crear clients/<id>.json con el bloque open_dental (Developer Key compartida + la Customer Key del cliente). Después importar los planes del master a su base:

cd "/Users/yamibrandan/Documents/Claude/Projects/api open dental stedi claims"
source .venv/bin/activate

# 1. Probar sin escribir, confirmar que los planes listados son los BC curados:
python push_plans.py --source master --dest <id-cliente> --limit 3 --dry-run

# 2. Si los 3 son los correctos, prueba real con 3:
python push_plans.py --source master --dest <id-cliente> --limit 3

# 3. Si todo OK, migrar todos los BC curados:
python push_plans.py --source master --dest <id-cliente>

--source master = nuestro OD developers; --dest <id-cliente> = la base nueva. Crea solo lo que falte (carriers, code groups). Las oficinas reales ya traen los ADA codes, así que NO hace falta import_proc_codes.

NO uses --all: el master tiene planes viejos developer (los "8-9 ya existentes" que aparecen al principio) que NO queremos en el cliente. Sin --all el filtro default (Plan Updated - BC) solo agarra los curados.

2.a-dSetup OD + Stedi adicional (pendiente expandir con detalles)

Estos pasos quedan documentados acá para que no se olviden — Yami va a pasar los steps exactos para enriquecer cada uno.

2.a — Stedi: crear API code para el cliente

Ir al dashboard de Stedi → crear un nuevo API code asociado al cliente. Esto es lo que permite enviar 270/276/837D al clearinghouse en nombre del provider del cliente.

(Steps detallados pendientes)

2.b — Open Dental: Key Connect

Activar la customer_key del cliente en Open Dental Key Connect para que nuestros scripts puedan acceder vía API a su base de OD.

(Steps detallados pendientes)

2.c — Crear la image category "Insurance Verification - BC" en Open Dental

Esta es la Image Category donde AutoVerify sube el PDF de elegibilidad y beneficios de cada paciente. Si la categoría no existe, la subida falla en silencio.

1Open Dental → Setup → Definitions

2En la lista izquierda Select Category

Elegir Image Categories.

3En Edit Items, click Add

4En Name escribir exactamente

Insurance Verification - BC

Dejar todos los checkboxes de Usage sin tildar; Hidden sin marcar.

5Click Save

Ruta corta: Setup → Definitions → Image Categories → Add → Name: "Insurance Verification - BC" → Save

Ortografía exacta: mismos espacios, mismas mayúsculas y el guion con espacio a cada lado. AutoVerify hace match por nombre exacto al subir. Si escribís Insurance Verification-BC o insurance verification - BC las subidas fallan.
Pendiente técnico (dev): Actualmente el backend apunta a STEDI_PDF_DOC_CATEGORY = "Insurance". Para que los PDFs realmente caigan en la categoría nueva, hay que:
  • config.py → cambiar a STEDI_PDF_DOC_CATEGORY = "Insurance Verification - BC"
  • .env.example (y el .env en prod) → idem
  • Redeploy
Sin este cambio: el cliente crea la carpeta nueva pero los PDFs siguen yendo a Insurance, y la nueva queda vacía.

2.d — OD: tag de Insurance Status en appointment notes

Crear el tag de Insurance Status en las appointment notes del cliente (ej: INS ACTIVE - BC / INS INACTIVE - BC). Esto lo usa SOP-IT-003 (Metrics & A/R Recovery) para contar las verificaciones del ciclo.

(Yami va a pasar los steps detallados)

3Insurance Logins (Sheet)

Completar los accesos a los portales de aseguradoras del cliente.

Abrir Sheet Insurance Logins

4Dr Directory (Sheet)

Cargar los providers del cliente (nombre, NPI, license, etc.).

Abrir Sheet Dr Directory

5Agreement & Cycle (Sheet)

Cargar el acuerdo y el ciclo de facturación del cliente.

Abrir Sheet Agreement & Cycle

6Stripe

El cliente crea su suscripción en Stripe. Manualmente se le agrega el $150 installation fee (one-time) a los 31 días del alta.

7Jotform

Agregar manualmente el cliente al listado de Jotform.

8Google Script — ALL PATIENTS BALANCE

Agregar manualmente el cliente al script "ALL PATIENTS BALANCE", en el file Composite ID Generator.

9WhatsApp

Crear el grupo de WhatsApp del cliente y agregar a Yami BC + el equipo del cliente.

Mapa de hosting — dónde vive cada pieza

URLSistemaCómo se actualiza
brandacare.com/docs/…API-Setup.pdfWordPress / CloudwaysWP Admin → WP File Managerpublic_html/docs/ → reemplazar el archivo (mismo nombre)
brandacare.com (landing, dashboards)WordPress / CloudwaysDashboards vía GitHub Actions + SFTP a public_html/dashboards/
manual.brandacare.comNetlifyDrag-and-drop de la carpeta docs/
manual.tecnico.brandacare.comNetlifyDrag-and-drop de la carpeta docs-tecnico/
Nota de cache (importante): Tras reemplazar el PDF, la versión vieja puede seguir apareciendo por cache. Purgar:
  1. WP Admin → Breeze → Purge All Cache
  2. Cloudways → Application → Purge Varnish (si aplica)
  3. Cloudflare → Purge (si está adelante)
Opcional: usar ?v=2 al final del link en el email para forzar la versión nueva. Verificar siempre en incógnito.

Para expandir (TODO)