პროდუქტის განახლებები

გამოშვების შენიშვნები — 26 აპრილი, 2026

Bartłomiej Głowacki · CAIO, AI და R&D ხელმძღვანელი
გამოშვების შენიშვნები — 26 აპრილი, 2026

19 დღის წინ გამოვუშვით დიდი გამოშვება დიაგნოსტიკური მოდულითა და პროსოდიის ანალიზით. მას შემდეგ გუნდმა განახორციელა კიდევ 295 ცვლილება — და ისინი მცირე არ არის. ამ გამოშვებაში შეგიძლიათ ჩაწეროთ ad-hoc სესია პაციენტის მოსვლამდეც კი, თქვენი ჩანაწერები ერწყმის AI-ს მუშაობასა და ტრანსკრიფციას გვერდიგვერდ, სამ სვეტად, საჯარო თერაპევტის პროფილი სრული ძალით დაბრუნდა, ხოლო მობილურ აპლიკაციას ახლა მუქი თემა აქვს. კულისებში გავიარეთ SOC 2 / HIPAA გამკვრივების ეტაპი, DDD აუდიტი და პაციენტის მონაცემების სრული ფსევდონიმიზაცია AI მხარეს.

💚 მადლობა გუნდს, რომელმაც ეს გამოშვება წაიყვანა — მოხსენებებით, ტესტებით, კოდითა და მოთმინებით:

  • Bohdan — ad-hoc სესიები, პაკეტის ლიმიტები და საშეღავათო პერიოდი, DDD აუდიტი, KSeF ინვოისები, ათობით გასწორება (SCRUM-756, 815, 1267, 1268, 1276, 1280-1290, 1293, 1309-1316, 1353-1357, 1366, 1388, 1391, 1392)
  • Bartek — 3-მხრივი შერწყმა, 9 ცალკეული კბთ ანალიზი, კოგნიტური დამახინჯებები, პაკეტის სესიების მრიცხველი (SCRUM-1266, 1320, 1338, 1368-1375, 1385, 1386)
  • Ewa Cylwik / Ewa — Beck PDF, იმავე პაციენტისთვის მეორე AITS სესია, მობილურის მუქი თემა და ცარიელი მდგომარეობა, მრავალენოვანი მეილინგი, UI ფერები, პაციენტის ელფოსტის უნიკალურობა (SCRUM-883, 898, 902, 1089, 1094, 1297, 1304, 1307, 1319)
  • Joanna — განმეორებადი კალენდარი, Zoom-ის დამალვა, დროულად გაუქმება, თვითრეფლექსია სესიის ხარისხის შეფასების ნაცვლად (SCRUM-789, 874, 918, 919, 1005)
  • ასევე მადლობა Bartlomiej-ს - კოგნიტური დამახინჯებებისა და სესიების მრიცხველისთვის, რომელიც ახალი გამოწერის მოდელის საფუძველი გახდა

1. ⚡ Ad-hoc სესიები — ჩაწერა პაციენტის მოსვლამდე

თუ ოდესმე გიწევდათ ჩამწერის სწრაფად ჩართვა — იმიტომ, რომ პაციენტი გაუფრთხილებლად შემოვიდა, იმიტომ, რომ ეს ერთჯერადი კონსულტაციაა, იმიტომ, რომ ეს შეხვედრაა ვინმესთან, ვინც ჯერ თქვენს ჩანაწერებში არ ფიგურირებს — ახალი ad-hoc სესიის მოდული ამ მთელ პრობლემას წყვეტს.

  • Quick Record Button ვებ დაფაზე, ტელეფონის PWA-ში და MAUI აპლიკაციაში — ერთი დაწკაპუნება იწყებს ჩაწერას, სანამ პაციენტის მონაცემებსაც კი შეავსებთ
  • AdHoc Inbox — გამოყოფილი უჯრა მიუნიჭებელი ჩანაწერებისთვის, სანამ არ გადაწყვეტთ, სად მიდის ისინი
  • AssignPatientModal — მიანიჭეთ ჩანაწერი არსებულ პაციენტს ან შექმენით ახალი პირდაპირ Inbox-იდან
  • Resume / Re-enter room — დაასრულეთ იმ სესიის ჩაწერა, რომელიც ადრე დაიწყეთ
  • Orphan retention + auto-complete — X დღის განმავლობაში მიუნიჭებელი სესიები ავტომატურად იხურება, რათა Inbox მოწესრიგებული დარჩეს
  • ვიდეო „Start without patient” — LiveKit-ის ოთახში შეგიძლიათ დაიწყოთ სესია არსებულ პაციენტთან კონფლიქტის გარეშე; AdHoc შემდეგ Inbox-ში ხვდება

სექცია დაცულია PromptyAI კოდით პარამეტრებში — ნაგულისხმევად გამორთულია, მომხმარებლებისთვის, რომლებსაც სურთ ჯერ დანარჩენის ნახვა. დაპროექტებული და გამოშვებული Bohdan-ის მიერ.

2. 📊 პაკეტის ლიმიტები და საშეღავათო პერიოდი — გამჭვირვალე გამოწერა

