UDENTIVA денсаулық бағдарламасы үшін ізделетін үдеріс жетілуін сәулеттің өзіне сіңіреді. Бұл бет; әзірлеу өмірлік циклімізді, SPICE / ISO-IEC 15504 мүмкіндік деңгейлерін, үздіксіз қате журналдау мен бақылау механизмдерімізді, нұсқа мен қауіпсіздік критерийлерімізді және әзірлеу тарихымызды дәлелдерімен ашып көрсетеді.
Негіздеме: Денсаулық ақпараттық басқару жүйелері туралы Ереже (MevzuatNo 39682) 6-бап пен 20-бап — бағдарлама сапасы (CMMI/SPICE) сертификаттау талабы.
Процесс анықтамасы, орындалуы және бақыланатын жұмыс өнімдері құрылымдалған; сандық өлшеу, ақауды болдырмау және үздіксіз жетілдіру тетіктері өндірісте жұмыс істейді. Ресми қабілет деңгейінің мәлімдемесі тәуелсіз бағалау (appraisal) аясына жатады.
SPICE процестерді 0-ден 5-ке дейінгі қабілет деңгейімен бағалайды. UDENTIVA Деңгей 1-3 күтулерін процесс анықтамасы/қолданыс/бақыланатын жұмыс өнімдері деңгейінде қанағаттандыратындай құрылымдалған; Деңгей 4-5 үшін сандық өлшеу мен үздіксіз жетілдіру механизмдері жұмыс істейді. Ресми деңгей мәлімдемесі тәуелсіз бағалауға жатады.
Деңгей 4-5-ке тиесілі сандық бақылау мен үздіксіз жетілдіру механизмдері төменде дәлелдерімен (тікелей өлшем, қате/CAPA тізілімі, тарату жазбалары) жұмыс істейді.
Әрбір процесс саласы UDENTIVA-да нақты бір қолданысқа және тексерілетін дәлелге сәйкес келеді. Процесс — құжат емес, жұмыс істейтін код.
| Үдеріс Аймағы | UDENTIVA Қосымшасы | Дәлел |
|---|---|---|
| ENG.1 Талаптарды алу | Faz картасы + тік тілім (vertical slice) талап анықтамасы; UDENTIVA.md жоба келісімі талаптарды бекітеді. | UDENTIVA.md (АЛТЫН ЕРЕЖЕЛЕР), 02_tech_spec/ техникалық спецификация, faz/модуль картасы |
| ENG.4 Бағдарламалық жасақтама дизайны | Модульдік монолит; контекст (context) пакеттері бір-бірінің кестесін бөліспейді; интерфейс (interface) арқылы байланыс; сыртқы қызмет = adapter. | internal/{identity,patient,billing,export,...} шекара ережесі; ADR-001..008 |
| ENG.5 Бағдарламалық жасақтаманы құру | Ашық SQL (sqlc, ORM жоқ); context әр функцияда бірінші параметр; қатені орау %w; ақша = numeric. | sqlc.yaml тип override (numeric→string), db/queries/*.sql, gofmt/golangci-lint |
| ENG.6 Бағдарламалық жасақтама интеграциясы | PHP(BFF) ↔ Go ↔ PostgreSQL ↔ Redis loopback тізбегі; жалғыз public бет. | web/core/ApiClient, /healthz компонент денсаулығы (db+redis) |
| ENG.7 Бағдарламалық жасақтама тестілеу | Cross-tenant оқшаулау тесті (ең маңызды), idempotency, кездесу қайшылығы, ақша дәлдігі, 2FA/OTP, TOTP RFC6238 вектор, QR (OpenCV+ISO растау). | internal/integration/*_test.go, platform/totp/totp_test.go, go test ./... |
| SUP.1 Сапаны қамтамасыз ету | Әр PR АЛТЫН ЕРЕЖЕЛЕРГЕ сай болуы тиіс; lint таза; оқшаулау тесті CI-да қызыл болса, merge жоқ. | golangci-lint, Definition of Done kontrol listesi |
| SUP.8 Конфигурацияны басқару | Git нұсқа басқару (branch core); goose реттік схема нұсқалау; build артефактілері сақтық көшірмеленеді. | git, goose_db_version tablosu, .tools/deploy yedekleri |
| SUP.9 Мәселені шешу | Append-only аудит жазбасы + электрондық пошта/SMS outbox (әр жіберу жазбасы) + deploy сақтық/rollback тәртібі. | audit_log, email_outbox/sms_outbox, bin/server.exe.bak-* rollback |
| SUP.10 Өзгеріс сұранымын басқару | Әр схема өзгерісі жаңа нөмірленген migration; қайтарылатын (goose Down); deploy classifier-мақұлдауы. | db/migrations/0001..0027, +goose Up/Down |
| MAN.3 Жоба басқару | Тік тілім жеткізу (әр тілім ұштан-ұшқа жұмыс істейді); сессия тапсыру жазбалары. | super-devam.md, faz tablosu (DoD per dilim) |
| MAN.6 Өлшеу | Денсаулық тексеруі, сыйымдылық өлшеуі, электрондық пошта/SMS жіберу метрикалары, audit көлемі, тірі event телеметриясы. | /healthz, Процесс Бақылау және Сапа панелі (event/қате/deploy/KPI) |
Жауапкершіліктер қабаттарға бөлінген; домен билігі жалғыз нүктеде әрі loopback арқылы оқшауланған. Браузер тек жұқа BFF-ті ғана көреді, домен мен дерек қабатына ешқашан тікелей қол жеткізе алмайды.
| Қабат | Жауапкершілік және Қауіпсіздік | Орналасқан жер |
|---|---|---|
| Sunum (BFF) | PHP 8.4 — жұқа BFF: сессия, render, CSRF, бағыттау. Іскери ереже/ДБ ЖОҚ. Жалғыз public бет (IIS:443). | web/ |
| Uygulama / Domain | Go модульдік монолит — доменнің ЖАЛҒЫЗ билігі. RBAC, іскери ережелер, transaction. Тек 127.0.0.1 тыңдайды. | api/internal/ |
| Veri | PostgreSQL — әр кестеде tenant_id + RLS FORCE; ашық SQL (sqlc), параметрлі. Ақша numeric. | api/db/ |
| Кэш / Кезек | Redis — сессия, idempotency, таратылған құлып, asynq кезек (SMS/e-fatura). | platform/redisx |
| Nesne Depolama | S3-үйлесімді — үлкен файл (рентген) presigned/stream; blob ешқашан ДБ-де емес. | platform/storage |
| Сыртқы қызмет (adapter) | e-Fatura, SMS(NetGSM), электрондық пошта(SMTP), (кейін e-Nabız/MEDULA/DICOM) — interface артында абстрактілі. | internal/notify |
Өлшеу — мәлімдеме емес, жұмыс істейтін жүйе. Барлық операциялар тірі санақталады (сәтті/сәтсіз), өндіру қателері тұрақты кітапшаға түсіріледі және төмендегі KPI жақтауы кезеңдік әрекеттерге байланады. Деректер көздері нақты кестелер: event_counter (тірі операция санауышы), error_log (тұрақты қате кітапшасы), deploy_log (орналастыру кітапшасы).
| Өлшеу Аймағы | KPI | Мақсат | Деректер Көзі | Кезең | Әрекет |
|---|---|---|---|---|---|
| Tenant оқшаулау қауіпсіздігі | cross-tenant test fail | 0 | CI / izolasyon testi | her PR | Merge блоктау |
| Өндіріс қатесі | ашық қате (5xx/panic) | 0 | error_log (тұрақты) | үздіксіз/тірі | RCA + CAPA zorunlu |
| Операция сәттілік деңгейі | success / toplam event | ≥ %99 | event_counter (тірі) | үздіксіз/тірі | Төмендегенде түбірлік себеп |
| Шешім уақыты | MTTR (орт. шешім) | ↓ төмендейтін тренд | error_log (resolved) | айлық | Trend incelemesi |
| Тарату сенімділігі | rollback деңгейі | < %5 | deploy_log | 30 күн | Rollback review |
| Кимлик қауіпсіздігі | 2FA/OTP kritik olay | 0 | audit + event_counter | айлық | Қатайту |
| Хабар алмасу сенімділігі | SMS/e-posta failure | ↓ төмен | *_outbox | күнделікті | Провайдер review |
| Қалпына келтіруге дайындық | restore тесті сәттілігі | %100 | DR test (hedef) | тоқсандық | Runbook жаңарту |
Әр өндіру қатесі стандартты түбірлік себеп (RCA) және түзетуші/алдын алу әрекеті (CAPA) циклінен өтеді; сол бір қатенің қайталануы регрессия бақылауымен және тренд қадағалауымен болдырылмайды.
Өндіріс қатесі (5xx/panic) автоматты түрде ұсталады → тұрақты error_log (бірдей қолтаңба қайталанғанда count++, defect тренд).
Деңгей (error/panic), әсер және қайталану саны анықталады; сәтсіз event санауыштарымен таралуы өлшенеді.
Процесс бақылау панелінде түбірлік себеп талдауы жасалады және жазылады.
Түзетуші әрекет + алдын алушы әрекет (код, тест, migration ережесі, қауіпсіздік бақылауы) анықталады және жазылады.
Сол қатенің қайталануын болдырмайтын тест/ереже қосылады; үздіксіз телеметриямен бақыланады.
KPI трендтері (MTTR, қате деңгейі, rollback) мезгіл-мезгіл бағаланады; қайталанатын қате үшін процесс деңгейіндегі әрекет ашылады.
SPICE Деңгей 5-тің мәні: қателерді үздіксіз тіркеу, бақылауда ұстау, ақауды алдын алу және үздіксіз жетілдіру. UDENTIVA бұл механизмдерді өндірісте жұмыс істетеді.
Өзгертілмейтін (append-only) audit_log әр маңызды операцияны; email_outbox/sms_outbox әр жіберуді (status, attempts, error) тұрақты жазады. Ешбір оқиға үнсіз жоғалмайды.
Дәйекті қате қабы {error:{code,message}}; ішкі қате/stack ешқашан ағып кетпейді. Әр deploy алдында binary + web сақтық көшірмесі; outage кезінде bin/server.exe.bak-* арқылы секундтар ішінде rollback.
Fail-closed сәулет: RLS контекст болмаса 0 жол; idempotency қос операцияны болдырмайды; numeric ақша float қатесін мүмкін емес етеді; whitelist (export dataset) SQL инъекциясын болдырмайды. Қателер дизайнмен басынан бастап болдырылмайды.
Маңызды компоненттер екі тәуелсіз әдіспен расталады: TOTP RFC6238 тест векторы, QR үшін OpenCV cv2 decode + ISO/IEC 18004 анықтамалық codeword, cross-tenant оқшаулау тесті.
Әр сессияда қауіпсіздік аудиті → нәтижелер → қатайту (мыс. faz2/faz3 RBAC қосылды, 2FA, Export API). Процесс жазбалары (super-devam.md) арқылы корпоративтік жад сақталады.
Жаңа реттеуші сұраныс (VEM Көрінісі) тікелей өнім мүмкіндігіне және дәлелге айналдырылады; заңнама өзгерістері үздіксіз бақыланады және сәйкестік картасына енгізіледі.
Бір код негізі, байрақпен тарылту — fork жоқ.
Схема, дереккөз, орналастыру және API қабатында қадағаланатын нұсқа.
Бүкіл әзірлеу үдерісі нұсқа бақылауында; әр орналастыру кері-қайтарылады (rewind/rollback).
Қауіпсіздік — мүмкіндік емес, сәулеттің өзі. Бұзу PR қабылданбауымен аяқталатын, келіссөзге жатпайтын ережелер:
Жүйе, әрқайсысы ұштан-ұшқа жұмыс істейтін тік тілімдермен құрылды. Төменде фазалар мен соңғы кезеңдегі қауіпсіздік/реттеу жұмыстарының хронологиясы келтірілген.
pgx+sqlc, goose, RLS fail-closed тесті, WithTenantTx, сессия middleware, login+RBAC, audit, PHP↔Go loopback, asynq негізі, health.
Пациент CRUD + cross-tenant оқшаулау тесті → Кездесу (exclusion constraint + Redis lock) → Одонтограмма/Ем жоспары (FDI, append-only) → Төлем/Есеп/Касса (derive, idempotent) → e-Fatura adapter (fast-follow) → Қойма → Рентген (S3) → SMS еске салу (asynq backoff).
Платформа-оператор (супер-админ) tier-і (X-Platform-Key, бөлек кимлик жазықтығы); tenant басқару, жазылым/фактуралау моделі, сыйымдылық өлшеуі, legal нұсқа редакторы, reCAPTCHA, NetGSM баптаулары.
i18n (20 dil, key-based, RTL); 20 tema + klinik public site (/s/{slug}) + lead-booking; demo klinik siteleri.
Ортақ OTP примитиві; пароль қалпына келтіру + magic-link + тіркелгіні белсендіру (нақты SMTP); NetGSM SMS ядросы; көп-tenant public auth; клиника пайдаланушыларын басқару.
TOTP (RFC6238) + сақтық кодтар; МІНДЕТТІ QR (сыртқы-тәуелсіз, CSP-таза qr.js; OpenCV+ISO арқылы тәуелсіз расталды); SMS телефонды растау (KVKK келісімі).
VEM Көрінісі (Минимум Деректер Моделі) 12 export view + Export API (SuperUser-анықтаған, tenant-құлыпталған, fail-closed); Заңнама & Сәйкестік картасы; %100 заңнамаға бағытталған legal келісім қайта қаралуы.
Ticket-бақыланатын Қолдау Орталығы; SPICE процесс құжаттамасы (осы бет); үздіксіз қауіпсіздік аудиті + қатайту.
Сәулет, қауіпсіздік және реттеу сәйкестігі жөнінде толық ақпарат үшін командамызбен байланысыңыз.
We use cookies necessary for core functionality; analytics and marketing cookies are enabled only with your consent. Cookie саясаты