Ενημερώσεις Προϊόντος

Σημειώσεις Έκδοσης — 26 Απριλίου 2026

Bartłomiej Głowacki · CAIO, Επικεφαλής AI & Έρευνας και Ανάπτυξης
Σημειώσεις Έκδοσης — 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 — τριπλή συγχώνευση, 9 ξεχωριστές αναλύσεις CBT, γνωσιακές διαστρεβλώσεις, μετρητής συνεδριών πακέτου (SCRUM-1266, 1320, 1338, 1368-1375, 1385, 1386)
  • Ewa Cylwik / Ewa — PDF Beck, δεύτερη συνεδρία AITS για τον ίδιο ασθενή, σκοτεινό θέμα κινητού και κενή κατάσταση, πολύγλωσση αλληλογραφία, χρώματα διεπαφής, μοναδικότητα email ασθενούς (SCRUM-883, 898, 902, 1089, 1094, 1297, 1304, 1307, 1319)
  • Joanna — επαναλαμβανόμενο ημερολόγιο, απόκρυψη Zoom, έγκαιρη ακύρωση, αυτοστοχασμός αντί για αξιολόγηση ποιότητας συνεδρίας (SCRUM-789, 874, 918, 919, 1005)
  • Επιπλέον Bartlomiej για τις γνωσιακές διαστρεβλώσεις και τον μετρητή συνεδριών, που έγινε το θεμέλιο του νέου μοντέλου συνδρομής

1. ⚡ Ad-hoc συνεδρίες — καταγράψτε πριν φτάσει ο ασθενής

Αν χρειάστηκε ποτέ να ανοίξετε γρήγορα μια εγγραφή — επειδή ένας ασθενής εμφανίστηκε απροειδοποίητα, επειδή είναι μια εφάπαξ συμβουλευτική, επειδή είναι μια συνάντηση με κάποιον που δεν είναι ακόμα στα αρχεία σας — η νέα ενότητα ad-hoc συνεδρίας λύνει ολόκληρο αυτό το πρόβλημα.

  • Κουμπί Γρήγορης Εγγραφής στο web dashboard, στο PWA στο κινητό, και στην εφαρμογή MAUI — ένα κλικ ξεκινά την εγγραφή πριν καν συμπληρώσετε τα δεδομένα του ασθενούς
  • AdHoc Inbox — ένας ειδικός δίσκος για μη ανατεθειμένες εγγραφές μέχρι να αποφασίσετε πού πηγαίνουν
  • AssignPatientModal — αναθέστε την εγγραφή σε έναν υπάρχοντα ασθενή ή δημιουργήστε έναν νέο απευθείας από το inbox
  • Συνέχιση / Επανείσοδος στο δωμάτιο — ολοκληρώστε την εγγραφή μιας συνεδρίας που ξεκινήσατε νωρίτερα
  • Διατήρηση ορφανών + αυτόματη ολοκλήρωση — οι μη ανατεθειμένες συνεδρίες για X ημέρες κλείνουν αυτόματα ώστε το inbox να παραμένει τακτοποιημένο
  • Βίντεο «Έναρξη χωρίς ασθενή» — στο δωμάτιο LiveKit μπορείτε να ξεκινήσετε μια συνεδρία χωρίς σύγκρουση με έναν υπάρχοντα ασθενή· η Ad-Hoc καταλήγει στη συνέχεια στο inbox

Η ενότητα είναι κλειδωμένη πίσω από τον κωδικό PromptyAI στις Ρυθμίσεις — απενεργοποιημένη από προεπιλογή, για χρήστες που θέλουν να δουν πρώτα τα υπόλοιπα. Σχεδιάστηκε και υλοποιήθηκε από τον Bohdan.

2. 📊 Όρια πακέτου και περίοδος χάριτος — διαφανής συνδρομή

Οι συνδρομές πέρασαν από πλήρη ανασχεδίαση. Τα παλιά πλάνα Starter/Standard απενεργοποιήθηκαν, αντικαταστάθηκαν από τα Start / Practice / Pro — προσαρμοσμένα στον πραγματικό όγκο συνεδριών ανά μήνα.

  • Μετρητής συνεδριών στο dashboard — δείτε πόσες συνεδρίες έχετε χρησιμοποιήσει αυτόν τον μήνα και πόσες απομένουν στο πακέτο σας
  • Emails ορίου — αυτόματες ειδοποιήσεις στο 80% και 100% της χρήσης
  • Προτροπή αναβάθμισης — όταν φτάσετε το όριο, λαμβάνετε μια ήπια πρόταση αλλαγής πλάνου αντί για σκληρό αποκλεισμό
  • Τιμολόγηση από το Stripe + εκπτώσεις — η τιμή που βλέπετε στην εφαρμογή προέρχεται απευθείας από το Stripe με ενεργές εκπτώσεις εφαρμοσμένες (ο κωδικός beta tester δεν λήγει)
  • Εγγενής ακύρωση συνδρομής — ακυρώστε απευθείας στην εφαρμογή, δεν χρειάζεται email στην υποστήριξη
  • Περίοδος χάριτος 14 ημερών — αν μια πληρωμή αποτύχει, έχετε 14 ημέρες με πρόσβαση μόνο στον δικό σας λογαριασμό (χωρίς προεπισκοπήσεις ασθενών), με emails T+0 και T+13. Πραγματική απώλεια δεδομένων γίνεται μόνο μετά από δύο εβδομάδες
  • Banner συνδρομής — καθαρό μήνυμα στην κορυφή της εφαρμογής χωρίς κενή μπάρα μεταξύ του μενού και της ειδοποίησης
  • Προσομοιωτής ορίου συνεδριών — στο πάνελ PromptyAI υπάρχει μια λειτουργία δοκιμής όπου μπορείτε να δείτε πώς συμπεριφέρεται η εφαρμογή σε ένα πλήρες πακέτο