გამოწერები სრულად გადამუშავდა. ძველი Starter/Standard გეგმები გაუქმებულია, მათ ნაცვლად მოვიდა Start / Practice / Pro — ზომები, მორგებული ყოველთვიური სესიების რეალურ მოცულობაზე.

  • სესიების მრიცხველი დაფაზე — იხილეთ, რამდენი სესია გამოიყენეთ ამ თვეში და რამდენი დაგრჩათ პაკეტში
  • ლიმიტის ელფოსტები — ავტომატური შეტყობინებები 80% და 100% გამოყენებისას
  • Upgrade prompt — ლიმიტის მიღწევისას, მკაცრი დაბლოკვის ნაცვლად, გეძლევათ რბილი შეთავაზება გეგმის შეცვლის შესახებ
  • ფასწარმოქმნა Stripe-იდან + ფასდაკლებები — ფასი, რომელსაც აპლიკაციაში ხედავთ, პირდაპირ Stripe-იდან მოდის, აქტიური ფასდაკლებების გათვალისწინებით (beta-ტესტერის კოდს ვადა არ ეწურება)
  • გამოწერის გაუქმება აპლიკაციიდან — გააუქმეთ პირდაპირ აპლიკაციაში, საჭირო აღარაა მხარდაჭერისთვის მეილის გაგზავნა
  • 14-დღიანი საშეღავათო პერიოდი — თუ გადახდა ვერ შედგა, გეძლევათ 14 დღე, საკუთარი ანგარიშის წვდომით მხოლოდ (პაციენტების გადახედვის გარეშე), T+0 და T+13 ელფოსტებით. რეალური მონაცემების დაკარგვა მხოლოდ ორი კვირის შემდეგ იწყება
  • გამოწერის ბანერი — სუფთა შეტყობინება აპლიკაციის ზედა ნაწილში, მენიუსა და შეტყობინებას შორის ცარიელი ზოლის გარეშე
  • სესიების ლიმიტის სიმულატორი — PromptyAI პანელში არის სატესტო რეჟიმი, სადაც შეგიძლიათ ნახოთ, როგორ იქცევა აპლიკაცია სავსე პაკეტზე

Bartlomiej-ისა (მრიცხველი და ლიმიტები, SCRUM-1266) და Bohdan-ის (გამოწერა, საშეღავათო პერიოდი, upgrade prompt — SCRUM-756, SCRUM-1366, SCRUM-1391, SCRUM-1392) ერთობლივი მუშაობა.

3. 📝 ჩანაწერების 3-მხრივი შერწყმა — თერაპევტი, AI და ტრანსკრიფცია ერთ ხედში

ეს ერთ-ერთი ყველაზე დიდი არქიტექტურული ცვლილებაა კულისებში, მაგრამ მისი გავლენა ყოველდღიურ მუშაობაზე ძალიან შესამჩნევია: ყოველი ჩანაწერების ველი (Notes, SessionSummary, კონცეპტუალიზაციის სექციები) ახლა ცალ-ცალკე იმახსოვრებს, რა დაწერა თერაპევტმა, რა გენერირდა AI-ის მიერ და რა მოვიდა ჩამწერიდან/ტრანსკრიფციიდან.

  • Notes 3-way — ჩანაწერების ხედი გვერდიგვერდ აჩვენებს სამ წყაროს: თქვენს ტექსტს, AI-ის შეთავაზებებს და ავტომატურ ტრანსკრიფციას, ხოლო თქვენ ირჩევთ, რა შეინარჩუნოთ
  • SessionSummary 2-way + JSON merge — სესიის შეჯამებაში თქვენს ნამუშევარს AI ანალიზთან ერთ თანმიმდევრულ დოკუმენტად აერთიანებთ
  • Timestamp separator — როცა AI-ის ველს ხელით ასწორებთ, სისტემა ტოვებს ხილულ კვალს იმის შესახებ, თუ როდის და ვისია ეს ფრაგმენტი
  • [AI] მარკერი პირველივე გენერაციიდან — თქვენი ველები არ ერევა გენერირებულებს
  • SourceBadge — ფერადი ბეჯი ხატულით, რომელიც აჩვენებს, საიდან მოდის ფრაგმენტი, დიდი ასოებით ტექსტის ნაცვლად
  • AI-ს სექციის ჩანაცვლება დამატების ნაცვლად — შეჯამების ხელახალი გენერაციის მოთხოვნისას, AI სექციას ანაცვლებს ქვემოთ კიდევ ერთი ასლის დაწყობის ნაცვლად

დაპროექტებული და გამოშვებული Bartek-ის მიერ (SCRUM-1320, SCRUM-1368-1375). ქვემოთ: სრული i18n 8 ენაზე და ახალი DDD კონტექსტები.

4. 🔍 კბთ ანალიზები — 9 ცალკეული, მოთხოვნით გენერირებული ანგარიში

ძველი მონოლითური „კბთ ანალიზის გენერაცია” გაიყო 9 ცალკეულ ერთეულად, რომელსაც თერაპევტი გაუშვებს მაშინ, როცა ეს ნამდვილად სჭირდება. ნაკლები ლოდინი, მეტი კონტროლი.

  • 9 დამოუკიდებელი ანალიზი — თითოეული ცალკე გენერირდება, მოთხოვნისამებრ
  • Prompt edit cog — დააწკაპუნეთ კბილანაზე თითოეული ანალიზის გვერდით, რომ ნახოთ/შეცვალოთ პრომპტი, რომელსაც AI გამოიყენებს
  • CBT ANALYSES სექცია PromptyAI კოდის უკან — სექცია ხელმისაწვდომია კოდის შეყვანის შემდეგ პარამეტრებში, ახალი ფუნქციების მტესტავი მომხმარებლებისთვის

