UDENTIVA Ağıllı Dental İdarəetmə Platforması
PROQRAM KEYFİYYƏT VƏ PROSES YETKİNLİYİ

Proqram Tərtibat Prosesimiz və SPICE Uyğunluğu

UDENTIVA, sağlamlıq proqramı üçün axtarılan proses yetkinliyini arxitekturanın özünə hopdurur. Bu səhifə; tərtibat həyat dövrümüzü, SPICE / ISO-IEC 15504 bacarıq səviyyələrini, davamlı xəta loglama və nəzarət mexanizmlərimizi, versiya və təhlükəsizlik meyarlarımızı və tərtibat tarixçəmizi sübutları ilə ortaya qoyur.

Əsas: Sağlamlıq Məlumatı İdarəetmə Sistemləri Haqqında Yönətmelik (MevzuatNo 39682) m.6 və m.20 — proqram keyfiyyət (CMMI/SPICE) sertifikatlaşdırma tələbi.

UDENTIVA proses memarlığı, SPICE / ISO/IEC 15504 prinsipləri ilə uyğun, audit üçün hazır bir proqram təminatı keyfiyyəti və proses idarəetməsi yanaşmasıdır.

Proses tərifi, tətbiqi və izlənəbilən iş məhsulları strukturlaşdırılıb; kəmiyyət ölçüsü, qüsurun qarşısının alınması və davamlı təkmilləşdirmə mexanizmləri istehsalda işlədilir. Rəsmi qabiliyyət səviyyəsi bəyanı müstəqil qiymətləndirmə (appraisal) əhatəsinə tabedir.

SPICE Bacarıq Səviyyələri

SPICE prosesləri 0-dan 5-ə qədər qabiliyyət səviyyəsi ilə qiymətləndirir. UDENTIVA Səviyyə 1-3 gözləntilərini proses tərifi/tətbiq/izlənilə bilən iş məhsulları səviyyəsində qarşılayacaq şəkildə qurulmuşdur; Səviyyə 4-5 üçün kəmiyyət ölçmə və davamlı təkmilləşdirmə mexanizmləri işlədilir. Rəsmi səviyyə bəyanı müstəqil qiymətləndirməyə tabedir.

0
Eksik (Incomplete)
Proses tətbiq olunmur/hədəfə çatmır.
1
Yerinə yetirilən (Performed)
Proses var və çıxışlarını istehsal edir.
2
İdarə olunan (Managed)
Proses planlaşdırılır, izlənilir; iş məhsulları idarə olunur.
3
Yerləşmiş (Established)
Müəyyən edilmiş standart proses bütün layihədə ardıcıl tətbiq olunur.
4
Proqnozlaşdırıla bilən (Predictable)
Proses kəmiyyətlə (ölçü ilə) idarə olunur.
5
Optimize Eden (Optimizing)
Davamlı təkmilləşdirmə + qüsurun qarşısının alınması + proses yeniliyi.

Səviyyə 4-5-ə aid kəmiyyət nəzarəti və davamlı təkmilləşdirmə mexanizmləri aşağıda sübutları ilə (canlı ölçmə, xəta/CAPA reyestri, yerləşdirmə qeydləri) işlədilir.

SPICE Proses Sahələri → Tətbiq → Sübut

Hər proses sahəsi UDENTIVA-da konkret bir tətbiqə və yoxlanıla bilən bir sübuta uyğun gəlir. Proses bir sənəd deyil, işləyən koddur.