Κοινή εργασία των Bartlomiej (μετρητής και όρια, SCRUM-1266) και Bohdan (συνδρομή, χάρη, προτροπή αναβάθμισης — SCRUM-756, SCRUM-1366, SCRUM-1391, SCRUM-1392).

3. 📝 Τριπλή συγχώνευση για σημειώσεις — θεραπευτής, AI και απομαγνητοφώνηση σε μία προβολή

Αυτή είναι μία από τις μεγαλύτερες αρχιτεκτονικές αλλαγές στο παρασκήνιο, αλλά η επίδραση στην καθημερινή εργασία είναι εξαιρετικά ορατή: κάθε πεδίο σημειώσεων (Σημειώσεις, Περίληψη Συνεδρίας, ενότητες εννοιολόγησης) πλέον θυμάται ξεχωριστά τι έγραψε ο θεραπευτής, τι δημιούργησε η AI, και τι προήλθε από το δικτάφωνο / την απομαγνητοφώνηση.

  • Σημειώσεις τριπλής όψης — η προβολή σημειώσεων εμφανίζει τρεις πηγές δίπλα-δίπλα: το κείμενό σας, τις προτάσεις AI, και την αυτόματη απομαγνητοφώνηση, και εσείς επιλέγετε τι θα κρατήσετε
  • Περίληψη Συνεδρίας διπλής όψης + συγχώνευση JSON — στην περίληψη συνεδρίας συγχωνεύετε τη δουλειά σας με την ανάλυση AI σε ένα ενιαίο συνεκτικό έγγραφο
  • Διαχωριστικό χρονικής σήμανσης — όταν επεξεργάζεστε χειροκίνητα ένα πεδίο AI, το σύστημα αφήνει ένα ορατό ίχνος για το πότε και ποιανού είναι αυτό το απόσπασμα
  • Δείκτης [AI] από την πρώτη δημιουργία — τα πεδία σας δεν αναμιγνύονται με τα παραγόμενα
  • SourceBadge — έγχρωμο χάπι με εικονίδιο που δείχνει από πού προέρχεται ένα απόσπασμα, αντί για κείμενο ΚΕΦΑΛΑΙΩΝ
  • Αντικατάσταση ενότητας AI αντί για προσθήκη — όταν ζητάτε επαναδημιουργία της περίληψης, η AI αντικαθιστά την ενότητα αντί να στοιβάζει ένα ακόμα αντίγραφο από κάτω

Σχεδιάστηκε και υλοποιήθηκε από τον Bartek (SCRUM-1320, SCRUM-1368-1375). Στο παρασκήνιο: πλήρες i18n σε 8 γλώσσες και νέα πλαίσια DDD.

4. 🔍 Αναλύσεις CBT — 9 ξεχωριστές αναφορές κατ’ αίτηση

Η παλιά μονολιθική «δημιουργία ανάλυσης CBT» χωρίστηκε σε 9 ξεχωριστά στοιχεία που ο θεραπευτής εκτελεί όταν πραγματικά τα χρειάζεται. Λιγότερη αναμονή, περισσότερος έλεγχος.

  • 9 ανεξάρτητες αναλύσεις — η καθεμία δημιουργείται ξεχωριστά, κατ’ αίτηση
  • Γρανάζι επεξεργασίας prompt — κάντε κλικ στο γρανάζι δίπλα σε κάθε ανάλυση για να δείτε/τροποποιήσετε το prompt που θα χρησιμοποιήσει η AI
  • Ενότητα ΑΝΑΛΥΣΕΙΣ CBT πίσω από τον κωδικό PromptyAI — ενότητα διαθέσιμη μετά την εισαγωγή του κωδικού στις Ρυθμίσεις, για χρήστες που δοκιμάζουν νέα χαρακτηριστικά

Οι γνωσιακές διαστρεβλώσεις απέκτησαν τη δική τους προβολή (αναφέρθηκε από τον Bartlomiej, SCRUM-1385):

  • Προβολή δεδομένων αντί για αναφορά AI — βλέπετε συγκεκριμένες παραθέσεις από την απομαγνητοφώνηση με ετικέτες AI, όχι μια αφήγηση που δημιουργήθηκε από αυτές
  • Όλες οι παραθέσεις μετά την επέκταση — χωρίς φίλτρο εύρους ημερομηνιών, η επέκταση αποκαλύπτει τα πάντα
  • Διαθέσιμο στο κύριο μενού — κάτω από την Εννοιολόγηση v2

Το παλιό prompt COGNITIVE_DISTORTIONS_INVENTORY αφαιρέθηκε (SCRUM-1386).

