UDENTIVA Plataforma Inteligente de Gestión Dental
MIGRACIÓN DE DATOS Y ESQUEMAS DE VISTAS

Transferencia de Datos (Export API)

Transferencia de datos de solo lectura y controlada. Solo el operador de la plataforma (SuperUser) define una conexión + clave para una clínica; la clave extrae los datos de esa clínica de los conjuntos de datos de la "VEM" seleccionada (view del Modelo Mínimo de Datos). No hay acceso entre inquilinos (cross-tenant). Cumple con la obligación de portabilidad de datos (Reglamento n.º 39682 Art. 14).

¿Cómo funciona?

1
El SuperUser lo define
El operador de la plataforma (superadministrador) crea un enlace para una clínica y selecciona qué conjuntos de datos (Vista VEM) se exportarán. Se genera una clave de API de un solo uso.
2
Acceso mediante clave
Un sistema externo (p. ej. contabilidad, informes, exportación regulatoria) extrae datos de solo lectura con la cabecera Authorization: Bearer. La clave solo ve los datos de esa clínica.
3
Controlado y auditable
Cada extracción queda registrada. Cuando se solicita, el enlace se desactiva/anula al instante. Los datos son fijos por el esquema de la vista; los cambios en las tablas internas no afectan al exterior.

Autenticación

Cada solicitud debe llevar una clave de exportación. Se admiten dos métodos; la clave se almacena solo como hash SHA-256.

Authorization: Bearer udx_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
— o —X-Export-Key: udx_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endpoints

GET /export/v1 Devuelve los conjuntos de datos permitidos de la clave y la información de uso (descubrimiento) Clave de exportación
GET /export/v1/{dataset} Extrae el conjunto de datos seleccionado paginado (?limit=1000&offset=0) Clave de exportación

Ejemplo de uso

Extraer pacientes (VEM)

Solicitud
curl https://udentiva.com/export/v1/patients?limit=1000 \
  -H "Authorization: Bearer udx_xxxxxxxx"
Respuesta
HTTP/1.1 200 OK
{
  "dataset": "patients",
  "count": 1000,
  "limit": 1000,
  "offset": 0,
  "rows": [ { "patient_id": "...", "tenant_id": "...", "first_name": "..." } ]
}

Vista VEM: esquemas de vistas

Cada conjunto de datos exportable es una Vista VEM de columnas fijas (vista del Modelo Mínimo de Datos). A continuación encontrará el esquema de columnas completo de cada conjunto, sus tipos de datos y (si aplica) su correspondencia con el campo VEM del Ministerio de Sanidad. Los importes se devuelven como decimales (numeric), los identificadores como uuid y las fechas como ISO-8601 (timestamptz).