კოგნიტურმა დამახინჯებებმა მიიღეს საკუთარი ხედი (მოხსენებული Bartlomiej-ის მიერ, SCRUM-1385):

  • მონაცემთა ხედი AI ანგარიშის ნაცვლად — ხედავთ კონკრეტულ ციტატებს ტრანსკრიფციიდან, AI-ის მიერ მონიშნულს, და არა მათგან გენერირებულ თხრობას
  • ყველა ციტატა expand-ის შემდეგ — თარიღების დიაპაზონის ფილტრის გარეშე, expand ყველაფერს ავლენს
  • ხელმისაწვდომია მთავარ მენიუში — Conceptualization v2-ის ქვეშ

ძველი COGNITIVE_DISTORTIONS_INVENTORY პრომპტი მოიხსნა (SCRUM-1386).

5. 🌐 საჯარო თერაპევტის პროფილი — სრული განახლება რედაქტირების პანელებით

საჯარო პროფილი aitherapy.support ბრენდის ქვეშ სრულად თავიდან აშენდა.

  • 3 ახალი edit drawer — ბიოგრაფია, სპეციალიზაციები, საკონტაქტო დეტალები რედაქტირდება ელეგანტურ გვერდით პანელებში
  • Owner edit mode — როცა საკუთარ პროფილს ავტორიზებული უყურებთ, რედაქტირების ღილაკები ხელთანაა
  • გამოცდილების წლები — ახალი YearsOfExperience ველი, ხილული საჯარო პროფილზე
  • ფერების რებრენდინგი — sage/lavender პალიტრა aitherapy.support ბრენდის ქვეშ
  • „თქვენი კონფიდენციალურობის” სექცია მოიხსნა — ის ზედმეტი იყო; GDPR ფუთერშია
  • Lucide icons — თანამედროვე, სუფთა ხატულების ტიპოგრაფია

ქვემოთ დაემატა საჯარო endpoint GET /api/public/therapists — რომელიც აბრუნებს აქტიური საჯარო პროფილების მქონე თერაპევტებს. საფუძველი თერაპევტების დირექტორიისთვის.

6. 🎥 ვიდეო სესიები — PiP, კამერების შეცვლა, გამოსწორებული ფონის ბლური

ვიდეომ მიიღო გასწორებების ნაკრები, რომელსაც შეამჩნევს ნებისმიერი თერაპევტი, რომელიც აპლიკაციით სესიებს ატარებს.

  • PiP / minimize — შეამცირეთ ვიდეო ოთახი მცურავ მინი-პლეიერამდე და შეამოწმეთ ჩანაწერები სხვა ტაბში კავშირის გაწყვეტის გარეშე. მიკროფონი და კამერა კვლავ მუშაობს
  • Swap cameras — ერთი დაწკაპუნებით შეცვალეთ, ვინ არის მთავარ ხედში და ვინ - მინიში
  • PiP resume — შემცირებიდან დაბრუნებისას, გამოტოვებთ lobby-ს (PreJoinLobby) და პირდაპირ საუბარში ხვდებით
  • მონაწილეთა ცალ-ცალკე აუდიო დიარიზაციისთვის — ტრანსკრიფცია მოსაუბრეებს PiP-შიც კი ყოფს
  • ფონის ბლური გასწორდა — CSP ბლოკავდა MediaPipe WASM-ს; ბლური ახლა ერთი დაწკაპუნებით მუშაობს
  • უფრო სუფთა AITS session UI — AI ასისტენტი ტულბარიდან გაქრა, ნაკლები ვიზუალური ხმაური
  • PiP overlay-ზე დაწკაპუნება შესაძლებელია — pointerEvents:none-ისა და overflow:hidden-ის მოხსნით, PiP ღილაკები დაწკაპუნებაზე რეაგირებენ
  • „Join session” ღილაკი — CSS override-ით იყო დამალული, ახლა ხილულია
  • Stale closure handleMaximize-ში — გასწორდა; PiP-ის გადიდება აღარ აგდებს შეცდომას

7. 📐 Beck v2 კონცეპტუალიზაცია და ABC — PDF, ვერსიის გადართვა, პრომპტის რედაქტირება

  • Beck და ABC v2 PDF — გასწორებული ფორმატირება და ავტომატური სესიის მასალებში ჩართვა (მოხსენებული Ewa-ს მიერ, SCRUM-1297)
  • Beck PDF — მხოლოდ-ჩარჩოიანი სექციები, ფერადი სპეციალიზაციები, სუფთა ინიციალები, SVG ისარი სექციებს შორის
  • ABC v1/v2 toggle Conceptualization v2-ში — აირჩიეთ, რომელი ABC ვერსია გამოჩნდეს
  • Prompt edit cog ABC v2-ში — შეცვალეთ AI პრომპტი ABC v2 ტაბში
  • PDF ექსპორტი AI ანალიზებისა და ABC-სთვის სესიის მიხედვით — ინდივიდუალური ანალიზები ცალ-ცალკე ექსპორტირდება
  • ABC ლეიბლების პლურალიზაცია 8 ენაზე — კონცეპტუალიზაციის ცხრილს აქვს სწორი მრავლობითი ფორმები
  • ABC-ის ცარიელი სვეტების გასწორება — backend აბრუნებს სწორ მრავლობით property სახელებს