5. 🌐 Δημόσιο προφίλ θεραπευτή — πλήρης ανανέωση με συρτάρια επεξεργασίας

Το δημόσιο προφίλ κάτω από το brand aitherapy.support έχει ανασχεδιαστεί πλήρως.

  • 3 νέα συρτάρια επεξεργασίας — βιογραφικό, εξειδικεύσεις, στοιχεία επικοινωνίας επεξεργάζονται σε κομψά πλαϊνά πάνελ
  • Λειτουργία επεξεργασίας ιδιοκτήτη — όταν βλέπετε το δικό σας δημόσιο προφίλ ενώ είστε συνδεδεμένοι, τα κουμπιά επεξεργασίας είναι άμεσα διαθέσιμα
  • Χρόνια εμπειρίας — νέο πεδίο YearsOfExperience ορατό στο δημόσιο προφίλ
  • Επανασχεδιασμός χρωμάτων — παλέτα σε αποχρώσεις sage/lavender κάτω από το brand aitherapy.support
  • Η ενότητα «Το απόρρητό σας» αφαιρέθηκε — ήταν περιττή· ο ΓΚΠΔ βρίσκεται στο footer
  • Εικονίδια Lucide — μοντέρνα, καθαρή τυπογραφία εικονιδίων

Στο παρασκήνιο, προστέθηκε ένα δημόσιο endpoint GET /api/public/therapists — επιστρέφοντας θεραπευτές με ενεργά δημόσια προφίλ. Θεμέλιο για έναν κατάλογο θεραπευτών.

6. 🎥 Συνεδρίες βίντεο — PiP, εναλλαγή καμερών, διορθωμένο θόλωμα φόντου

Το βίντεο έλαβε ένα σύνολο διορθώσεων που θα παρατηρήσει κάθε θεραπευτής που διεξάγει συνεδρίες μέσω της εφαρμογής.

  • PiP / ελαχιστοποίηση — ελαχιστοποιήστε το δωμάτιο βίντεο σε ένα αιωρούμενο mini-player και ελέγξτε σημειώσεις σε άλλη καρτέλα χωρίς να διακόψετε τη σύνδεση. Το μικρόφωνο και η κάμερα συνεχίζουν να λειτουργούν
  • Εναλλαγή καμερών — αλλάξτε ποιος βρίσκεται στην κύρια προβολή και ποιος στο mini με ένα κλικ
  • Επαναφορά PiP — επιστρέφοντας από την ελαχιστοποίηση, παρακάμπτετε τον προθάλαμο (PreJoinLobby) και μπαίνετε απευθείας στη συνομιλία
  • Ήχος ανά συμμετέχοντα για διάκριση ομιλητών — η απομαγνητοφώνηση διαχωρίζει τους ομιλητές ακόμα και σε PiP
  • Διορθωμένο θόλωμα φόντου — το CSP εμπόδιζε το MediaPipe WASM· το θόλωμα λειτουργεί πλέον με ένα κλικ
  • Πιο καθαρή διεπαφή συνεδρίας AITS — ο βοηθός AI εξαφανίστηκε από τη γραμμή εργαλείων, λιγότερος οπτικός θόρυβος
  • Επικάλυψη PiP με δυνατότητα κλικ — αφαιρώντας το pointerEvents:none και το overflow:hidden, τα κουμπιά PiP ανταποκρίνονται σε κλικ
  • Κουμπί «Συμμετοχή στη συνεδρία» — ήταν κρυμμένο από μια παράκαμψη CSS, τώρα είναι ορατό
  • Stale closure στο handleMaximize — διορθώθηκε· η μεγιστοποίηση PiP δεν πετάει πλέον σφάλμα

7. 📐 Εννοιολόγηση Beck v2 και ABC — PDF, εναλλαγή έκδοσης, επεξεργασία prompt

  • PDF Beck και ABC v2 — διορθωμένη μορφοποίηση και αυτόματη συμπερίληψη στα υλικά συνεδρίας (αναφέρθηκε από την Ewa, SCRUM-1297)
  • PDF Beck — ενότητες μόνο με περίγραμμα, έγχρωμες εξειδικεύσεις, καθαρά αρχικά, βέλος SVG μεταξύ ενοτήτων
  • Εναλλαγή ABC v1/v2 στην Εννοιολόγηση v2 — επιλέξτε ποια έκδοση ABC θα εμφανιστεί
  • Γρανάζι επεξεργασίας prompt στο ABC v2 — τροποποιήστε το prompt AI στην καρτέλα ABC v2
  • Εξαγωγή PDF για αναλύσεις AI και ABC ανά συνεδρία — μεμονωμένες αναλύσεις εξάγονται ξεχωριστά
  • Πληθυντικοποίηση ετικετών ABC σε 8 γλώσσες — ο πίνακας εννοιολόγησης έχει σωστές μορφές πληθυντικού
  • Διόρθωση κενών στηλών ABC — το backend επιστρέφει σωστά ονόματα ιδιοτήτων πληθυντικού

8. 🧾 Τιμολόγια και KSeF — επιλογή πληρωμής + μηχανή καταστάσεων