Hastalar patients VEM: VEM_HASTA 32 columna
Hasta demografik kaydı (silinmiş kayıtlar hariç). Özel nitelikli veri içerir; yalnız yetkili kontrollü aktarım içindir.
ColumnaTipoDescripción
patient_iduuidHasta kimliği (birincil anahtar)
tenant_iduuidKlinik kimliği (kayıt bu kliniğe aittir)
national_idtextTCKN / TC Kimlik Numarası
first_nametextAd (AD)
last_nametextSoyad (SOYADI)
full_nametextTam ad (eski tek-alan)
nationalitytextUyruk (UYRUK)
patient_typetextHasta tipi (HASTA_TIPI)
birth_datedateDoğum tarihi
declared_birth_datedateBeyan doğum tarihi (BEYAN_DOGUM_TARIHI)
gendertextCinsiyet (CINSIYET)
birth_placetextDoğum yeri (DOGUM_YERI)
mother_tckntextAnne TCKN
father_tckntextBaba TCKN
mother_nametextAnne adı
father_nametextBaba adı
birth_ordersmallintDoğum sırası (DOGUM_SIRASI)
marital_statustextMedeni hali (MEDENI_HALI)
occupationtextMeslek (MESLEK)
education_leveltextÖğrenim durumu (OGRENIM_DURUMU)
blood_typetextKan grubu (KAN_GRUBU)
disability_statustext[]Engellilik durumu (ENGELLILIK_DURUMU, dizi)
death_datedateÖlüm tarihi (OLUM_TARIHI)
death_placetextÖlüm yeri (OLUM_YERI)
passport_notextPasaport numarası
yupass_notextYUPASS numarası
last_institution_codetextSon kurum kodu
unidentified_infotextKimliksiz hasta bilgisi
phonetextTelefon
emailtextE-posta
created_attimestamptzOluşturulma zamanı
updated_attimestamptzGüncellenme zamanı
Başvurular visits VEM: VEM_HASTA_BASVURU 21 columna
Hasta başvuru / muayene kaydı (başvuru protokolü, hekim, kabul bilgileri).
ColumnaTipoDescripción
visit_iduuidBaşvuru kimliği
tenant_iduuidKlinik kimliği
branch_iduuidŞube kimliği
patient_iduuidHasta kimliği
parent_visit_iduuidBağlı olduğu başvuru
doctor_iduuidHekim kodu (HEKIM_KODU)
assistant_doctor_iduuidAsistan hekim kodu
book_notextDefter numarası
daily_seqintegerGünlük sıra numarası
prioritytextMuayene öncelik sırası
institution_codetextKurum kodu
online_protocol_notextOnline protokol numarası
admission_protocol_notextBaşvuru protokol numarası
admitted_attimestamptzHasta kabul zamanı
admission_typetextKabul şekli
social_security_statustextSosyal güvence durumu
case_typetextVaka türü
referral_diagnosistext[]Sevk tanısı (dizi)
doctor_notetextHekim başvuru notu
created_attimestamptzOluşturulma
updated_attimestamptzGüncellenme
Tanılar diagnoses VEM: VEM_BASVURU_TANI 11 columna
Başvuruya bağlı tanılar (ICD-10).
ColumnaTipoDescripción
diagnosis_iduuidTanı kimliği
tenant_iduuidKlinik kimliği
patient_iduuidHasta kimliği
visit_iduuidBaşvuru kimliği
icd10_codetext[]Tanı kodu (ICD-10, dizi)
diagnosis_typetextTanı türü
is_primarybooleanBirincil tanı mı
diagnosed_attimestamptzTanı zamanı
doctor_iduuidHekim kodu
created_attimestamptzOluşturulma
updated_attimestamptzGüncellenme
Reçeteler prescriptions VEM: VEM_RECETE 12 columna
Reçete başlığı (MEDULA e-reçete, e-imza durumu).
ColumnaTipoDescripción
prescription_iduuidReçete kimliği
tenant_iduuidKlinik kimliği
patient_iduuidHasta kimliği
visit_iduuidBaşvuru kimliği
doctor_iduuidHekim kimliği
prescription_typetextReçete türü
prescription_subtypetextReçete alt türü
medula_erecete_notextMEDULA e-reçete numarası
esign_statustextReçete e-imza durumu
sgk_follow_notextSGK takip numarası
created_attimestamptzOluşturulma
updated_attimestamptzGüncellenme
Reçete İlaçları prescription_items VEM: VEM_RECETE_ILAC 15 columna
Reçetedeki ilaç kalemleri (barkod, doz, kullanım).
ColumnaTipoDescripción
item_iduuidKalem kimliği
tenant_iduuidKlinik kimliği
prescription_iduuidReçete kimliği
barcodetextBarkod
drug_nametextİlaç adı
box_countintegerKutu adedi
dose_unittextDoz birimi
usage_formtextİlaç kullanım şekli
usage_countintegerİlaç kullanım sayısı
usage_dosetextİlaç kullanım dozu
usage_periodintegerİlaç kullanım periyodu
period_unittextPeriyot birimi
notetextİlaç açıklama
created_attimestamptzOluşturulma
updated_attimestamptzGüncellenme
Randevular appointments VEM: RANDEVU 19 columna
Randevu kayıtları (MHRS, gelme durumu, iptal).
ColumnaTipoDescripción
appointment_iduuidRandevu kimliği
tenant_iduuidKlinik kimliği
branch_iduuidŞube kimliği
patient_iduuidHasta kimliği
doctor_iduuidHekim kimliği
unit_iduuidÜnite/koltuk kimliği
visit_iduuidBaşvuru kimliği
start_attimestamptzBaşlangıç
end_attimestamptzBitiş
statustextDurum
prioritytextÖncelik
appointment_typetextRandevu türü
appointment_subtypetextRandevu alt türü
mhrs_hrntextMHRS HRN kodu
attendance_statustextRandevu gelme durumu
cancelled_attimestamptzİptal zamanı
cancel_reasontextİptal nedeni
created_attimestamptzOluşturulma
updated_attimestamptzGüncellenme
Hizmet Kataloğu services VEM: HIZMET 6 columna
Klinik hizmet/işlem kataloğu ve fiyatları.
ColumnaTipoDescripción
service_iduuidHizmet kimliği
tenant_iduuidKlinik kimliği
codetextHizmet kodu
nametextHizmet adı
pricenumericBirim fiyat (para; ondalık)
updated_attimestamptzGüncellenme
Tedavi Kalemleri treatment_items VEM: HASTA_HIZMET 14 columna
Tedavi planı kalemleri (uygulanan/planlanan işlemler, fatura durumu).
ColumnaTipoDescripción
item_iduuidKalem kimliği
tenant_iduuidKlinik kimliği
plan_iduuidTedavi planı kimliği
service_iduuidHizmet kimliği
visit_iduuidBaşvuru kimliği
tooth_notextDiş numarası (FDI)
surfacetextYüzey
pricenumericFiyat (para)
statustextPlan durumu
service_statustextHasta hizmet durumu
billing_statustextHizmet fatura durumu
side_infotextTaraf bilgisi
performed_attimestamptzİşlem zamanı
updated_attimestamptzGüncellenme
Diş Durumları tooth_states VEM: DIS_ISLEM 13 columna
Odontogram diş durumları (FDI, append-only).
ColumnaTipoDescripción
tooth_state_iduuidDiş durumu kimliği
tenant_iduuidKlinik kimliği
patient_iduuidHasta kimliği
visit_iduuidBaşvuru kimliği
tooth_nointegerDiş numarası (FDI)
surfacetextYüzey
conditiontextDurum/işlem
dental_action_typetextDiş işlem türü
medula_tooth_codetextDiş kodu (MEDULA)
result_codetextSonuç kodu
result_messagetextSonuç mesajı
recorded_attimestamptzKayıt zamanı
updated_attimestamptzGüncellenme
Faturalar invoices VEM: FATURA 14 columna
Fatura başlıkları (MEDULA teslim, bütçe kodu, dönem).
ColumnaTipoDescripción
invoice_iduuidFatura kimliği
tenant_iduuidKlinik kimliği
patient_iduuidHasta kimliği
visit_iduuidBaşvuru kimliği
totalnumericToplam tutar (para)
statustextDurum
invoice_typetextFatura türü
invoice_notextFatura numarası
periodtextFatura dönemi
medula_delivery_notextMEDULA teslim numarası
budget_codetextBütçe kodu
einvoice_statustexte-Fatura durumu
created_attimestamptzOluşturulma
updated_attimestamptzGüncellenme
Fatura Kalemleri invoice_lines VEM: FATURA_KALEM 8 columna
Fatura satırları (açıklama, miktar, tutar).
ColumnaTipoDescripción
line_iduuidSatır kimliği
tenant_iduuidKlinik kimliği
invoice_iduuidFatura kimliği
descriptiontextAçıklama
qtynumericMiktar
unit_pricenumericBirim fiyat (para)
line_totalnumericSatır toplamı (para)
updated_attimestamptzGüncellenme
Tahsilatlar payments VEM: TAHSILAT 8 columna
Ödeme/tahsilat kayıtları.
ColumnaTipoDescripción
payment_iduuidTahsilat kimliği
tenant_iduuidKlinik kimliği
patient_iduuidHasta kimliği
invoice_iduuidFatura kimliği
amountnumericTutar (para)
methodtextÖdeme yöntemi
paid_attimestamptzTahsilat zamanı
updated_attimestamptzGüncellenme

Modelo de seguridad

Definido por SuperUser: los enlaces se crean únicamente en el plano de control de la plataforma; estos endpoints no son detectables en el API público. Las clínicas por sí mismas no pueden generar claves.
Bloqueado al inquilino + fail-closed: cada clave está vinculada a una única clínica. Las vistas de exportación funcionan con security_invoker + un filtro de inquilino embebido: si no hay contexto, no se devuelve ninguna fila.
Solo lectura: únicamente GET. La clave se almacena solo como hash SHA-256; la clave en texto plano se muestra una sola vez al crearla. La desactivación/revocación surte efecto de inmediato.
Auditable: cada extracción de datos (conexión, conjunto de datos, número de filas, IP) se escribe en el registro de acceso.
Todo el modelo de seguridad →

Otros recursos

Pacientes Citas y calendario Odontograma y Tratamiento Cobros y finanzas Inventario Imágenes Laboratorio Lead y CRM Turismo de salud Informes y BI Webhooks
¿Quiere configurar una migración de datos?
Los enlaces de exportación los define el operador de la plataforma, con la aprobación de su clínica.
Contactar