8. 🧾 ინვოისები და KSeF — გადახდების არჩევა + state machine

ინვოისირების სისტემა გადამუშავდა KSeF-თან (პოლონეთის ეროვნული ელექტრონული ინვოისირების სისტემა) შესაბამისობისთვის.

  • ინვოისი არჩეული გადახდებიდან — აირჩიეთ გადახდები და სისტემა მათგან ერთ ინვოისს ქმნის (snapshot + Payment FK)
  • „ინვოისის გამოწერის” შესვლის წერტილი თერაპევტის ფინანსურ ხედში — სწრაფი წვდომა დაფიდან
  • პუნქტის წაშლა ინვოისის გამოწერის მოდალში — შეცდომების გასწორება ადგილზევე
  • KSeF dev/prod გამიჯვნა — sandbox და production ცალ-ცალკე credential-ებზე მუშაობს
  • Invoice state machine (SCRUM-1357 Bohdan) — Draft → Issued → Sent → Cancelled, არასწორ გადასვლებზე DB constraint-ით
  • AE KsefToken — KSeF ტოკენი დაშიფრულია Always Encrypted-ით

Bohdan-ის ერთობლივი მუშაობა (SCRUM-1357, SCRUM-1388).

9. 📅 კალენდარი, განმეორებადი სესიები და ლოკაციები

კვირეულმა და განმეორებადმა კალენდარმა მიიღო ათობით მცირე, მაგრამ შესამჩნევი გაუმჯობესება — უმეტესობა მოხსენებული Joanna-სა და Ewa-ს მიერ.

  • სესიები 22:00-დან — უხილავი იყო კვირეულ ბადეში, ახლა ჩანს დღის ბოლომდე
  • ყველა საათი განმეორებადი სლოტის ბადეზე (SCRUM-874, Joanna)
  • დროულად გაუქმებული სესია — არ ჩანს როგორც „გადაუხდელი” (SCRUM-918, Joanna)
  • განმეორების ლეიბლი განმეორებადი სლოტის გვერდით (SCRUM-919, Joanna) — ხედავთ „ყოველკვირეულს”, „ორკვირეულს” თითოეული განმეორებადი სესიის გვერდით
  • Zoom ინტეგრაციის დამალვა UI-დან (SCRUM-789, Joanna) — Zoom აღარ არის მხარდაჭერილი როგორც ვიდეო არხი
  • სესიის popover კალენდარში — აღარ იმალება ეკრანს გარეთ
  • TherapistAvailability — auto-save ყოველ ცვლილებაზე (debounce 800 ms), შენახვის ღილაკი საჭირო აღარაა
  • AddSessionModal — ოფცია „სესიის შექმნა ხელმისაწვდომობის საათების გარეთ” — გამონაკლისებს შეუძლიათ სლოტის ძალით შექმნა
  • სტატუსი „No-show” (NoShow=5) — ახალი სტატუსი, დასაყენებელი დასრულებულიდან ან გაუქმებულიდანაც კი
  • RecurringSessionsCalendar — შემაჯამებელი ფილები ლეგენდისა და ბადის ზემოთ

თერაპევტის ლოკაციებმა მიიღეს ონლაინ შეხვედრის არხები თითოეული ლოკაციისთვის:

  • Onsite რეჟიმი — მისამართისა და ქალაქის ველები ადგილზე შეხვედრის ლოკაციებისთვის
  • Onsite/online გადამრთველი checkbox-ის ნაცვლად — რეჟიმის უფრო ნათელი არჩევანი
  • ონლაინ არხი თითოეული ლოკაციისთვის — სხვადასხვა ლოკაციას შეიძლება ჰქონდეს სხვადასხვა არხი (AITS, Google Meet, გარე ბმული), რომელიც ავტომატურად ვრცელდება სესიებზე
  • მუდმივი შეხვედრის ოთახები თითოეული პაციენტისთვის — ყოველ პაციენტს აქვს მუდმივი AITS ოთახის ბმული და ცალკე გარე ბმული, ხილული პაციენტის პარამეტრებში
  • ლოკაციის წაშლა — გასწორდა (ქრებოდა DB-დან, მაგრამ რჩებოდა UI-ის სიაში)

და ბოლოს, შეხვედრის ტიპი განმეორებად სესიებში — გასწორდა MeetingType-ისა და MeetingLink-ის გავრცელება განმეორებადი სერიის კონფიგურაციიდან თითოეულ გენერირებულ სესიასა და შემხსენებელ ელფოსტებზე (SCRUM-902, Ewa).

10. 📱 მობილური აპლიკაცია — მუქი თემა, AdHoc Inbox, დახვეწა