Το σύστημα τιμολόγησης αναδιαμορφώθηκε για συμμόρφωση με το KSeF (πολωνικό εθνικό σύστημα ηλεκτρονικής τιμολόγησης).

  • Τιμολόγιο από επιλεγμένες πληρωμές — επιλέξτε πληρωμές και το σύστημα δημιουργεί ένα ενιαίο τιμολόγιο από αυτές (στιγμιότυπο + Payment FK)
  • Σημείο εισόδου «Έκδοση τιμολογίου» στην οικονομική προβολή του θεραπευτή — γρήγορη πρόσβαση από το dashboard
  • Αφαίρεση στοιχείου στο παράθυρο έκδοσης τιμολογίου — διορθώστε λάθη επί τόπου
  • Διαχωρισμός KSeF dev/prod — το sandbox και η παραγωγή λειτουργούν με ξεχωριστά διαπιστευτήρια
  • Μηχανή καταστάσεων τιμολογίου (SCRUM-1357 Bohdan) — Πρόχειρο → Εκδόθηκε → Στάλθηκε → Ακυρώθηκε, με περιορισμό βάσης δεδομένων σε παράνομες μεταβάσεις
  • AE KsefToken — το token KSeF κρυπτογραφημένο με Always Encrypted

Κοινή εργασία του Bohdan (SCRUM-1357, SCRUM-1388).

9. 📅 Ημερολόγιο, επαναλαμβανόμενες συνεδρίες, και τοποθεσίες

Το εβδομαδιαίο και επαναλαμβανόμενο ημερολόγιο έλαβε δεκάδες μικρές αλλά ορατές βελτιώσεις — οι περισσότερες αναφέρθηκαν από την Joanna και την Ewa.

  • Συνεδρίες από τις 22:00 — ήταν αόρατες στο εβδομαδιαίο πλέγμα, τώρα εμφανίζονται μέχρι το τέλος της ημέρας
  • Όλες οι ώρες στο πλέγμα επαναλαμβανόμενης θέσης (SCRUM-874, Joanna)
  • Έγκαιρα ακυρωμένη συνεδρία — δεν εμφανίζεται ως «Απλήρωτη» (SCRUM-918, Joanna)
  • Ετικέτα επανάληψης δίπλα στην επαναλαμβανόμενη θέση (SCRUM-919, Joanna) — βλέπετε «εβδομαδιαία», «δεκαπενθήμερη» δίπλα σε κάθε επαναλαμβανόμενη συνεδρία
  • Απόκρυψη της ενσωμάτωσης Zoom από τη διεπαφή (SCRUM-789, Joanna) — το Zoom δεν υποστηρίζεται πλέον ως κανάλι βίντεο
  • Αναδυόμενο συνεδρίας στο ημερολόγιο — δεν κρύβεται πλέον εκτός οθόνης
  • TherapistAvailability — αυτόματη αποθήκευση σε κάθε αλλαγή (debounce 800 ms), δεν χρειάζεται κουμπί αποθήκευσης
  • AddSessionModal — επιλογή «δημιουργία συνεδρίας εκτός ωρών διαθεσιμότητας» — εξαιρέσεις μπορούν να επιβάλουν μια θέση
  • Κατάσταση «Δεν εμφανίστηκε» (NoShow=5) — νέα κατάσταση, δυνατή να οριστεί ακόμα και από ολοκληρωμένη ή ακυρωμένη συνεδρία
  • RecurringSessionsCalendar — πλακίδια περίληψης πάνω από το υπόμνημα και το πλέγμα

Οι τοποθεσίες θεραπευτή απέκτησαν κανάλια διαδικτυακής συνάντησης ανά τοποθεσία:

  • Λειτουργία δια ζώσης — πεδία διεύθυνσης και πόλης για τοποθεσίες δια ζώσης
  • Διακόπτης δια ζώσης/διαδικτυακά αντί για πλαίσιο ελέγχου — σαφέστερη επιλογή λειτουργίας
  • Κανάλι διαδικτυακά ανά τοποθεσία — διαφορετικές τοποθεσίες μπορούν να έχουν διαφορετικά κανάλια (AITS, Google Meet, εξωτερικός σύνδεσμος), αυτόματα διαδιδόμενα στις συνεδρίες
  • Μόνιμα δωμάτια συνάντησης ανά ασθενή — κάθε ασθενής έχει έναν μόνιμο σύνδεσμο δωματίου AITS και έναν ξεχωριστό εξωτερικό σύνδεσμο ορατό στις ρυθμίσεις ασθενούς
  • Διαγραφή τοποθεσίας — διορθώθηκε (εξαφανιζόταν από τη βάση δεδομένων αλλά παρέμενε στη λίστα της διεπαφής)

