Браузър на базата данни на LOSPOR за научна работа
LOSPOR Database е самостоятелен продукт само за четене, предназначен за
периоперативна научна работа, подобряване на качеството, местен одит и
сравнителен анализ. Той има собствено хранилище и внедряване (lospor-browser)
и използва версионирания API на LOSPOR. Никога не се свързва пряко с PostgreSQL
и никога не приема произволен SQL.
Възможности
- изграждане на структурирани кохорти по демографски данни, диагнози и придружаващи заболявания по МКБ-10, операции, техники, обезпечаване на дихателния път, медикаменти, усложнения, изходи и пълнота;
- избор на клас по ASA, група операции, мониторинг, лекарство (по ATC клас или точен код) и статус на съответствието от кодирани списъци вместо въвеждане на текст;
- филтриране по предоперативен отговор, по лекарства, приложени по време на операцията, и на болничен уред по това дали клиницистът е приел данни, импортирани от болничната система;
- сравняване на две кохорти по едни и същи смислови показатели;
- преглед на псевдонимизирани случаи, включително медикаментите им, предоперативните отговори с източника и изследователския им код и предупрежденията за качество, без самоличност на клиницистите, без бележки със свободен текст и без точни дати;
- преглед на съответствията между терминологиите, моментните снимки при приключване, пълнотата на полетата, релационните отклонения и невъзможните времеви редове;
- сравнителен анализ на разрешените лечебни заведения и периоди с потискане на малките клетки;
- запазване на лични или споделени в заведението кохорти;
- износ на всички отговарящи псевдонимизирани обобщени редове като CSV/JSON или създаване на износи по OMOP с контрол на правата, с брой редове, контролни суми SHA-256, неизменяеми файлове, история и одитни записи; и
- управление на изричния обхват на изследователя и на правата за износ.
Интерфейсът е достъпен на български и на английски.
Модел на достъпа
ADMINможе да прави заявки за всички лечебни заведения, да управлява разрешенията за научна работа и да създава износи по OMOP.HEAD_OF_DEPTможе да прави заявки и износи за своето заведение.RESEARCHERизисква един или повече активни записаResearchAccessGrant.- Обикновените клинични членове нямат достъп до браузъра за научна работа.
Правата пазят отделни обхвати по заведения за обобщените заявки, прегледа на случаи, стандартния износ и износа по OMOP. Разрешение за едно заведение никога не разширява друго действие към друго заведение. Потребителите само с обобщени данни виждат защитени диапазони на броевете и никога не получават редове със случаи. Малките валидни знаменатели, редките положителни изходи и редките допълващи изходи се потискат при заявките, сравненията, сравнителния анализ, разпределенията и отчетите за качество. Прегледът на случай връща безопасна проекция, а не оперативния клиничен запис.
Източници на данни
Първият доставчик чете нормализираните клинични таблици на LOSPOR през Prisma. Публичният изследователски договор назовава своя източник и е независим от доставчика. Бъдеща централна база по OMOP може да реализира същия договор, без самостоятелният интерфейс да се променя.
Локална разработка
Портовете по подразбиране са:
- клинично уеб приложение:
3000 - API:
3002 - браузър за научна работа:
3003
Настройте lospor-browser/.env.local:
LOSPOR_API_INTERNAL_URL=http://127.0.0.1:3002
NEXT_PUBLIC_DATABASE_URL=http://localhost:3003
LOSPOR_DATABASE_ORIGIN=http://localhost:3003
Приложете миграцията на API, съдържаща ResearchAccessGrant, ResearchCohort и
ResearchExport, само към предвидената база за разработка. След това стартирайте:
cd lospor-api
npm run dev
cd ../lospor-browser
npm run dev
В производствена среда браузърът трябва да се внедри на database.lospor.org,
да се зададе LOSPOR_DATABASE_ORIGIN=https://database.lospor.org и /api/* да
се препраща към api.lospor.org/v1/*. API трябва да зададе
LOSPOR_DATABASE_URL=https://database.lospor.org и да включи този адрес в
CORS_ALLOW_ORIGINS. В производствена среда записът на бисквитки приема само
конфигурирани адреси; изключението за порт 3003 в частната мрежа съществува
само в средата за разработка.
Управление
Изследователските заявки, сравненията, прегледът на случаи, сравнителният анализ, промените по кохортите, разрешенията и износите се записват в одитния дневник на API. Историята на износите съхранява нормализираното определение на кохортата, точния обхват на действието, отсечката и версията на източника, транзакционно заснетите ревизии на случаите, хеша на манифеста с ревизиите, времето на създаване, броя редове, ключа на неизменяемия файл и контролната му сума. Ако заснет случай се промени преди създаването, износът се проваля, вместо да твърди, че частичен файл е пълен. Изтеглянията вземат съхранения файл; те никога не изпълняват заявката отново срещу текущата база. За износ се допускат само кохорти от приключени случаи. Манифест v2 включва родителските клинични, събитийни, релационни и раздели ревизии, така че промените в дъщерни редове се откриват.
Файловете за изтегляне се пазят 30 дни по подразбиране. Браузърът показва часа на изтичане, изключва изтеклите или недостъпните изтегляния и запазва видими контролната сума, броя редове и историята на създаването, след като файлът е изтрит.
Износите в CSV и JSON съдържат всеки отговарящ псевдонимизиран обобщен ред, но не са копие на всяка клинична променлива в изходния случай. Износите по OMOP съдържат съпоставените изследователски таблици, описани в манифеста им.
Локалните и собствените инсталации могат да използват частно съхранение на файлове във файловата система. Безсървърните внедрявания трябва да използват частна кофа, съвместима с S3; API отказва съхранение във файловата система за научна работа във Vercel.