მობილური გადავიდა ვერსია 1.5.0-ზე (build 18), მომხმარებლისთვის ხილული ცვლილებების დიდი ნაკრებითა და App Store / Play Store ხელმოწერის რამდენიმე დახვეწით.

  • მუქი თემა — სრული მუქი რეჟიმი წასაკითხი ჯგუფის სათაურებით (SCRUM-1089, Ewa + SCRUM-815)
  • კონფიგურირებადი შეხსენებები — აირჩიეთ, როდის გსურთ სესიის შეტყობინება
  • მობილური შეხსენება 15 წთ — 15-წუთიანი წინასწარი შეხსენება + გაფრთხილება, როცა სისტემური შეტყობინებები გამორთულია (SCRUM-815, Bohdan)
  • ცარიელი მდგომარეობა სესიების სიისთვის — ცარიელი ეკრანის ნაცვლად, უფრო მდიდარი onboarding (SCRUM-1094, Ewa)
  • Auto-refresh ბანერი — როცა აპლიკაცია აღმოაჩენს განახლებას, აჩვენებს მიმზიდველ განახლების ბანერს
  • AdHoc Inbox + AssignPatient + quick-start MAUI-ში (SCRUM-1289, Bohdan)
  • PWA mobile quick-start ad-hoc სესიებისთვის (SCRUM-1286, Bohdan)
  • Responsive ვებ ხედი ტელეფონისთვის — desktop უცვლელია, ტელეფონზე განლაგება ეგუება ვიწრო ეკრანს
  • Deep-link handler iOS-ში — იყენებს BindingContext-ს, URL scheme-ის რეგისტრაციას
  • iOS NSLocation purpose strings — ITMS-90683-ის გასწორება (App Store ამ სტრიქონების გარეშე build-ს ითხოვდა)
  • Android AAB — ცალკე jarsigner ეტაპი
  • App Store Connect და Google Play მასალები — სრული პაკეტი პლუს WCAG 2.2 აუდიტი

11. 🔐 უსაფრთხოება: SOC 2 / HIPAA, MFA, AI-ს სრული ფსევდონიმიზაცია

პროდუქტის შრის ქვემოთ ჩავატარეთ სრული SOC 2 და HIPAA გამკვრივების ეტაპი, პლუს DDD აუდიტი ხუთი კონკრეტული შედეგით.

  • MFA-ს ხელახალი დადასტურება კრიტიკული ოპერაციებისთვის — მგრძნობიარე მოქმედებებისთვის (პაროლის შეცვლა, მონაცემების ექსპორტი) ხელახლა ადასტურებთ MFA-თი
  • Backup codes MFA-სთვის — საგანგებო კოდები, თუ ტელეფონს დაკარგავთ
  • IAnonymizedLlmGateway (SCRUM-1353, Bohdan) — AI მოდელისკენ ყველა გამოძახება ახლა გადის ფსევდონიმიზაციის gateway-ს გავლით. სახელები, თარიღები, ადგილები იცვლება ფსევდონიმებით, სანამ აპლიკაციას დატოვებენ; AI იღებს მხოლოდ ანონიმიზებულ ვერსიას
  • ელფოსტისა და SMS შეტყობინებების ფსევდონიმიზაცია (SCRUM-1354) — შეტყობინებების შაბლონებიც არ აჟღერებენ პაციენტის მონაცემებს გაგზავნისას
  • Google/Zoom OAuth ტოკენები დაშიფრულია Always Encrypted-ით (SCRUM-1355) — ინტეგრაციის წვდომის ტოკენები სვეტის დონეზეა დაშიფრული
  • Patient.PendingConsent ალმა (SCRUM-1356) — პაციენტები აქტიური თანხმობის გარეშე იღებენ enforcement flow-ს + frontend ბეჯს
  • Invoice state machine (SCRUM-1357) — ინვოისის სტატუსები არასწორ მიმართულებებში უცვლელია, დაცული DB დონეზე
  • აუდიტის უცვლელობა + user snapshot 3 აუდიტის ცხრილში — მოქმედებების ჟურნალის ფაქტის შემდეგ შეცვლა შეუძლებელია
  • DeanonymizationAuditLog — პაციენტის მონაცემების ყოველი გამოყენება დეანონიმიზაციის შემდეგ ილოგება მისი შემსრულებლის ელფოსტისა და displayName snapshot-თან ერთად
  • Hardcoded საიდუმლოებები მოშორდა — ყველა გასაღები და პაროლი appsettings.json-იდან გადავიდა Azure Key Vault-ში
  • Always Encrypted ყველა მომხმარებლის ტექსტური მონაცემისთვის (ADR-0018) — არქიტექტურული მიმართულება დამტკიცებულია; შემდეგი ცხრილები მომდევნო გამოშვებაში გადავა
  • ISO/IEC compliance gap ანალიზი — 95 ხარვეზი 9 სტანდარტში დამუშავებულია, გამოსწორების გეგმით

დაფუძნებულია სრულ DDD აუდიტზე (სესიები 1-8, ფაზები 1-6) — დომენის კონტექსტების რესტრუქტურირება, არქიტექტურის დოკუმენტაცია, ADR-ები, mermaid + ტესტები, playbook-ები, Confluence ინტეგრაცია.

