Преминете към основното съдържание

Браузър на базата данни на 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.