Και τέλος τύπος συνάντησης σε επαναλαμβανόμενες συνεδρίες — διορθωμένη διάδοση του MeetingType και του MeetingLink από τη διαμόρφωση της επαναλαμβανόμενης σειράς σε κάθε παραγόμενη συνεδρία και στα emails υπενθύμισης (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)
  • Κενή κατάσταση για τη λίστα συνεδριών — αντί για κενή οθόνη, μια πλουσιότερη ένταξη (SCRUM-1094, Ewa)
  • Banner αυτόματης ανανέωσης — όταν η εφαρμογή εντοπίζει μια ενημέρωση, εμφανίζει ένα ελκυστικό banner ανανέωσης
  • AdHoc Inbox + AssignPatient + γρήγορη εκκίνηση στο MAUI (SCRUM-1289, Bohdan)
  • Γρήγορη εκκίνηση PWA κινητού για ad-hoc συνεδρίες (SCRUM-1286, Bohdan)
  • Responsive web view για κινητό — η επιφάνεια εργασίας παραμένει αμετάβλητη, στο κινητό η διάταξη προσαρμόζεται στη στενή οθόνη
  • Χειριστής deep-link στο 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
  • Εφεδρικοί κωδικοί για MFA — κωδικοί έκτακτης ανάγκης αν χάσετε το τηλέφωνό σας
  • IAnonymizedLlmGateway (SCRUM-1353, Bohdan) — όλες οι κλήσεις μοντέλου AI περνούν πλέον μέσα από μια πύλη ψευδωνυμοποίησης. Ονόματα, ημερομηνίες, τοποθεσίες αντικαθίστανται με ψευδώνυμα πριν φύγουν από την εφαρμογή· η AI λαμβάνει μόνο την ανωνυμοποιημένη έκδοση
  • Ψευδωνυμοποίηση ειδοποιήσεων email/SMS (SCRUM-1354) — τα πρότυπα μηνυμάτων επίσης δεν διαρρέουν δεδομένα ασθενούς κατά την αποστολή
  • Tokens OAuth Google/Zoom κρυπτογραφημένα με Always Encrypted (SCRUM-1355) — τα tokens πρόσβασης ενσωμάτωσης είναι κρυπτογραφημένα σε επίπεδο στήλης
  • Σημαία Patient.PendingConsent (SCRUM-1356) — οι ασθενείς χωρίς ενεργή συναίνεση λαμβάνουν μια ροή επιβολής + badge frontend
  • Μηχανή καταστάσεων τιμολογίου (SCRUM-1357) — οι καταστάσεις τιμολογίου είναι αμετάβλητες σε μη έγκυρες κατευθύνσεις, επιβαλλόμενες σε επίπεδο βάσης δεδομένων
  • Αμεταβλητότητα ελέγχου + στιγμιότυπο χρήστη σε 3 πίνακες ελέγχου — το ημερολόγιο ενεργειών δεν μπορεί να τροποποιηθεί εκ των υστέρων
  • DeanonymizationAuditLog — κάθε χρήση δεδομένων ασθενούς μετά την αποανωνυμοποίηση καταγράφεται μαζί με το στιγμιότυπο email + εμφανιζόμενου ονόματος του χρήστη που την πραγματοποίησε
  • Αφαίρεση σκληρά κωδικοποιημένων μυστικών — όλα τα κλειδιά και οι κωδικοί πρόσβασης από το appsettings.json μεταφέρθηκαν στο Azure Key Vault
  • Always Encrypted για όλα τα δεδομένα κειμένου χρήστη (ADR-0018) — αρχιτεκτονική κατεύθυνση εγκεκριμένη· περισσότεροι πίνακες θα μεταναστεύσουν στην επόμενη έκδοση
  • Ανάλυση κενών συμμόρφωσης ISO/IEC — 95 κενά σε 9 πρότυπα χαρτογραφημένα, με σχέδιο αποκατάστασης

Υποστηρίζεται από έναν πλήρη έλεγχο DDD (Συνεδρίες 1-8, Φάσεις 1-6) — αναδιάρθρωση πλαισίου τομέα, τεκμηρίωση αρχιτεκτονικής, ADRs, mermaid + δοκιμές, playbooks, ενσωμάτωση Confluence.

12. 👤 Portal ασθενούς — αναλύσεις στους Στόχους, υλικά, καλύτερη προεπισκόπηση

  • Εννοιολόγηση Beck στην καρτέλα «Στόχοι» του ασθενούς — όταν δημοσιεύετε την εννοιολόγηση, ο ασθενής τη βλέπει στο portal του
  • Δημοσίευση αναλύσεων στο portal ασθενούς + προτιμήσεις ειδοποιήσεων (SCRUM-1338, Bartlomiej) — ελέγξτε τι και πότε λαμβάνει ο ασθενής
  • Προεπισκόπηση PDF στο portaliframe αντί για embed, το CSP επιτρέπει blob: (τα PDF φορτώνουν)
  • Προεπισκόπηση portal ασθενούς από την προβολή του θεραπευτή — δείτε τι βλέπει ο ασθενής (chrome σε wrapper, dashboard 1:1)
  • Υλικά συνεδρίας στο Azure Blob Storage — SessionMaterial ως blob, όχι πλέον τοπικό σύστημα αρχείων
  • Ενότητα συναίνεσης / εγγράφων + πηγή εγγραφής στις ρυθμίσεις ασθενούς
  • Καθολική μοναδικότητα email ασθενούς (SCRUM-898) — ένας δεύτερος ασθενής με το ίδιο email λαμβάνει 409 και το παράθυρο κλείνει (SCRUM-898, Ewa)
  • Seeder προτύπων ειδοποιήσεων για SK, CA, RU, UK, LT (SCRUM-883, Joanna) — πλήρης πολύγλωσση αλληλογραφία
  • Επαναφορά resolver στην προεπιλογή πλατφόρμας — όταν ένας θεραπευτής δεν έχει παρακάμψει το πρότυπο, στέλνεται το προεπιλεγμένο πολύγλωσσο (SCRUM-883)

