Тапсырыс беруші
Шешімдерді қабылдау мерзімі

26.06.26 (қоса алғанда)

Марапаттау нысаны

Оплата

Өнім күйі

Идея

Тапсырма түрі

Акт міндеттері

Сфера применения

Medicine

Область задачи

Басқа технологиялық шешімдер

Өнім түрі

БҚ/АЖ

Мәселенің сипаттамасы

Тарихи тұрғыдан алғанда, ТМД-ның көптеген жеке медициналық орталықтарындағы қаржылық есеп-бұл қол еңбегі мен адам факторына байланысты қателіктерге толы ең осал операциялық аймақ. Деректерді қолмен тасымалдау және тікелей қаржылық шығындар: қазір клиника әкімшілері медициналық күнтізбемен және пациенттердің ЭМК-мен физикалық байланысы жоқ Excel кестелерінде немесе үшінші тараптың кассалық бағдарламаларында (мысалы, 1С) төлемдерді есепке алады . Кассир дәрігердің қағаз тапсырмасынан кассаға қызметтерді қолмен қайта басып шығаруы керек. Бұл үнемі ұмытылған чек позицияларына, сомадағы қателіктерге және алынбаған пайдаға әкеледі. Сандық іздің болмауы және жауапсыздық: ескірген POS жүйелерінде тіркеу операторларының қайсысы төлемді қабылдағанын немесе рұқсат етілмеген жеңілдік жасағанын нақты бақылау мүмкін емес, өйткені бағдарламадағы шоттар көбінесе бүкіл филиалға ортақ . Желілік ақаулар және телнұсқалар (Race Conditions): тұрақсыз интернет байланысы кезінде (бұл көбінесе жертөле қабаттарында орналасқан клиникаларда болады) кассирлер "төлеу"түймесін бірнеше рет басуы мүмкін. Ескі жүйелерде бұл қайталанатын шоттардың пайда болуына және күнделікті кірістің бұрмалануына әкеледі. ДБ архитектурасына байланысты тиындардың жоғалуы: бағдарламашылардың ескі мәліметтер базасында ақшаны сақтау үшін дұрыс емес деректер түрлерін (мысалы, float немесе double) пайдалануы көбінесе ұзақ уақыт бойы теңгерімді азайту кезінде "сиқырлы" дөңгелектеу қателіктеріне әкеледі

Күтілетін әсер

Сенімді қаржы ядросын (Core & Cash) әзірлеу медициналық әкімшілендірудің іргелі мәселелерін шешеді және келесі кезеңдерде күрделі банктік интеграцияларды (Kaspi) және талдауды енгізу үшін берік алаң болады: Бухгалтерлік қателерді 0% - ға дейін төмендету: анықтамалық және күнтізбе модулінен POS-терминалға қызметтерді автоматты түрде тарту арқылы шот-фактура кезінде адам факторы толығымен жойылады . Транзакциялардың абсолютті қауіпсіздігі: идемпотентті сұрау архитектурасын енгізу бір шот-фактураны қосарланған төлеу Тіпті желідегі ақаулар кезінде де физикалық мүмкін невозможстігіне 100% кепілдік береді . Мөлдір мөлдірлік және жауапкершілік: жалпы Аудит журналы әр транзакцияны қызметкердің жеке JWT таңбалауышына және нақты Белсенді ауысымға (shift_id)қатаң байланыстыру қызметкерлердің қаржылық шенанигандары үшін мүмкіндіктер алынып тасталады. Ультра жылдам жұмыс және кезексіз қызмет: оңтайландырылған микросервис архитектурасы кассирдің POS экранын 1.5 секундтан аз уақыт ішінде жүктеуге және 600 миллисекундқа дейінгі жылдамдықпен қолма-қол ақша төлеуге мүмкіндік береді (P95 мақсатты жауабы), бұл клиниканың фойесінде пациенттерге қызмет көрсетуді түбегейлі жеделдетеді.

Жауапты тұлғаның ТАӘ

Амина Агзамова

Тапсырманың (жобаның) мақсаты мен сипаттамасы