12. 👤 პაციენტის პორტალი — ანალიზები Goals-ში, მასალები, გაუმჯობესებული გადახედვა

  • Beck კონცეპტუალიზაცია პაციენტის „Goals” ტაბში — კონცეპტუალიზაციის გამოქვეყნებისას, პაციენტი მას თავის პორტალში ხედავს
  • ანალიზების გამოქვეყნება პაციენტის პორტალზე + შეტყობინების პარამეტრები (SCRUM-1338, Bartlomiej) — აკონტროლეთ, რას და როდის იღებს პაციენტი
  • პორტალის PDF გადახედვა — iframe embed-ის ნაცვლად, CSP უშვებს blob:-ს (PDF-ები იტვირთება)
  • პაციენტის პორტალის გადახედვა თერაპევტის ხედიდან — ნახეთ, რას ხედავს პაციენტი (chrome wrapper-ში, დაფა 1:1)
  • სესიის მასალები Azure Blob Storage-ში — SessionMaterial როგორც blob, ლოკალური ფაილური სისტემის გარეშე
  • თანხმობის / დოკუმენტების სექცია + რეგისტრაციის წყარო პაციენტის პარამეტრებში
  • პაციენტის ელფოსტის გლობალური უნიკალურობა (SCRUM-898) — მეორე პაციენტი იმავე ელფოსტით იღებს 409-ს + დახურულ მოდალს (SCRUM-898, Ewa)
  • შეტყობინების შაბლონის seeder SK, CA, RU, UK, LT-სთვის (SCRUM-883, Joanna) — სრული მრავალენოვანი მეილინგი
  • Resolver fallback პლატფორმის ნაგულისხმევზე — როცა თერაპევტს შაბლონი არ გადაუწერია, იგზავნება ნაგულისხმევი მრავალენოვანი (SCRUM-883)

13. 🎙️ ტრანსკრიფცია — საიმედო ჩაწერა, append, რეალურ დროში დიარიზაციით

  • Append არსებულ ტრანსკრიფციაზე — გააგრძელეთ ჩაწერა იმავე სესიაში; სეგმენტები ემატება (intent გვერდის გადატვირთვასაც უძლებს)
  • მონაწილეთა ცალ-ცალკე აუდიო დიარიზაციისთვის — ვიდეო ტრანსკრიფცია მოსაუბრეებს დამოუკიდებელ ტრეკებზე ყოფს
  • ტრანსკრიფცია PiP-საც უძლებს — ოთახის შემცირება ჩაწერას არ წყვეტს
  • ტრანსკრიფციის ენა სესიის პარამეტრებიდან — STT იყენებს ენას, რომელიც პაციენტისთვის დააყენეთ
  • ტრანსკრიფციის Auto-refresh focus / visibilitychange / ვიდეოდან დაბრუნებისას
  • დადასტურება ჩაწერის შეჩერებაზე < 2წმ — დაცვა ცარიელი WAV-ისგან შემთხვევითი დაწკაპუნებით
  • „იგზავნება” ბეჯი სესიების სიაში — ხედავთ, როცა ჩანაწერი ატვირთვაშია
  • რეალურ დროში დიარიზაცია ვიდეო სესიაში — ადრე არ იწყებოდა; ახლა მუშაობს
  • OPFS backup + 48 kbps Opus — ჩანაწერი ასევე ინახება ლოკალურად OPFS-ში, როგორც fallback, აუდიო პარამეტრები გაერთიანებულია
  • SAS direct upload audio (SCRUM-1276, Bohdan) — აუდიო პირდაპირ მიდის Azure-ში SAS URL-ის მეშვეობით, backend-ის გვერდის ავლით
  • m4a ნატიურად Azure Speech-ისთვის — m4a მუშავდება ნატიურად, კონვერტაციის გარეშე
  • ფორმატის ამოცნობა magic bytes-ით (SCRUM-1311, Bohdan) — როცა Content-Type=application/octet-stream, ფორმატი ამოიცნობა ფაილის შიგთავსიდან
  • Hub DB ტექსტის გარეშე — SignalR-ის realtime hub აღარ ინახავს ტექსტს DB-ში; finishPending იყენებს multipart POST-ს, MAUI-ს მსგავსად
  • SignalR 1006 გასწორება — skipNegotiation მოშორდა, რომ Azure SignalR იმუშაოს + keep-alive-ის მორგება
  • [AI] მარკერი პირველივე გენერაციიდან + საიმედო მარკერის ძებნა

