Журнал змін
Что нового.
Все усовершенствования платформы, как только она будет запущена.
· kamo-shared-library
Перегляд списку діаграм, алергічна реакція/ тяжкість, причини стану, діагностика замовлення, замітка перегляду результатів
- ClinicalListReview (fhir_ chart_ list_ review): реальний переглянутий запис для алергії і списки ліків, тому « переглянуто » закінчується на « існує принаймні один рядок » - AllergyIntolerance: reaction_ text, reaction_ severity, status_ reason; findActiveForChecking тепер виключає твердження NKDA (і спростовані рядки); findActiveNoKnownAllergy / findActiveRecord - Condition. status_ reason, Observation. status_ reason, ServiceRequest. reason_ codes, DiagnosticReport. review_ note - EncounterDiagnosisRepository; **************** (таблиця потоку важливих даних)
· kamo-shared-library
Розклад об’ єктів для годинника практики, кімнат, платежів за стіл і відкликання
- PracticeSettings (ehr_ practice_ settings): часовий пояс практики і типова тривалість відвідування - PracticeRoom (ehr_ practice_ room): кімнати, в які поміщено пацієнта; виключено, ніколи не вилучається - PatientPayment (ehr_ patient_ payment): записано оплату за столом (ніколи не оброблено), скасовано з поясненням причини - RecallOutreach (ehr_ recall_ outreach): зареєстровані спроби зв’ язку проти відкликання - Зустріч: ідентифікатор_ кімнати, переплановано_ з_ ідентифікатора / переплановано_ до_ ідентифікатора, виписано_ за_ ідентифікатором_ члена - ScheduleBlock: мітка для заблокованого часу (обід, зустріч, відпустка) - PatientRecallRepository: countDue / countOverdue; WaitlistEntryRepository: findCandidatesAnyType (нульовий UUID у «: x IS NULL » досягає Postgres нетипованим) - PhiResourceType: PATIENT_ RECALL, PATIENT_ PAYMENT додано
· kamo-shared-library
Запис реєстрації на прийомі — контактні дані, контакти для надзвичайних ситуацій, лічильник MRN, поля запису для покриття
Пацієнт отримує вибір методу контакту, члена первинної ланки охорони здоров'я та вибір аптеки; екстрені контакти — FHIR Patient. contact (fhir_ patient_ contact, вилучений, але не вилучено); телеком і адреса використовують існуючі таблиці fhir_ contact_ point / fhir_ address (новий PatientCommunicationRepository для обраної мови Рядок ehr_ mrn_ counter призначає MRN у одному атомарному верхньому рядку. Пошук пацієнта отримує given- name, запити лише- дата- народження, префікс- з- датою- народження і by- id. PriorAuthorization отримує опис служби і EligibilityCheck — замітка перевіряча. DDL було застосовано до виробництва до цього відсилання.
· kamo-shared-library
Документи з діаграмами, шаблони практичних нотаток, текст для читання нотаток і журнал виведення
- PatientDocument (ehr_ patient_ document): категорія, заголовок, дата документа, вміст тип, розмір, SHA- 256, ідентифікатор зображення Img + ключ зберігання, вивантажувач, введено- в- помилку з ким/коли/чому. Ніколи не вилучається. - ClinicalNoteTemplate (ehr_ note_ template): шаблони нотаток, створені самим лікарем. - ClinicalNote: стовпчики entered_ in_ error_ at/_ by/_ reason; тіло поточного перехідного стану, вид версії, прапорець SI, імена автора/ співпідписувача/ пацієнта для читання. - ClinicalNoteVersion: ім’ я перехідного автора. DDL застосовується до виробництва вручну (додаток).
· SecurityService
Справжні відмови, розбиття скляних переглядів рішень, чесне надсилання претензій, вручну введені EOB
- EhrRuleViolationException: відмова у виконанні бізнес- правила (непідписана записка на закінчення, подвійний запис, не автор/ співпідписувач, самопідписання, вже підписано, обмежений страховою компанією, розбиває скло без причини, занадто багато експортує, пригнічений збіг) тепер відповідає 409/ 422 з його простим реченням замість непрозорого « Немає такого запису ». Заперечення зв’ язку залишаються 404. - EhrExceptionHandler виконується з найвищим пріоритетом над глобальною торгівлею консультації, що стосуються Якості, Адміністрування порталу, CCD, Масового експорту і FHIR (або там було 500). - Перегляд розбиття скла: черга з іменами плюс історія, і рішення (відповідне / невідповідне / потребує подальшого розгляду, обов’ язкова замітка, ніколи не ваша). - Обмін каталогом партнерів для лікарів (VIEW_ CHART, тільки імена). - Претензії: CPT/HCPCS, модифікатор, ICD-10, вказівник, NPI і місце роботи перевірки формату; ідентифікатор платника і члена з вибраного обсягу; відвідування має бути закрито для обліку; обліковані процедури залишають чергу без обліку; чернетка запитів читання для конструктора. ClaimTransport seam: без розрахункового центру, надіслати позначає ГОТОВИЙ і повідомляє, що так; позначає надіслані записи каналу, хто і зауваження. - Перекази можна вводити з паперового EOB, і відправлення тепер переміщує гроші з не застосованих до застосованих.
· kamo-shared-library
Записувати, як було надіслано запит, і показувати список переглянутих аварійних доступів
Заявка отримує ready_ at, submission_ channel, submitted_ by_ member_ id і submission_ note, тобто вимога, надіслана вручну через портал платника або на папері є записаний чесно замість перевороту статусу, який прикидається розрахунковим центром Сховище grant- break- glass отримує історію переглядів finder показує список нових екранів перегляду під його чергою.
· kamo-internal
На рахунку буде показано блок переказу Дебіторська заборгованість, так само як і у цитатах
У діалоговому вікні рахунка буде показано той самий QuoteRemittanceBlock, який використовується у перегляді рахунка з відомостей про дебіторську заборгованість продавця, поки щось належить Переключатель теперь говорит, что он охватывает котировки и счета.
· kamo-signer-monorepo
Блок переказу рахунка-фактури читається точно так само, як і блок цитування
Такий самий заголовок, мітки і повідомлення ACH Credit Only (signer. quote. remit), з номер рахунка, який зберігається під ним.
· SecurityService
Фактури друкують подробиці ACH дебіторської заборгованості так само, як і цитати
У PDF і електронній пошті тепер міститься блок пересилання цитати, слово за словом: - Перевести платіж - одержувач (офіційна назва) - банк - номер маршрутизації (ABA) - номер рахунку - Повідомлення ACH Credit Only За ними слідують номер рахунка-фактури і власне ім' я ринку інструкції. GET **************** надає консолі той самий блок. Як і у цитатах, це з’ являється, коли у пункті Дебіторська заборгованість перемкнено інформацію ACH ввімкнено і обидва номери збережено.
· kamo-internal
Зміна місць і ліцензій з певної дати з пропорційною оплатою
За допомогою пункту меню « Змінити місця & ліцензій » можна відкрити діалогове вікно для встановлення: - місця і ліцензії кожного додатка (ліцензії на користувача слідують за місцями до перезаписано); - дата вступу в силу (сьогодні або пізніше); - чи буде пропорційна плата нарахована на окремий рахунок зараз (навіть перед date) або при наступному відновленні; - для знижок, кредит за не використану частину. Перегляд у реальному часі на сервері показує період, кількість днів, що залишилися, кожен рядок з розрахунку, будь- яку плату за налаштування, загальну суму, спосіб розрахунку, а також періодичні платежі до і пізніше. Заплановані зміни вказані у списку підписки і можуть бути скасовано. Замінює старе діалогове вікно безпосереднього входу.
· SecurityService
Кінечні точки для датування, пропорційних змін місць і ліцензій; завдання застосовує їх
Нові кінцеві точки: - ПОШТА **************** - POST /subscriptions/{uid}/changes - GET /subscriptions/{uid}/changes - ПОШТА **************** Задача з розрахунком за годину застосовує зміни, дата яких настала до підняття рахунки, тому при відновленні рахунки будуть виставлятися за новими рахунками.
· kamo-shared-library
Зміна місць і додаткових ліцензій у середині періоду, на вибрану дату, пропорційно
SubscriptionChangeService записує зміну місць у поточній підписці і додаткових ліцензій, які діють з будь- якої дати, починаючи з сьогоднішнього дня. Цей перегляд показує точний пропорційна плата: ціна кожної доданої одиниці за період x днів, що залишилися / днів у період, у який він припадає, наприклад, Harmony +6 місць з 1 листопада = 6 x $124 x 17/ 31 = $408.00. Сплатити рахунок можна, якщо оператор вибере: його власний черговий рахунок зараз (навіть до дати вступу у дію) або на наступному рахунку за продовження. На дату вступу у дію завдання розрахунку застосовуватиме зміну: - місця, ліцензії та MRR підписки; - доступ клієнта (кількість місць, ряди місць, додаткові ліцензії, кеш); - кожен наступний проект, що відновлювався, перебудовувався, або отримував коректування, якщо персонал мав відредаговано. Верхній регістр: - зміна, яка відбулася саме в день розрахунку, буде перенесена на цей день, а не на наступний пропорційно двічі; - за зменшення вартості не стягується жодних платежів і невикористану частину можна зарахувати до рахунку під час наступного продовження; - заплановану зміну можна скасувати, анульувавши її черговий рахунок; - установочні платежі за додаткові місця читайте у угоді КЛІЄНТА. Старий шлях зміни місць тепер проходить через цю службу. Нова таблиця commerce_ subscription_ changes; новий стовпчик ****************
· kamo-internal
Стани простою мовою всюди; узгоджені ціни на додатки і щомісячна знижка у майстрі замовлення
StatusChip (89 сайтів виклику) показував необроблені коди, такі як PENDING_ APPROVAL; тепер показує слова зі словника (common. statusCodes) або код, який буде прочитано вголос не має назви. Фільтр списку замовлень і CSV використовують ті самі мітки. Персонал може ввести погоджену ціну за ліцензію для кожного з вибраних додатків і щомісячна знижка; обидві знижки надсилаються як addonUnitPrices / recurringDiscount і рахунок на кожному рахунку.
· kamo-signer-monorepo
Оплатити карткою на сторінці рахунка
Коли сервер пропонує це (счета-фактури з балансом, продані платформою), рахунок-фактура на сторінці показано Платити карткою. Це повідомлення надсилається до /< locale>/i/< token >/pay, яке надсилає клієнта на сторінку платежу Stripe (там відбувається підтвердження банку) і повернення. повертаючийся клієнт бачить підтвердження оплати.
· SecurityService
Клієнти оплачують рахунки-фактури карткою онлайн; запит SCA банку доходить до клієнта
На рахунках, проданих платформою org (єдиний продавець, який має обліковий запис Stripe): - Публічний рахунок пропонує Оплатити карткою: ПОШТА **************** відкриває сторінку на сервері Stripe, яка повертає посилання на той самий рахунок (збудований з боку сервера, ніколи з запиту); - оплату заносять, коли клієнт повертається і за годинну роботу, Рівно один раз. Коли автоматичне списання коштів вимагає від клієнта підтвердити його в своєму банку, буде надіслано рахунок з цим запитом, а власників буде попереджено, як і раніше.
· BillingService
Оплатити рахунок за підписку карткою на сторінці Stripe
Внутрішній POST **************** створює режим платежу Завершує сеанс заборгованості. Зберігає картку для подальшого автоматичного використання платежі, якщо клієнт має рахунок, і підтвердження SCA банку там відбувається. GET / checkout/ {id} повідомляє, чи було оплачено і яким card. Завершення покупки ігнорує ці сеанси.
· kamo-shared-library
Відстеження очікуваної онлайнової оплати рахунка-фактури
Новий нульовий стовпчик **************** плюс допоміжні програми для переліку і розрахунку очікуваних сеансів idempotent (оплата, що містить один і той самий посилання на процесор ніколи не записується двічі).
· kamo-shared-library
Додаткові ціни і знижки, які було домовлено, переносяться у підписку
Перетворення цитати тепер має такі наслідки: - ціна кожного додатка за одну ліцензію (якщо вона відрізняється від ціни у каталогу) - знижку котирування або прийнятого опціону, як щомісячну суму (або знижка за період дії параметра розподілена на місяці) Замовлення записують обидва параметри у файл custom_ pricing, отже, чернетка переоцінки зберігає їх. Активація встановлює узгоджену ціну на додаткові ліцензії і знижку на підписку (новий стовпчик з нульовими значеннями **************** тож кожен рахунок накладає рахунок на угоду, а MRR відображає його. Накази персоналу можуть прямо вказувати (addonUnitPrices, recurringDiscount).
· kamo-internal
Автоматичне відновлення та зауваження щодо роботи з активними підписками; картка у файлі і зарядка картки зараз
- Перемикач автоматичного поновлення встановлює власне поновлення підписки (в ньому міститься поле ігнорує оновлення чергування лише чернетками) і повідомляє, коли закінчується чергування, яке не відновлюється. - Примітки зберігаються на замовлення в будь-якому стані. - Підписка з оплатою карткою показує картку в файлі. - Його відкриті рахунки пропонують зарядити карту зараз і показують, чому остання спроба картки помилка.
· kamo-internal
Показати ліцензії, що належать і використовуються, де призначено поштові скриньки і додатки
Правило власника 2026- 10- 22: додатки з розрахунком на користувача обліковують куплені ліцензії, а Ліцензії є єдиним обмеженням на те, що може бути використано. A LicenseUsageMeter (« 4 з 10 використаних ліцензій », анімована смуга кольору бренду організації, куток) стрічка, попереджувальний мікросхема і записка, коли вже закінчено, посилання на Плани і рахунки) читає GET /api/billing/licenses/usage і з’ являється на: - Параметри > Керування поштовою скринькою (KamoMail або сторонні ліцензії) - елемент вибору додатків для параметрів телефону (KamoPBX або сторонній) - Додаткові рядки планів і рахунків Відмови (409, просте речення сервера) тепер надходять до цієї особи: призначення поштової скриньки, надання спільної поштової скриньки, призначення особистої скриньки вхідних/ збереження IMAP/ OAuth connect і callback показують його на панелі цієї поштової скриньки (кілька з них використовуються для throw unhandled or say a generic failure); кожна така дія оновлює метрів. Нові рядки: settings. billing. licenses (kamo- translation- dictionary).
· kamo-internal
Запускає підписки; прийняття поза мережею; замовлення користувачів; розрахунки простою мовою
- Цитати: « Додати з каталогу підписок » заповнює рядок з поточних планів/ додатків (назва, щомісячна price, « за користувача / місяць » / « за блок 10 ГБ / місяць ») і зберігає посилання на каталог; прийняті цитати підписок перетворюються за допомогою діалогового вікна (спосіб оплати; організація- ціль) (тільки для платформи) у замовлення на підписку; « Записувати прийняття » для паперу/ електронної пошти/ PO прийняття; попередні перегляди ЧЕРНЕВКИ мають водяний знак і кожен друк записується у журнал; заповнення умов {orgName} з короткою назвою продавця. - Майстер замовлень: організація- ціль тільки для платформи org; обговорено лише зі співробітниками перевищення ціни за місце і плати за установку. - Список підписок: наступна дата розрахунку, строк погашення, значок затримки; один спільний спосіб оплати допоміжна мітка для всіх шістьох методів. - Сторінка підписки: події у простих реченнях (Активне → Завершено), номер замовлення замість ідентифікатор записи. - Контакти з продажами: ім’ я, адреса електронної пошти і телефон читаються з організації платформи за допомогою вузької кінцевої точки.
· SecurityService
Відкинути відділ або поштову скриньку контакту, ліцензії якого закінчилися
Правило власника 2026- 10- 22: додатки, що обліковуються за користувачем, обліковуються за купленими ліцензіями; скільки кількість поштових скриньок, які можна використовувати, обмежується лише ними. Якщо ви використовуєте стороннього постачальника, відділ, до якого можна дістатися за допомогою поштової скриньки, або контактні дані організації вказує на один, відображає його у Kamo (OrgMailboxBillingAggregator), отже ці два збереження можуть ввести поштову скриньку у дію так само точно, як і призначення її члену. - MailboxLicenseCapGuard запитує внутрішню перевірку ліцензії BillingService (X-Internal-Auth) перед POST/PUT /api/security/departments і PUT / org/ {id} змінити поштову скриньку; відмова — це 409 з реченням помилка/повідомлення і причина LICENSE_LIMIT. Збереження або очищення поштової скриньки ніколи не позначено; відключення BillingService призведе до помилки OPEN з попередженням. - Двері ретрансляції розрахунків також передають GET / licenses / usage (ті ж права, що і інше використання читає).
· SecurityService
Записувати прийняття поза мережею, журналювати друк, перетворювати цитати на підписки
- POST **************** (SEND_ QUOTES або MANAGE_ QUOTES) - POST **************** (VIEW_ QUOTES або MANAGE_ QUOTES) - POST ... / {uid} / convert приймає необов’ язкове тіло (організація призначення, спосіб оплати); перетворення як COMP також потребує CREATE_ SUBSCRIPTION_ ORDERS - POSController відмовляється від negotiatedUnitPrice / setupFeeOverride від викликів тільки OWN - Отримання **************** опублікованої назви організації платформи, контактної електронної пошти і телефон, для діалогового вікна продажів контакту, замість твердих констант
· kamo-shared-library
Котировки перетворюються на підписки; замовлення користувача ніколи не компенсують продавцю
— котирування на ринку ПОДПИСКИ або котирування, рядки для прийняття якого було заповнено з підписки каталог, перетворюється на SubscriptionOrder (план, місця з кількості цінової пропозиції, додатки з їх ліцензій, прийнятої ставки за місце, як ціни на переговорах, установочної плати, яку клієнт видно, прийнятий варіант зобов’ язання як цикл, спосіб оплати, обраний під час конвертації). Команда містить quote_uid; у другому перетворенні буде відмовлено; буде записано подію CONVERTED. Роздрібний обмін залишається незмінним. - QuoteService. acceptOffline: персонал записує прийняття, дане на папері/ електронною поштою/ PO — чернетку, надіслане, переглянуті або застарілі цитати; загальні значення за допомогою applyOptionHeadlineTotals; назви подій, хто і чому. - recordPrinted записує у журнал подію PRINTED (у чернетках друку буде зазначено цю подію). - Рядки за місцями зберігають кількість місць цитати при кожному збереженні і редагуванні; перегляд рядків надсилає кількість, за яку цінується рядок. - Рядки цитування містять catalog_ ref_ code / catalog_ ref_ uid. - Підтримка термінів {orgName}, заповнене короткою назвою продавця на сторінці клієнта. - provisionOnApproval і activateCompOrder вимагають організації- цілі — замовлення без організації- цілі використовується для забезпечення власної підписки ПРОДАВАЧА. - **************** / setupFeeOverride, застосовується після calculatePrice і запам’ ятоване у custom_ pricing, тому чернетка переоцінки зберігає угоду. - Замовлення і підписки DTO містять наступну дату розрахунку, незавершений баланс і прапорець затримки, читання у двох запитах на список.
· EmailService
Відкинути поштову скриньку, ліцензії на яку перевищують ліцензії організації
Правило власника 2026- 10- 22: розрахунок за користувачем додатків за куплені ліцензії; скільки Використання поштових скриньок обмежується тільки ними. Перед тим, як поштову скриньку буде перенесено у використовувати, запитується **************** з BillingService (X- Internal- Auth); відмова — це 409, що містить його речення простою мовою (StatusReasonAdvice), наприклад, «Всі 10 ваших ліцензій на електронну пошту від третіх осіб використовуються. Додати ліцензії у розрахунках для з’ єднання з іншою поштовою скринькою." Примусове, перед тим, як щось буде записано: - створення поштової скриньки (KamoMail підраховує її одразу; сторонні програми тільки після призначення) - призначення поштової скриньки члену - створення спільної поштової скриньки, надання доступу до неї, повернення її до роботи - з’ єднання з особистою скринькою вхідних (збереження IMAP, згода OAuth і зворотній дзвінок) і присвоєння вже з' єднаного - Обладнання поштової скриньки AI члена (NOT_ READY / LICENSE_ LIMIT) Вже підраховані адреси ніколи не будуть відхилені, нічого існуючого не буде непридатним, і перерва у роботі Служби розрахунків призводить до помилки OPEN з попередженням кінцеві точки спільного доступу і особистої поштової скриньки тепер передають стан відмови і Приговор через замість 500.
· VOIPService
Відмовляти у додатках, ліцензії яких перевищують ліцензії організації
Правило власника 2026- 10- 22: додатки, що обліковуються за користувачем, обліковуються за купленими ліцензіями; скільки Використання суфіксів обмежується лише ними. Перед тим, як додати суфікс, у використанні, служба розрахунків **************** є запитано (X- Internal- Auth); відмова — це 409, що містить його звичайну мову речення (LicenseCapAdvice), наприклад, « Всі 10 ваших ліцензій на сторонні телефони використовується. Додати ліцензії у розрахунках, щоб призначити інший розширення." Примусове, перед тим, як щось буде записано: - PUT /api/voip/member/{id}/config (налаштування телефону члена), надавши назву розширення, яким член володіє зараз, тому хід на сторонній системі є вільним - POST **************** (новий суфікс; KamoPBX обчислень) кожен активний, сторонні лише призначений) - ВСТАВИТИ ****************, коли результат АКТИВНИЙ - AI забезпечення голосової лінії (NOT_ READY / LICENSE_ LIMIT) Суфікс, який вже підраховано, ніколи не буде відхилено, нічого існуючого не буде відхилено не присвоєно, і відключення BillingService завершиться помилкою OPEN з попередженням.
· BillingService
Перевірка використання ліцензій і ліцензій на одиницю для додатків на користувача
Правило власника 2026- 10- 22: кожен додаток на користувача виставляє рахунок за придбані ліцензії, наприклад місць; кількість поштових скриньок або додатків, які можна використовувати, обмежується лише ними. - GET /api/billing/licenses/usage (session, X-Org-Id): за кодом додатка (EMAIL_ 3P_ INTEGRATION, EMAIL_ HOSTING, PBX_ 3P_ INTEGRATION, PBX_ HOSTING) ліцензії, що належать, використовуються, доступні, перевищені, і чи є організація винятком. - Взяти **************** охороняється X- Internal- Auth (порівняння постійного часу з billing. internal- auth- secret), для EmailService і VOIPService, щоб запитати перед використовуємо ще одну одиницю. - Licensed = AddOnLicenses. licensed над основною підпискою active_ add_ codes / addon_ quantities (або план, який включає додаток); резервовані ключі __ mailboxes:/__extensions: ніколи не читаються як ліцензії. У використанні = OrgMailboxBillingAggregator / OrgPbxBillingAggregator, підраховує Ночной Билл использует. - Platform org і OWNER_ UNLIMITED виключені; PAID і COMP обмежені; TRIAL, БЕЗКОШТОВНО і без підписки залишаються існуючі ворота права. - Відмовляється лише від зміни, яка додає одиницю за межі ліцензій; одиниця вже існує не рахується, або хід з розширенням, який звільняє один, завжди проходять.
· SecurityService
Кінечні точки для встановлення автоматичного відновлення підписки та нотаток до замовлення у будь-якому стані
· kamo-shared-library
Увімкнути або вимкнути відновлення для активної підписки; зауваження до будь- якого замовлення
Перемикач автоматичного поновлення консолі надіслав поле, яке не було оновлено за допомогою чернетки не було, отже, він ніколи не зберігався; і примітки зазнавали невдачі у будь- якому порядку після чернетки.
· SecurityService
Платежі клієнтів, що користуються картками, автоматично стягуються у день розрахунку
Для підписок AUTO_ BILL завдання розрахунку стягує плату з кожного схваленого рахунка за рахунок збережена клієнтом карта в день розрахунку за допомогою внутрішньої карти BillingService кінцева точка, записує платіж (метод CARD, посилання = PaymentIntent) і повторювати спроби заряджання щотри дні до чотирьох разів. Якщо зарядження зазнає невдачі, програма попереджає про це Схвалення і відсилання рахунка, для якого настала дата розрахунку сначала, так что электронная почта клиента является квитанцией. Нові кінцеві точки: - ПОШТА **************** - Взяти ****************

Твій всесвіт чекає.
Почати безкоштовно за декілька хвилин. Додати продукти, коли ви будете готові — без перенесення, без нових реєстрацій.
Безкоштовно назавжди — не потрібна кредитна карта