13. 🎙️ Απομαγνητοφώνηση — αξιόπιστη εγγραφή, προσθήκη, πραγματικός χρόνος με διάκριση ομιλητών

  • Προσθήκη σε υπάρχουσα απομαγνητοφώνηση — συνεχίστε την εγγραφή στην ίδια συνεδρία· τα τμήματα προστίθενται (η πρόθεση επιβιώνει από ανανέωση σελίδας)
  • Ήχος ανά συμμετέχοντα για διάκριση ομιλητών — η απομαγνητοφώνηση βίντεο διαχωρίζει τους ομιλητές σε ανεξάρτητα κανάλια
  • Η απομαγνητοφώνηση επιβιώνει από PiP — η ελαχιστοποίηση του δωματίου δεν διακόπτει την εγγραφή
  • Γλώσσα απομαγνητοφώνησης από τις ρυθμίσεις συνεδρίας — το STT χρησιμοποιεί τη γλώσσα που έχετε ορίσει για τον ασθενή
  • Αυτόματη ανανέωση για απομαγνητοφώνηση σε εστίαση / αλλαγή ορατότητας / επιστροφή από βίντεο
  • Επιβεβαίωση κατά τη διακοπή εγγραφής < 2δ — προστασία από κενό WAV λόγω λανθασμένου κλικ
  • Badge «Αποστολή» στη λίστα συνεδριών — βλέπετε πότε μια εγγραφή βρίσκεται σε μεταφόρτωση
  • Πραγματικός χρόνος με διάκριση ομιλητών σε συνεδρία βίντεο — δεν ξεκινούσε πριν· τώρα λειτουργεί
  • Εφεδρικό OPFS + 48 kbps Opus — η εγγραφή αποθηκεύεται επίσης τοπικά στο OPFS ως εφεδρικό, ενοποιημένες παράμετροι ήχου
  • Απευθείας μεταφόρτωση ήχου SAS (SCRUM-1276, Bohdan) — ο ήχος πηγαίνει απευθείας στο Azure μέσω URL SAS, παρακάμπτοντας το backend
  • m4a εγγενές στο Azure Speech — το m4a διαχειρίζεται εγγενώς, χωρίς μετατροπή
  • Ανίχνευση μορφής με magic bytes (SCRUM-1311, Bohdan) — όταν Content-Type=application/octet-stream, η μορφή ανιχνεύεται από το περιεχόμενο του αρχείου
  • Hub χωρίς κείμενο DB — το SignalR realtime hub δεν αποθηκεύει πλέον κείμενο στη βάση δεδομένων· το finishPending χρησιμοποιεί multipart POST όπως το MAUI
  • Διόρθωση SignalR 1006 — αφαιρέθηκε το skipNegotiation ώστε το Azure SignalR να λειτουργεί + ρύθμιση keep-alive
  • Δείκτης [AI] από την πρώτη δημιουργία + αξιόπιστη αναζήτηση δείκτη

14. 💬 Ειδοποιήσεις, ρυθμίσεις ασθενούς, μικρά UX

  • NotificationTemplatesAdmin — διακόπτης HTML/Text στον επεξεργαστή email
  • NotificationSettings — η προεπισκόπηση email αποδίδει HTML με εναλλακτική λύση
  • PromptEditModal — ανασχεδιασμένο: καρτέλες, επιλογέας μοντέλου, απαιτούμενα ονόματα εκδόσεων
  • Επαναφορά σημαίας Hide_dev_ui κατά την αποσύνδεση — οι σημαίες προγραμματιστή δεν παραμένουν μεταξύ συνεδριών
  • Δοκιμαστικός ασθενής Ann Fauler — αγγλικό 1:1 της πολωνικής Anna Pełnialska για επιδείξεις μόνο σε αγγλικά
  • Διακόπτης λειτουργίας παρουσίασης dev UI — γρήγορη εναλλαγή σε λειτουργία παρουσίασης
  • Αναφορά σφάλματος — συνημμένα Jira + ετικέτα αναφέροντος + κεντραρισμένο κουμπί «Υποβολή»
  • Διορθωμένος βρόχος ανανέωσης auth — ματαίωση αιτημάτων και επιστροφή στη σύνδεση σε 401
  • Banner «Ο διακομιστής ξεκινά» — σε ψυχρή εκκίνηση (scale-to-zero) εμφανίζουμε μια ειδοποίηση αντί για κενή σελίδα
  • Κλίμακα αξιολόγησης συνεδρίας — αυτοστοχασμός αντί για αξιολόγηση ποιότητας + αποποίηση ευθύνης (SCRUM-1005, Joanna)
  • Το χρώμα του κουμπιού «Ελαχιστοποίηση» άλλαξε σε βιολετί κοβαλτίου (SCRUM-1307, Ewa)
  • Το χρώμα της ετικέτας «Απομαγνητοφώνηση» από κόκκινο σε πράσινο (SCRUM-1304, Ewa)
  • «Εγγραφή τώρα» → «Εγγραφή Ad-Hoc συνεδρίας» — πιο ακριβές όνομα κουμπιού
  • Sandbox με πράσινη κορδέλα στην πάνω αριστερή γωνία + πρόθεμα [SANDBOX] στον τίτλο — για την αποφυγή σύγχυσης περιβάλλοντος, συν μια επαναλήψιμη κλωνοποίηση PROD → Sandbox (Azure IaC + scripts)