14. 💬 შეტყობინებები, პაციენტის პარამეტრები, მცირე UX

  • NotificationTemplatesAdmin — HTML/Text გადართვა ელფოსტის რედაქტორში
  • NotificationSettings — ელფოსტის გადახედვა HTML-ს რენდერავს fallback-ით
  • PromptEditModal — თავიდან აშენდა: ტაბები, მოდელის ამომრჩევი, აუცილებელი ვერსიის სახელები
  • Hide_dev_ui ალმის გადატვირთვა გამოსვლისას — დეველოპერის ალმები სესიებს შორის არ ინახება
  • სატესტო პაციენტი Ann Fauler — ინგლისური 1:1 ასლი პოლონური Anna Pełnialska-სი, მხოლოდ-EN დემოებისთვის
  • Dev UI presentation mode გადართვა — სწრაფი გადართვა პრეზენტაციის რეჟიმში
  • Bug report — Jira attachments + reporter-ის ლეიბლი + ცენტრირებული „Submit” ღილაკი
  • Auth-refresh loop გასწორდა — მოთხოვნების abort და login-ზე დაბრუნება 401-ზე
  • „სერვერი იწყება” ბანერი — ცივ სტარტზე (scale-to-zero) ვაჩვენებთ შეტყობინებას ცარიელი გვერდის ნაცვლად
  • სესიის შეფასების სკალა — თვითრეფლექსია ხარისხის შეფასების ნაცვლად + disclaimer (SCRUM-1005, Joanna)
  • „Minimize” ღილაკის ფერი შეიცვალა კობალტისფერ იასამნისფერზე (SCRUM-1307, Ewa)
  • „Transcription” ლეიბლის ფერი წითლიდან მწვანეზე (SCRUM-1304, Ewa)
  • „Record now” → „Record AdHoc session” — უფრო ზუსტი ღილაკის სახელი
  • Sandbox მწვანე ლენტით ზედა-მარცხენა კუთხეში + [SANDBOX] პრეფიქსი სათაურში — გარემოს არევის თავიდან ასაცილებლად, პლუს განმეორებადი PROD → Sandbox კლონირება (Azure IaC + სკრიპტები)

✅ QA Checklist — რა შეამოწმოთ deploy-ის შემდეგ

ფუნქციაშემოწმება
Ad-hoc სესია — Quick Recordდააწკაპუნეთ Quick Record-ზე დაფაზე ან PWA-ში — ჩაწერა მაშინვე იწყება, სესია ხვდება AdHoc Inbox-ში
AssignPatient AdHoc Inbox-შიგახსენით ad-hoc ჩანაწერი — შეგიძლიათ მიანიჭოთ არსებულ პაციენტს ან შექმნათ ახალი
პაკეტის ლიმიტიდაფა აჩვენებს სესიების მრიცხველს მიმდინარე თვისთვის და რამდენი დარჩა პაკეტში
საშეღავათო პერიოდი წარუმატებელი გადახდის შემდეგგამოწერის სიმულატორი PromptyAI-ში — გამოიწვიეთ წარუმატებელი გადახდა, 14 დღით მხოლოდ ანგარიშზე წვდომას იღებთ
3-მხრივი შერწყმის ჩანაწერებისესიის დეტალებში Notes ველი აჩვენებს სამ წყაროს გვერდიგვერდ (თერაპევტი / AI / ტრანსკრიფცია); შეგიძლიათ აირჩიოთ, რა შეინარჩუნოთ
9 კბთ ანალიზიკბთ ანალიზების ტაბი აჩვენებს 9 ცალკეულ ერთეულს; თითოეული მოთხოვნით გენერირდება; თითოეულს აქვს prompt-edit cog
საჯარო პროფილი — drawer-ებიგახსენით საკუთარი საჯარო პროფილი ავტორიზებულმა — ბიოგრაფიის, სპეციალიზაციის, კონტაქტის რედაქტირების drawer-ები ხილულია
ვიდეო PiPვიდეო სესიის დროს დააწკაპუნეთ minimize-ზე — ფანჯარა იკეცება მინი-პლეიერამდე, მიკროფონი კვლავ მუშაობს, ბრუნდებით lobby-ს გარეშე
ფონის ბლურივიდეო lobby-ში ჩართეთ ფონის ბლური — მუშაობს დაუყოვნებლივ, CSP შეცდომების გარეშე
Beck კონცეპტუალიზაციის PDFგენერირეთ კონცეპტუალიზაციის PDF — ჩნდება სესიის მასალებშიც
ABC v1/v2 toggleConceptualization v2-ში შეგიძლიათ გადართოთ ABC-ის წყარო ვერსია 1-სა და 2-ს შორის
ინვოისი არჩეული გადახდებიდანაირჩიეთ რამდენიმე გადახდა და დააწკაპუნეთ „ინვოისის გამოწერა” — snapshot-იდან იქმნება ერთი ინვოისი
განმეორებადი სესია Google Meet-ითსერიის მეორე და მესამე სესიას სწორად აქვს დაყენებული Google Meet და ელფოსტა შეიცავს სწორ ბმულს
სესიები 22:00-დანკვირეული კალენდარი აჩვენებს 22:00-სა და მის შემდეგ დაგეგმილ სესიებს
„No-show” სტატუსიდასრულებულ / გაუქმებულ სესიაში შეგიძლიათ სტატუსი შეცვალოთ „No-show”-ზე
მობილურის მუქი თემამობილურ აპლიკაციაში გადართეთ მუქ თემაზე — ჯგუფის სათაურები წაკითხვადია
AdHoc Inbox მობილურშიმობილური აჩვენებს ad-hoc inbox-ს და საშუალებას გაძლევთ მიანიჭოთ პაციენტი
MFA-ს ხელახალი დადასტურებაპაროლის შეცვლისას აპლიკაცია ხელახლა ითხოვს MFA-ს
AI ფსევდონიმიზაციალოგებში ხედავთ, რომ პაციენტის მონაცემები AI-სთან ფსევდონიმების სახით მიდის
სესიის მასალები, როგორც blobატვირთეთ ფაილი სესიის მასალებში — ის ხვდება Azure Blob Storage-ში და არა ლოკალურ დისკზე
პაციენტის ელფოსტის გლობალური უნიკალურობადაამატეთ მეორე პაციენტი იმავე ელფოსტით — იღებთ 409-ს და მოდალი იხურება
„სერვერი იწყება” ბანერიხანგრძლივი უმოქმედობის შემდეგ, აპლიკაციაში შესვლისას ჩნდება ბანერი ცარიელი გვერდის ნაცვლად