Proses SahəsiUDENTIVA TətbiqiSübut
ENG.1 Tələb ÇıxarımıFaza xəritəsi + şaquli-dilim (vertical slice) tələb tərifi; UDENTIVA.md layihə müqaviləsi tələbləri kilidləyir.UDENTIVA.md (QIZIL QAYDALAR), 02_tech_spec/ texniki spesifikasiya, faza/modul xəritəsi
ENG.4 Proqram Təminatı DizaynıModul monolit; kontekst (context) paketləri bir-birinin cədvəlini paylaşmır; interfeys (interface) ilə əlaqə; xarici xidmət = adapter.internal/{identity,patient,billing,export,...} sərhəd qaydası; ADR-001..008
ENG.5 Proqram Təminatı İnşasıAçıq SQL (sqlc, ORM yoxdur); context hər funksiyada ilk parametr; xəta bükümü %w; pul = numeric.sqlc.yaml tip override (numeric→string), db/queries/*.sql, gofmt/golangci-lint
ENG.6 Proqram Təminatı İnteqrasiyasıPHP(BFF) ↔ Go ↔ PostgreSQL ↔ Redis loopback zənciri; vahid public səth.web/core/ApiClient, /healthz komponent sağlamlığı (db+redis)
ENG.7 Proqram Təminatı TestiCross-tenant izolyasiya testi (ən kritik), idempotency, randevu toqquşması, pul dəqiqliyi, 2FA/OTP, TOTP RFC6238 vektoru, QR (OpenCV+ISO doğrulama).internal/integration/*_test.go, platform/totp/totp_test.go, go test ./...
SUP.1 Keyfiyyət TəminatıHər PR QIZIL QAYDALARA uymağa məcburdur; lint təmiz; izolyasiya testi CI-da qırmızıdırsa merge yoxdur.golangci-lint, Definition of Done kontrol listesi
SUP.8 Konfiqurasiya İdarəetməsiGit versiya idarəetməsi (branch core); goose ardıcıl sxem versiyalama; build artefaktları ehtiyatlanır.git, goose_db_version tablosu, .tools/deploy yedekleri
SUP.9 Problem HəlliYalnız əlavə edilən (append-only) audit qeydi + e-poçt/SMS outbox (hər göndəriş qeydi) + deploy ehtiyat/rollback intizamı.audit_log, email_outbox/sms_outbox, bin/server.exe.bak-* rollback
SUP.10 Dəyişiklik Tələbi İdarəetməsiHər sxem dəyişikliyi yeni nömrəli migration; geri-alına bilən (goose Down); deploy classifier-təsdiqi.db/migrations/0001..0027, +goose Up/Down
MAN.3 Layihə İdarəetməsiŞaquli-dilim təhvili (hər dilim uçtan uca işləyir); sessiya təhvil qeydləri.super-devam.md, faz tablosu (DoD per dilim)
MAN.6 ÖlçməSağlamlıq yoxlaması, tutum ölçmə, e-poçt/SMS göndəriş metrikləri, audit həcmi, canlı event telemetriyası./healthz, Proses İzləmə & Keyfiyyət panosu (event/xəta/deploy/KPI)

Təbəqəli Arxitektura və Verilən Təhlükəsizliyi

Məsuliyyətlər qatlara ayrılmışdır; domain səlahiyyəti tək nöqtədədir və loopback ilə izolə edilmişdir. Brauzer yalnız nazik BFF-i görür, domain və məlumat qatına heç vaxt birbaşa daxil ola bilməz.

TəbəqəMəsuliyyət və TəhlükəsizlikYer
Sunum (BFF)PHP 8.4 — nazik BFF: sessiya, render, CSRF, yönləndirmə. İş qaydası/DB YOXDUR. Vahid public səth (IIS:443).web/
Uygulama / DomainGo modul monolit — domenin YEGANƏ səlahiyyəti. RBAC, iş qaydaları, transaction. Yalnız 127.0.0.1 dinləyir.api/internal/
VeriPostgreSQL — hər cədvəl tenant_id + RLS FORCE; açıq SQL (sqlc), parametrli. Pul numeric.api/db/
Keş / NövbəRedis — sessiya, idempotency, paylanmış kilid, asynq növbə (SMS/e-fatura).platform/redisx
Nesne DepolamaS3-uyğun — böyük fayl (rentgen) presigned/stream; blob heç vaxt DB-də deyil.platform/storage
Xarici Xidmət (adapter)e-Fatura, SMS(NetGSM), e-poçt(SMTP), (sonradan e-Nabız/MEDULA/DICOM) — interface arxasında mücərrəd.internal/notify

Kəmiyyət Ölçmə və KPI — Canlı Proses Telemetriyası

Ölçmə bir bəyan deyil, işləyən bir sistemdir. Bütün əməliyyatlar canlı olaraq sayılır (uğur/uğursuzluq), istehsal xətaları daimi qeydə tutulur və aşağıdakı KPI çərçivəsi periyodik tədbirlərə bağlanır. Verilən mənbələri gerçək cədvəllərdir: event_counter (canlı əməliyyat sayğacı), error_log (daimi xəta qeydi), deploy_log (yayımlanma qeydi).

Ölçmə SahəsiKPIHədəfVerilən MənbəyiDövrAksiya
Tenant izolyasiya təhlükəsizliyicross-tenant test fail0CI / izolasyon testiher PRMerge blokajı
İstehsal xətasıaçıq xəta (5xx/panic)0error_log (daimi)davamlı/canlıRCA + CAPA zorunlu
Əməliyyat uğur nisbətisuccess / toplam event≥ %99event_counter (canlı)davamlı/canlıDüşüşdə kök səbəb
Həll müddətiMTTR (orta həll)↓ azalan trenderror_log (resolved)aylıqTrend incelemesi
Dağıtım etibarlılığırollback nisbəti< %5deploy_log30 günRollback review
Kimlik təhlükəsizliyi2FA/OTP kritik olay0audit + event_counteraylıqSərtləşdirmə
Mesajlaşma etibarlılığıSMS/e-posta failure↓ aşağı*_outboxgünlükProvayder review
Bərpa hazırlığırestore test uğuru%100DR test (hedef)rüblükRunbook yenilə
Bu KPI-lar platforma operatorunun daxil olduğu canlı "Proses İzləmə və Keyfiyyət" panosundan real vaxtda izlənilir: əməliyyat uğur nisbəti, açıq xəta sayı, MTTR (orta həll müddəti), yerləşdirmə sayı və rollback nisbəti.

Qüsur Önləmə və Davamlı Təkmilləşdirmə Dövrəsi (RCA/CAPA)

Hər istehsal xətası standart bir kök səbəb (RCA) və düzəldici/önləyici tədbir (CAPA) dövrəsindən keçir; eyni xətanın təkrarı reqressiya nəzarəti və trend izləməsi ilə əngəllənir.

1
Hadisə / xəta qeydi

İstehsal xətası (5xx/panic) avtomatik tutulur → daimi error_log (eyni imza təkrarında count++, defect trend).

2
Təsnifat

Səviyyə (error/panic), təsir və təkrar sayı müəyyən edilir; uğursuz event sayğacları ilə yayılma ölçülür.

3
Kök səbəb (RCA)

Proses İzləmə panosunda kök səbəb analizi aparılır və qeyd edilir.

4
Düzəldici/qarşısını alan aksiya (CAPA)

Düzəldici aksiya + qarşısını alan aksiya (kod, test, migration qaydası, təhlükəsizlik yoxlaması) müəyyən edilir və qeyd edilir.

5
Reqressiya yoxlaması

Eyni xətanın təkrarını əngəlləyən test/qayda əlavə edilir; davamlı telemetriya ilə izlənilir.

6
Trend incelemesi

KPI trendləri (MTTR, xəta nisbəti, rollback) dövri qiymətləndirilir; təkrarlanan xəta üçün proses-səviyyəli aksiya açılır.

İşlədilən Mexanizmlər — Davamlı Xəta Loglama, Nəzarət və Təkmilləşdirmə

SPICE Səviyyə 5-in mahiyyəti: xətaların davamlı loglanması, nəzarət altında saxlanması, qüsurun önlənməsi və davamlı təkmilləşdirmə. UDENTIVA bu mexanizmləri istehsalatda işlədir.

Davamlı Xəta Loqlaması

Dəyişdirilə bilməyən (append-only) audit_log hər kritik əməliyyatı; email_outbox/sms_outbox hər göndərişi (status, attempts, error) daimi qeyd edir. Heç bir hadisə səssizcə itmir.

audit_log, *_outbox (status/error/attempts)
Xəta Nəzarəti & Geri Alma

Ardıcıl xəta zərfi {error:{code,message}}; daxili xəta/stack heç vaxt sızdırılmır. Hər deploy öncəsi binary + web ehtiyatı; outage anında bin/server.exe.bak-* ilə saniyələr içində rollback.

httpx.Error, deploy yedek/rollback runbook
Qüsurun Qarşısının Alınması (Defect Prevention)

Fail-closed memarlıq: RLS kontekst yoxdursa 0 sətir; idempotency ikiqat əməliyyatı əngəlləyir; numeric pul float xətasını mümkünsüz edir; whitelist (export dataset) SQL injeksiyasını qarşısını alır. Xətalar dizaynla əvvəldən əngəllənir.

RLS FORCE, Idempotency-Key SETNX, numeric, view whitelist
Müstəqil Doğrulama

Kritik komponentlər iki müstəqil üsulla doğrulanır: TOTP RFC6238 test vektoru, QR üçün OpenCV cv2 decode + ISO/IEC 18004 referans codeword, cross-tenant izolyasiya testi.

integration testləri + xarici decoder doğrulaması
Davamlı Təkmilləşdirmə Dövrəsi

Hər sessiyada təhlükəsizlik auditi → tapıntılar → sərtləşdirmə (məs. faza2/faza3 RBAC əlavə edildi, 2FA, Export API). Proses qeydləri (super-devam.md) ilə korporativ yaddaş qorunur.

təhlükəsizlik auditi → sərtləşdirmə dövrəsi
Proses Yeniliyi

Yeni tənzimləmə tələbi (VEM Görüntüsü) birbaşa məhsul xüsusiyyətinə və dəlilə çevrilir; qanunvericilik dəyişiklikləri davamlı izlənilir və uyğunluq xəritəsinə işlənir.

Export API/VEM views, /mevzuat uyğunluq xəritəsi

Edition (Versiya) Nəzarəti

Tək kod bazası, bayraqla daraltma — fork yox.

  • EDITION=base bayrağı tək-klinika MVP-ni müəyyən edir; menyu görünürlüyü (app.php) və route çıxışı (index.php) Edition::allows() allowlist-dən oxuyur.
  • Go RBAC SƏLAHİYYƏTDİR; Edition yalnız UI/səth daraltmasıdır — həqiqi səlahiyyət API qatında zorlanılır (görünürlük ≠ təhlükəsizlik).
  • full versiyada bütün modullar açıq; base versiyada Faza 2/Faza 3 böyümə modulları gizlidir. Fork YOXDUR — vahid kod bazası, bayraqla daraltma.
  • Tenant əsaslı plan/paket (platform abunəlik modeli) ilə tutum limitləri ölçülür; aşımda soft-xəbərdarlıq (əngəlləmir).

Versiyalama Mexanizmləri

Sxem, mənbə, yayımlanma və API səviyyəsində izlənilə bilən versiya.

Sxem Versiyalama
goose ardıcıl migration (0001 → 0027); hər dəyişiklik nömrəli + geri-alına bilən (Up/Down). Tətbiq edilən versiya goose_db_version cədvəlində izlənilir. Prod migration təmiz-DB-də doğrulanır.
Mənbə Versiyalama
Git versiya idarəetməsi (branch: core); izolə edilmiş mərkəz bare repo. Hər mənalı iş commit edilir; sirlər (connection.md, .tools) gitignore — parol heç vaxt commit edilmir.
Dağıtım Versiyalama
Go binary derlenir (-ldflags "-s -w"), YALNIZ bin/server.exe swap (heç vaxt WinSW wrapper). Hər deploy öncəsi binary + web ehtiyatı (timestamp-li). Statik asset cache-bust ?v=N.
API Versiyalama
Public uclar /v1 prefiksi; Export API /export/v1. Geriyə dönük uyğunluq qorunur; qıran dəyişiklik yeni versiya.

Git İstifadəsi, Rewind və Rollback

Bütün tərtibat prosesi versiya nəzarətindədir; hər yayımlanma geri-alına bilir (rewind/rollback).

Versiya İdarəetməsi
Git (branch: core); izolə edilmiş mərkəz bare repo. Mənalı hər iş commit edilir; tarixçə izlənəbilir.
Sirr İdarəetməsi
Parol/açar/bağlantı məlumatı gitignore — HEÇ VAXT commit edilmir (connection.md, .tools, *.zip).
İzolyasiya
Yalnız bu layihə qovluğu versiyalanır; başqa layihələrin mənbəyinə toxunulmur.
İzlənəbilirlik
Commit-lər şaquli-dilim/xüsusiyyət əsaslı; deploy jurnalı (deploy_log) commit→release→prod zəncirini bağlayır.
Rewind / Rollback: Hər yerləşdirmə öncəsi binary + veb + verilənlər bazası ehtiyat nüsxəsi (timestamp-li) alınır. Sxem geri-alına bilən migration (goose Down) ilə; işləyən binary saniyələr içində əvvəlki versiyaya (bin/server.exe.bak-*) qaytarılır; veb əvvəlki arxivdən bərpa edilir. Hadisə anında istehsalat köhnə-yaxşı vəziyyətə geri sarıla bilər.

Təhlükəsizlik Meyarları (Qızıl Qaydalar)

Təhlükəsizlik bir xüsusiyyət deyil, arxitekturanın özüdür. İhlalı PR rəddi olan, danışıq mövzusu olmayan qaydalar:

Sətir səviyyəli izolyasiya (RLS FORCE, fail-closed)
Hər cədvəl tenant_id; policy kontekst yoxdursa 0 sətir qaytarır. Cross-tenant izolyasiya testi CI qapısı.
Atomik & idempotent yazma
Çox-varlıqlı əməliyyat tək transaction (ya hamısı ya heç biri); hər mutasiya Idempotency-Key ilə ikiqat əməliyyatı əngəlləyir.
Para = numeric
Float QADAĞANDIR; yuvarlaqlaşdırma tək yerdə, 2 rəqəm. Maliyyə xətası dizaynla mümkünsüz.
Kimlik və sessiya
argon2id parol; opaque session_key Redis-də (TTL sürüşən); iki mərhələli doğrulama (TOTP); session_key brauzerə açılmır.
Topoloji izolasyonu
Go yalnız 127.0.0.1 dinləyir; vahid public səth PHP/BFF. Backend portları (DB/Redis) çölə bağlıdır.
Dəyişdirilə bilməyən audit
Append-only audit_log; PII/secret loqlanmır/maskələnir; TCKN/sağlıq verisi xüsusi nitelikli.
Parametrli sorğu
Bütün SQL parametrlidir (sqlc/pgx) — SQL injeksiyası mümkünsüz; dataset adları whitelist.
Verilənlərin yerləşməsi
Sağlıq verisi yalnız Türkiyədə; xarici ölkəyə ötürmə yoxdur (KVKK m.9, KSV Yön. m.16).

Development History (Tərtibat Tarixçəsi)

Sistem, hər biri uçdan-uca işləyən şaquli dilimlərlə inşa edildi. Aşağıda fazlar və son dövr təhlükəsizlik/tənzimləmə işlərinin xronologiyası yer alır.

Faz 0 Skelet

pgx+sqlc, goose, RLS fail-closed testi, WithTenantTx, sessiya middleware, login+RBAC, audit, PHP↔Go loopback, asynq bazası, health.

Faz 1 Klinika Nüvəsi (9 şaquli dilim)

Pasiyent CRUD + cross-tenant izolyasiya testi → Randevu (exclusion constraint + Redis lock) → Odontogram/Müalicə planı (FDI, append-only) → Tahsilat/Cari/Kassa (derive, idempotent) → e-Fatura adapter (fast-follow) → Anbar → Rentgen (S3) → SMS xatırlatma (asynq backoff).

Platform Platform idarəetmə konsolu

Platform-operator (super-admin) tieri (X-Platform-Key, ayrı kimlik müstəvisi); tenant idarəetməsi, abunəlik/faturalama modeli, tutum ölçmə, legal versiya redaktoru, reCAPTCHA, NetGSM parametrləri.

Böyümə Çox-dil & klinika veb saytı

i18n (20 dil, key-based, RTL); 20 tema + klinik public site (/s/{slug}) + lead-booking; demo klinik siteleri.

2026-06 Kimlik & Ünsiyyət Təhlükəsizliyi

Paylaşılan OTP primitivi; şifrə sıfırlama + magic-link + hesab aktivləşdirmə (real SMTP); NetGSM SMS nüvə; çox-tenant public auth; klinika istifadəçi idarəetməsi.

2026-06 İki Addımlı Doğrulama (2FA)

TOTP (RFC6238) + ehtiyat kodlar; MƏCBURİ QR (xarici-müstəqil, CSP-təmiz qr.js; OpenCV+ISO ilə müstəqil doğrulandı); SMS telefon doğrulaması (KVKK razılıq).

2026-06 Tənzimləmə Uyğunluğu

VEM Görüntüsü (Minimum Veri Modeli) 12 export view + Export API (SuperUser-müəyyən, tenant-kilidli, fail-closed); Qanunvericilik & Uyğunluq xəritəsi; %100 qanunvericiliyə yönəlik legal müqavilə revizyası.

2026-06 Dəstək & Proses

Ticket-izləmə ilə Dəstək Mərkəzi; SPICE proses sənədləşdirməsi (bu səhifə); davamlı təhlükəsizlik auditi + sərtləşdirmə.

Proses yetkinliyi və uyğunluq haqqında daha çoxu

Arxitektura, təhlükəsizlik və tənzimləmə uyğunluğu haqqında ətraflı məlumat üçün komandamızla əlaqə saxlayın.

Regulation & Compliance Əlaqə Saxla