✅ Λίστα Ελέγχου QA — Τι να επαληθεύσετε μετά τη διανομή

ΧαρακτηριστικόΕπαλήθευση
Ad-hoc συνεδρία — Γρήγορη ΕγγραφήΚάντε κλικ στο Γρήγορη Εγγραφή στο dashboard ή PWA — η εγγραφή ξεκινά αμέσως, η συνεδρία καταλήγει στο AdHoc Inbox
AssignPatient στο AdHoc InboxΑνοίξτε μια ad-hoc εγγραφή — μπορείτε να την αναθέσετε σε υπάρχοντα ασθενή ή να δημιουργήσετε νέο
Όριο πακέτουΤο dashboard εμφανίζει τον μετρητή συνεδριών για τον τρέχοντα μήνα και πόσες απομένουν στο πακέτο
Περίοδος χάριτος μετά από αποτυχημένη πληρωμήΠροσομοιωτής συνδρομής στο PromptyAI — εξαναγκάστε μια αποτυχημένη πληρωμή, λαμβάνετε πρόσβαση μόνο στον λογαριασμό για 14 ημέρες
Τριπλή συγχώνευση σημειώσεωνΣτις λεπτομέρειες συνεδρίας, το πεδίο Σημειώσεις εμφανίζει τρεις πηγές δίπλα-δίπλα (θεραπευτής / AI / απομαγνητοφώνηση)· μπορείτε να επιλέξετε τι θα κρατήσετε
9 αναλύσεις CBTΗ καρτέλα αναλύσεων CBT εμφανίζει 9 ξεχωριστά στοιχεία· καθένα δημιουργείται κατ’ αίτηση· καθένα έχει γρανάζι επεξεργασίας prompt
Δημόσιο προφίλ — συρτάριαΑνοίξτε το δικό σας δημόσιο προφίλ ενώ είστε συνδεδεμένοι — τα συρτάρια επεξεργασίας βιογραφικού, εξειδίκευσης, επικοινωνίας είναι ορατά
Βίντεο PiPΚατά τη διάρκεια μιας συνεδρίας βίντεο κάντε κλικ στην ελαχιστοποίηση — το παράθυρο συμπτύσσεται σε mini-player, το μικρόφωνο συνεχίζει να λειτουργεί, επιστρέφετε χωρίς προθάλαμο
Θόλωμα φόντουΣτον προθάλαμο βίντεο ενεργοποιήστε το θόλωμα φόντου — λειτουργεί αμέσως, χωρίς σφάλματα CSP
PDF εννοιολόγησης BeckΔημιουργήστε το PDF εννοιολόγησης — εμφανίζεται επίσης στα υλικά συνεδρίας
Εναλλαγή ABC v1/v2Στην εννοιολόγηση v2 μπορείτε να εναλλάξετε την πηγή ABC μεταξύ έκδοσης 1 και 2
Τιμολόγιο από επιλεγμένες πληρωμέςΕπιλέξτε μερικές πληρωμές και κάντε κλικ στο «Έκδοση τιμολογίου» — παράγεται ένα ενιαίο τιμολόγιο από το στιγμιότυπο
Επαναλαμβανόμενη συνεδρία με Google MeetΗ δεύτερη και τρίτη συνεδρία στη σειρά έχουν σωστά ορισμένο το Google Meet και το email περιέχει τον σωστό σύνδεσμο
Συνεδρίες από τις 22:00Το εβδομαδιαίο ημερολόγιο εμφανίζει συνεδρίες προγραμματισμένες στις 22:00 και αργότερα
Κατάσταση «Δεν εμφανίστηκε»Σε μια ολοκληρωμένη / ακυρωμένη συνεδρία μπορείτε να αλλάξετε την κατάσταση σε «Δεν εμφανίστηκε»
Σκοτεινό θέμα κινητούΣτην εφαρμογή κινητού αλλάξτε σε σκοτεινό θέμα — οι κεφαλίδες ομάδων είναι ευανάγνωστες
AdHoc Inbox σε κινητόΤο κινητό εμφανίζει το ad-hoc inbox και επιτρέπει την ανάθεση ασθενούς
Επανεπαλήθευση MFAΚατά την αλλαγή κωδικού πρόσβασης, η εφαρμογή ζητά ξανά MFA
Ψευδωνυμοποίηση AIΣτα logs βλέπετε δεδομένα ασθενούς να πηγαίνουν στην AI ως ψευδώνυμα
Υλικά συνεδρίας ως blobΜεταφορτώστε ένα αρχείο στα υλικά συνεδρίας — καταλήγει στο Azure Blob Storage, όχι στον τοπικό δίσκο
Καθολική μοναδικότητα email ασθενούςΠροσθέστε έναν δεύτερο ασθενή με το ίδιο email — λαμβάνετε 409 και το παράθυρο κλείνει
Banner «Ο διακομιστής ξεκινά»Μετά από μεγαλύτερη περίοδο αδράνειας, η είσοδος στην εφαρμογή εμφανίζει το banner αντί για κενή σελίδα