🛠️ რა გავასწორეთ — წვრილი შრიფტით

დიდი ფუნქციების გარდა, გადაწყდა ~80 მოხსენება ტესტერებისა და მომხმარებლებისგან. მთავარი:

  • PiP overlay არ იყო დაწკაპუნებადი — გასწორდა
  • Stale closure handleMaximize-ში — PiP-ის გადიდება აღარ აგდებს შეცდომას
  • PiP ინარჩუნებს კავშირს — ადრე room.disconnect() ეშვებოდა fullscreen↔PiP გადასვლისას
  • „Join session” ღილაკი დამალული იყო CSS override-ით — გამოჩნდა
  • მეორე AITS სესია იმავე პაციენტისთვის (SCRUM-1319, Ewa) — Session.VideoInviteToken-ზე UNIQUE INDEX-ის მოხსნა
  • სესიების ნუმერაცია კონცეპტუალიზაციაში გამოტოვებს გაუქმებულებს (SCRUM-1267, Bohdan)
  • Null-safe Payment წვდომა GetSessionDetailsAsync-ში (SCRUM-1268, Bohdan)
  • Anna Pełnialska-ს სატესტო სესიის კოლიზია Jan-თან 14:00-ზე — გასწორდა seeder-ში
  • დაფის დამუხრუჭება — null-safe mapping GetTodaySessionsAsync-სა და GetSessionDetailsAsync-ში
  • Auto-refresh მიკროფონიდან ჩაწერის დასრულების შემდეგ — მუშაობს
  • Batch fallback აღარ გადაფარავს ტექსტს წინა ჩანაწერებიდან და არ ბლოკავს UI-ს Processing სტატუსით
  • ტრანსკრიფციის ენა სესიის პარამეტრებიდან — STT ითვალისწინებს პაციენტის პრეფერენციას
  • CSP — *.clarity.ms-ისა და blob:-ის დაშვება connect-src-ში, ანალიტიკა script-src-ში
  • Auth-refresh loop — მოთხოვნების abort 401-ის შემდეგ და login-ზე დაბრუნება
  • CSP MediaPipe WASM — ფონის ბლური მუშაობს
  • DEV/SANDBOX ribbon ასევე Azure FQDN-ზე, არა მხოლოდ custom domain-ზე
  • მცდარი toast „Transcription failed” სესიაში შესვლისას — მოშორდა
  • Toast წითელი ბანერის ნაცვლად წარუმატებელ ტრანსკრიფციაზე + მოშორდა „Resample” ღილაკი
  • რეალურ დროში დიარიზაცია ვიდეო სესიაში — სწორად იწყება
  • AI streaming — თითო-handler-ზე AbortController საერთოს ნაცვლად (BodyStreamBuffer was aborted)
  • Nginx non-root + Azure Container Apps — რამდენიმე იტერაცია, რომ ეს ემუშავა
  • Distributed lock (sp_getapplock) — startup მიგრაციები აღარ კონფლიქტში მოდის პარალელურ deploy-ებზე
  • DbUpdateConcurrencyException batch ტრანსკრიფციის poller-ში (SCRUM-1313, Bohdan)
  • BlobNotFound, როგორც მოსალოდნელი მდგომარეობა (SCRUM-1314, Bohdan)
  • Stripe webhook non-JSON payload-ები (სკანერები / ბოტები) — ჩუმად მუშავდება (SCRUM-1315, Bohdan)
  • აუდიო ფორმატის ამოცნობა magic bytes-ით (SCRUM-1311, Bohdan)
  • მდგრადი აუდიო ატვირთვა + დამცავი Content-Type (SCRUM-1293, Bohdan)
  • FK მიგრაცია ActiveEmbeddingModelId → ON DELETE NO ACTION
  • Dev client deploy — CACHE_BUST=github.sha აიძულებს frontend-ის თავიდან აგებას

ეს არის ამ გაზაფხულის ყველაზე დიდი და მკვრივი გამოშვება. თუ ფუნქცია ნაცნობი გეჩვენებათ — ეს იმიტომ, რომ ეს თქვენი მოთხოვნა ან თქვენი ტიკეტი იყო. მადლობა ყოველი მოხსენებისა და ყოველი სქრინშოთისთვის.

სტატია მოამზადა Therapy Support-ის გუნდმა

Therapy Support · დაიწყეთ დღესვე

დაიბრუნეთ დრო საკუთარი თავისთვის
და თქვენი პაციენტებისთვის

ხართ კბთ თერაპევტი?
ნახეთ, როგორ უჭერს მხარს პლატფორმა თქვენს ყოველდღიურ სამუშაოს.
სესიის შეჯამებები, რომლებიც კლინიკურ მასალას აწესრიგებს. ადმინისტრირება, რომელიც ხელს არ გიშლით.