Клиниканың бүкіл қаржылық контуры үшін ақауларға төзімді, масштабталатын және өнімділігі жоғары іргетас қалау. Бұл блоктың негізгі міндеті-сенімді дерекқор архитектурасын (шоттар, транзакциялар, чек позициялары) жобалау, API шлюзі деңгейінде JWT таңбалауыштары арқылы қол жеткізу құқықтарын қатаң валидациялауды енгізу және клиентке тапсыруды автоматты түрде есептеу және қосарланған төлемдерден қорғау арқылы қолма-қол ақшамен төлеудің негізгі, бірақ ең маңызды процесін жүзеге асыру. Функционалдылық пен техникалық шешімдердің толық сипаттамасы: Мәліметтер базасының архитектурасы және қаржылық деректер түрлері: PostgreSQL-де негізгі кестелерді жобалау: invoices( шоттар), invoice_items (шот-фактуралар) және транзакциялар (транзакциялар) . Негізгі техникалық талап - барлық сомалар (бағалар, жеңілдіктер, қорытындылар, тапсыру) деректер базасында тек қатаң қаржылық форматта сақталуы керек NUMERIC (12,2) (өзгермелі float деректер түрін пайдалануға қатаң тыйым салу) және клиенттегі қателіктерді болдырмау үшін барлық маңызды есептеулер артқы жағында жүргізілуі керек . Қызметтер анықтамалығы (Services Database): қызметтер кестесін әзірлеу және біріктіру (get /api / v2 / services Endpoint арқылы қоңырау шалу?search=) шот-фактураға позицияларды (медициналық қызметтер немесе тауарлар) автоматтандырылған қосу үшін . Чектегі әрбір позиция анықтамалыққа, оның әдепкі құны мен ҚҚС мөлшерлемесіне (vat_pct)байланысты болады . RBAC және операцияларды қорғау (JWT Middleware): әрбір кассалық операция (шот құру, жеңілдік қолдану, төлем жасау) қатаң қауіпсіздік сүзгісінен өтуі керек. Middleware міндетті өрістерді тексеру арқылы кассирдің JWT таңбалауышын тексереді: role (құқық деңгейі), branch_id (тек филиалымен шоттардың көрінуін шектеу), sub (қызметкердің идентификаторы) және max_discount_pct (жеке жеңілдіктің рұқсат етілген шегі) . Ең бастысы: сервер shift_id — ті тексереді-егер пайдаланушыда ашық кассалық ауысым болмаса, операция HTTP 403 NO_ACTIVE_SHIFT күйімен бұғатталады . Қолма-қол ақшамен төлеу ағыны( Cash Flow): сыртқы банктік интеграциясыз қолма-қол ақшаны қабылдау алгоритмін әзірлеу . Сервер amount_paid параметрін қабылдайды (пациент қанша берді). Егер қабылданған сома шоттың жиынтық сомасынан (total) аз болса, API 422 INSUFFICIENT_AMOUNT қатесі бар транзакцияны автоматты түрде қабылдамайды . Тапсыру клиентке реактивті түрде есептеледі (change = amount_paid-total) . Сәтті жүзеге асырылған кезде шот мәртебесін сервер атомдық түрде paid (немесе partial) күйіне аударады, содан кейін клиентке WebSocket payment оқиғасы жіберіледі.POS-терминал интерфейсін жедел жаңарту үшін толық . Идемпотенттілік және Аудит (audit Log): желілік ақаулардан және екі рет басудан қорғау механизмін енгізу. Маңызды Endpoint Post /api/v2/invoices/:id/pay міндетті түрде idempotency-Key тақырыбын беруді талап етеді . Қайталанатын сұрау кезінде сервер Қос транзакция жасамай ақ кэштелген түпнұсқа жауапты қайтарады . Сонымен қатар, кез-келген әрекет audit_log Ғаламдық кестесіне қатаң түрде енгізіледі, онда операцияны кім жасады, қандай әрекет болды және JSON - чек күйі бұрын және кейін

Ескерту