🛠️ Τι διορθώσαμε — τα ψιλά γράμματα

Επιπλέον στα μεγάλα χαρακτηριστικά, επιλύθηκαν ~80 αναφορές από δοκιμαστές και χρήστες. Επισημάνσεις:

  • Η επικάλυψη PiP δεν είχε δυνατότητα κλικ — διορθώθηκε
  • Stale closure στο handleMaximize — η μεγιστοποίηση PiP δεν πετάει πλέον σφάλμα
  • Το PiP διατηρεί τη σύνδεση — προηγουμένως το room.disconnect() ενεργοποιούνταν κατά τη μετάβαση πλήρους οθόνης↔PiP
  • Το κουμπί «Συμμετοχή στη συνεδρία» ήταν κρυμμένο από μια παράκαμψη CSS — αποκαλύφθηκε
  • Δεύτερη συνεδρία AITS για τον ίδιο ασθενή (SCRUM-1319, Ewa) — αφαίρεση UNIQUE INDEX στο Session.VideoInviteToken
  • Η αρίθμηση συνεδρίας στην εννοιολόγηση παραλείπει τις ακυρωμένες (SCRUM-1267, Bohdan)
  • Πρόσβαση Null-safe Payment στο GetSessionDetailsAsync (SCRUM-1268, Bohdan)
  • Σύγκρουση δοκιμαστικής συνεδρίας της Anna Pełnialska με τον Jan στις 14:00 — διορθώθηκε στο seeder
  • Επιβράδυνση dashboard — null-safe mapping στο GetTodaySessionsAsync και GetSessionDetailsAsync
  • Αυτόματη ανανέωση μετά το τέλος εγγραφής από μικρόφωνο — λειτουργεί
  • Εφεδρική λύση batch δεν αντικαθιστά κείμενο από προηγούμενες εγγραφές ούτε μπλοκάρει τη διεπαφή με κατάσταση Επεξεργασία
  • Γλώσσα απομαγνητοφώνησης από τις ρυθμίσεις συνεδρίας — το STT σέβεται την προτίμηση του ασθενούς
  • CSP — επιτρέποντας *.clarity.ms, blob: στο connect-src, analytics στο script-src
  • Βρόχος ανανέωσης auth — ματαίωση αιτημάτων μετά από 401 και επιστροφή στη σύνδεση
  • CSP MediaPipe WASM — το θόλωμα φόντου λειτουργεί
  • Κορδέλα DEV/SANDBOX επίσης στο Azure FQDN, όχι μόνο στον προσαρμοσμένο τομέα
  • Ψευδές toast «Αποτυχία απομαγνητοφώνησης» κατά την είσοδο στη συνεδρία — αφαιρέθηκε
  • Toast αντί για κόκκινο banner σε αποτυχημένη απομαγνητοφώνηση + αφαιρέθηκε το κουμπί «Επαναδειγματοληψία»
  • Πραγματικός χρόνος με διάκριση ομιλητών σε συνεδρία βίντεο — ξεκινά σωστά
  • AI streaming — AbortController ανά χειριστή αντί για κοινόχρηστο (BodyStreamBuffer was aborted)
  • Nginx non-root + Azure Container Apps — πολλαπλές επαναλήψεις για να λειτουργήσει
  • Κατανεμημένο κλείδωμα (sp_getapplock) — οι μεταναστεύσεις εκκίνησης δεν συγκρούονται πλέον σε παράλληλες αναπτύξεις
  • DbUpdateConcurrencyException στο batch transcription poller (SCRUM-1313, Bohdan)
  • BlobNotFound ως αναμενόμενη κατάσταση (SCRUM-1314, Bohdan)
  • Μη-JSON payloads στο Stripe webhook (scanners / bots) — χειρίζονται σιωπηλά (SCRUM-1315, Bohdan)
  • Ανίχνευση μορφής ήχου με magic bytes (SCRUM-1311, Bohdan)
  • Ανθεκτική μεταφόρτωση ήχου + αμυντικό Content-Type (SCRUM-1293, Bohdan)
  • Μετανάστευση FK ActiveEmbeddingModelId → ON DELETE NO ACTION
  • Ανάπτυξη dev client — το CACHE_BUST=github.sha αναγκάζει την επανακατασκευή του frontend

Αυτή είναι η μεγαλύτερη, πιο πυκνή έκδοση αυτής της άνοιξης. Αν ένα χαρακτηριστικό σας φαίνεται οικείο — είναι γιατί ήταν το αίτημά σας ή το ticket σας. Ευχαριστούμε για κάθε αναφορά και κάθε screenshot.

Άρθρο που ετοιμάστηκε από την ομάδα του Therapy Support

Therapy Support · Ξεκινήστε σήμερα

Κερδίστε ξανά χρόνο για εσάς
και για τους θεραπευόμενούς σας

Είστε θεραπευτής ΓΣΘ;
Δείτε πώς η πλατφόρμα υποστηρίζει την καθημερινή σας δουλειά.
Συνόψεις συνεδριών που οργανώνουν το κλινικό υλικό. Διοικητικά που δεν σας εμποδίζουν.