Sari la conținut
Demo — date fictiveInstanță demo pentru prezentări: pacienți și cazuri inventate; nimic nu pleacă spre CNAS, SMS, e-mail, plăți sau un AI în cloud.
Nexus Administrare clinică

Ghid de utilizare

Import din Hipocrate: surse de import

Pas cu pas, pe roluri. Același conținut se deschide din butonul „?” de pe fiecare pagină.

Import din Hipocrate: surse de import

Importul citește baza Hipocrate a spitalului (SQL Server). De unde o citește alegi în Sistem → Platformă → Import, la Sursa. Pagina e doar pentru administratori.

Importul doar citește (face numai interogări SELECT, iar Nexus refuză orice salvare în sursă). Garanția că sursa nu se poate modifica o dau însă drepturile contului: pentru o bază pe SQL Server, dă-i contului doar rolul db_datareader.

Sursele

  • Implicită (din configurare): baza scrisă de asistentul de instalare (ConnectionStrings__Hipocrate în nexus.env). Apare mereu prima și nu se modifică din aplicație. Dacă e goală, apare „Neconfigurată”.
  • Bază pe SQL Server: baza Hipocrate online pe alt server sau pe altă instanță (de exemplu serverul vechi, încă pornit). Contul are nevoie doar de rolul db_datareader în bază.
  • Backup (.bak): un fișier de backup al bazei Hipocrate. Nexus îl restaurează pe un SQL Server țintă, sub un nume temporar (de exemplu nexus_import_hipocrate), îl citește, apoi șterge baza temporară. Baza originală și backup-ul nu se modifică.
  • Fișiere .mdf / .ldf: fișierele bazei, de exemplu de pe discul unui server vechi atașat ca disc virtual. Nexus le atașează pe SQL Server-ul țintă sub numele temporar, le citește, apoi le detașează. Nexus nu șterge niciodată fișierele atașate. Fișierele originale trebuie marcate Read-only în Windows; altfel lucrează pe o copie (vezi „Atenție la fișierele .mdf”).

Pentru backup și fișiere, serverul din sursă este SQL Server-ul pe care se restaurează / atașează (poate fi cel al spitalului, o instanță SQL Server Express de pe serverul Nexus etc.), iar căile sunt cele văzute de calculatorul cu acel SQL Server, nu de serverul Nexus.

Adăugarea unei surse

  1. Deschide Surse de import (sub modulele de import) și apasă Adaugă sursă.
  2. Alege tipul, apoi completează serverul (ex. SRV-HIPO\SQLEXPRESS sau 10.0.0.5; portul doar dacă nu e cel implicit și nu merge după numele instanței), autentificarea și, după tip, baza, fișierul .bak sau fișierele .mdf / .ldf.
  3. Salvează, apoi Testează.

Autentificarea:

  • Windows: Nexus intră cu contul serviciului NexusApi, nu cu al tău: dacă SQL Server e pe serverul Nexus, NT AUTHORITY\SYSTEM; dacă e pe alt calculator, contul calculatorului (DOMENIU\SERVER-NEXUS$). Contul trebuie să aibă login pe SQL Server și rolul db_datareader în bază. Faptul că tu vezi baza în SSMS nu înseamnă că o vede și Nexus. Pentru sursa din configurare, asistentul de instalare acordă dreptul singur (dacă rulează cu un cont de administrator pe SQL Server); altfel, în SSMS: USE [Hipocrate]; CREATE USER [NT AUTHORITY\SYSTEM] FOR LOGIN [NT AUTHORITY\SYSTEM]; ALTER ROLE db_datareader ADD MEMBER [NT AUTHORITY\SYSTEM];. Testează arată în detalii contul cu care s-a conectat Nexus.
  • Cont SQL: utilizator și parolă. Parola se salvează protejată cu cheia calculatorului pe care rulează Nexus. Nu se mai afișează: câmpul rămâne gol, cu mențiunea „setată”; gol la salvare = neschimbată. Dacă baza Nexus e mutată sau restaurată pe alt server, parola nu se mai poate citi acolo: sursa arată „Parola trebuie scrisă din nou”.

Bifele Conexiune criptată și Acceptă certificatul serverului fără validare corespund lui Encrypt și TrustServerCertificate. La un SQL Server cu certificat autosemnat (cazul obișnuit), lasă-le pe amândouă bifate.

Drepturi necesare

Sursa Contul din sursă Serviciul SQL Server
Bază pe SQL Server db_datareader în baza Hipocrate —
Backup rolul de server dbcreator (sau CREATE ANY DATABASE) citire pe fișierul .bak și scriere în folderul fișierelor restaurate
Fișiere .mdf / .ldf rolul de server dbcreator; pentru verificarea Read-only, și VIEW SERVER STATE citire pe fișiere (scriere doar pe o copie; cu un cont SQL, SQL Server le deschide cu contul serviciului lui)

Contul serviciului SQL Server apare la Testează (de exemplu NT Service\MSSQLSERVER). O unitate de rețea mapată (Z:) sau un disc atașat în sesiunea unui utilizator nu se vede din serviciu: folosește o cale UNC (\\nas\backup\Hipocrate.bak) sau atașează discul pe calculatorul cu SQL Server.

Atenție la dbcreator. Rolul permite contului să modifice, să restaureze peste și să șteargă orice bază de pe acel SQL Server, inclusiv baza Hipocrate de producție. Nexus nu atinge decât baza lui temporară, dar contul ar putea. De aceea:

  • pentru backup / fișiere, folosește ca țintă o instanță separată (de exemplu un SQL Server Express instalat pe serverul Nexus), nu serverul Hipocrate al spitalului;
  • dă dbcreator unui cont SQL dedicat importului, nu contului Windows al serverului Nexus, și scoate-l din rol după migrare.

Sursele le poate defini orice administrator Nexus: serverul și căile scrise acolo fac contul serviciului NexusApi (autentificare Windows) sau contul serviciului SQL Server (căi UNC) să se autentifice la calculatorul indicat. Dă dreptul de administrator doar persoanelor de încredere.

Testează

  • Testează pe o bază online: conexiunea, versiunea SQL Server, dacă baza e Hipocrate (tabelele de bază: secții, personal, pacienți, internări, consultații, prezentări, diagnostice) și câte rânduri are fiecare modul al importului. Un modul cu tabele lipsă e semnalat: importul lui ar da eroare.
  • Testează pe un backup / fișiere (rapid): serverul țintă, drepturile contului, antetul backup-ului (baza, data, mărimea după restaurare, versiunea) și unde se vor scrie fișierele. Conținutul nu se poate număra fără restaurare.
  • Testează complet pe un backup / fișiere: restaurează / atașează efectiv, apoi face verificările de mai sus. Durează cât o restaurare (o bază de 50 GB: 5–20 de minute, după disc). La final, baza temporară se șterge / detașează dacă sursa o cere; altfel rămâne pregătită pentru import.

Importul

  • Alege sursa la Din ce bază se importă, bifează modulele și apasă Importă sau Import complet.
  • Importul rulează pe server, în fundal: pagina arată etapa (restaurarea cu procentul ei, apoi modulul curent) și jurnalul. Poți închide pagina; la revenire, panoul arată din nou lucrarea în curs sau ultima terminată.
  • Oprește întrerupe după pasul în curs. O restaurare oprită la jumătate se șterge; lucrarea apare „oprită”.
  • Rulează un singur import (sau test) odată, pentru tot spitalul. Cât rulează, sursele nu se pot modifica sau șterge.
  • Folosește implicit face din sursa aleasă pe cea folosită de importurile pornite fără sursă (scripturi, POST /api/admin/import-hipocrate). Setarea e „Sursa importului (Id)” din Sistem → Platformă → Import din Hipocrate. Dacă ștergi sursa implicită, setarea revine la sursa din configurare.
  • Sursa implicită o folosesc și citirile directe din Hipocrate din afara importului: excepțiile DRG (Reguli DRG → import din Hipocrate), datele unității la pregătirea pilotului și analizoarele (preluarea configurării, redarea istoricului, puntea de rezultate). Pentru un backup sau fișiere, acestea au nevoie de baza temporară păstrată pe server (debifează ștergerea / detașarea după import și rulează Testează complet); altfel spun ce lipsește.

Cum ajung datele din Hipocrate în Nexus

Câteva valori au în Hipocrate altă convenție decât în Nexus; importul le traduce:

  • Sexul: în Hipocrate 0 = feminin și 1 = masculin; în Nexus 1 = masculin și 2 = feminin.
  • Ora: Hipocrate ține ora României, Nexus ține ora universală (UTC) și o arată în ora României. O prezentare de la 09:45 în Hipocrate apare tot la 09:45 în Nexus.
  • Triajul: nivelul din Hipocrate (Nivel 1 … Nivel 5, codurile COD0 … COD4) devine nivelul Nexus cu același rang (1 = cel mai urgent). Culorile diferă: în Hipocrate nivelul 2 e galben, în Nexus portocaliu. Prezentările fără nivel în Hipocrate rămân „netriat”.
  • Urgența cererilor de laborator, prioritatea mesajelor, grupa sanguină (01 → 0I), greutatea la naștere (în grame), categoria serviciilor și grupa regimurilor urmează și ele convenția Nexus.
  • Categoria serviciilor se pune numai când serviciul intră prima dată în catalog: Hipocrate nu are o categorie clinică (doar felul tarifului), deci categoria schimbată apoi în Nexus rămâne și la un import nou.

Datele importate cu o versiune mai veche a importului se corectează singure la actualizare, inclusiv orele rezultatelor aduse de puntea de laborator din Hipocrate pe cererile făcute în Nexus. Nivelul de triaj, urgența cererilor și prioritatea mesajelor se completează la următorul import al modulelor Episoade gardă (și Episoade internare, pentru internările din gardă), Laborator + Imagistică și Mesaje / anunțuri interne. Ce s-a modificat în Nexus după import nu se suprascrie.

Baza temporară

  • Bifa Șterge baza temporară după import (backup) / Detașează baza după import (fișiere) e pornită implicit. Fără ea, baza rămâne pe server: următorul import o refolosește, fără o nouă restaurare. Util la un import pe etape (nomenclatoare azi, episoade mâine) dintr-un backup mare. Dacă între timp backup-ul de la aceeași cale a fost înlocuit cu unul nou, importul observă și reface baza din backup-ul nou. Butonul Șterge baza temporară / Detașează baza temporară o elimină la final.
  • Nexus nu suprascrie și nu șterge niciodată o bază pe care n-a creat-o el: o recunoaște după data creării și după fișierul ei de date. Dacă pe server există deja o bază cu numele temporar, testul și importul se opresc cu mesaj: alege alt nume.
  • Cât timp baza temporară e pe server, sursa nu se poate șterge și nu i se pot schimba tipul, serverul, numele bazei temporare sau căile fișierelor (.bak, .mdf, .ldf, folderul restaurării).
  • La eșec (fișier negăsit, spațiu insuficient, oprire), ce a apucat Nexus să creeze se șterge / detașează. Dacă serverul Nexus se oprește chiar în timpul unei restaurări, sursa arată „o restaurare începută … nu s-a terminat”: importul următor elimină baza rămasă și o reface, sau o elimini cu butonul Șterge baza temporară.
  • Fișierele atașate nu se șterg niciodată: o bază atașată se detașează. Dacă baza nu mai e online (de exemplu discul virtual a lipsit la pornirea serverului și baza a rămas „RECOVERY_PENDING”), Nexus o trece întâi offline și abia apoi o scoate de pe server, ca SQL Server să nu-i șteargă fișierele. După asta, SQL Server poate lăsa fișierele cu drepturi doar pentru contul serviciului lui: ca să le muți sau să le ștergi, ai nevoie de drepturi de administrator pe acel calculator.
  • Durata maximă a unei restaurări / atașări: Sistem → Platformă → Import din Hipocrate (implicit 240 de minute).

Atenție la fișierele .mdf

Pe fișiere care se pot scrie, atașarea modifică fișierele: SQL Server rulează recuperarea și, dacă fișierele sunt de pe o versiune mai veche, le aduce la versiunea lui. După aceea nu mai merg pe serverul vechi. Fără .ldf, SQL Server reconstruiește jurnalul și creează un fișier de jurnal nou lângă .mdf. De aceea Nexus atașează fișierele originale doar așa:

  • Read-only, cu .ldf: marchează ambele fișiere Read-only în Windows (Proprietăți → Doar în citire). SQL Server atașează atunci baza numai-citire și nu scrie în ele. Merge pentru fișiere de pe aceeași versiune de SQL Server ca ținta, ale unei baze închise corect. Nexus verifică atributul înainte de atașare; pentru asta, contul are nevoie de VIEW SERVER STATE pe SQL Server 2017 sau mai nou.
  • Pe o copie: copiază fișierele (fără Read-only) și bifează în sursă Lucrez pe o copie a fișierelor. Abia atunci Nexus atașează și fișiere scriibile, de pe o versiune mai veche sau fără .ldf. Testează arată dinainte dacă fișierele vor fi aduse la versiunea serverului.

Fără bifă, testul și importul se opresc cu un mesaj care spune ce e de făcut. SQL Server schimbă și drepturile (ACL) fișierelor la atașare și detașare, chiar și pe cele Read-only.

Erori frecvente

Mesajul spune Ce faci
serverul nu răspunde numele serverului / instanței, portul, serviciul SQL Server pornit, TCP/IP activ, firewall-ul (o instanță numită fără port are nevoie și de SQL Server Browser, UDP 1434)
autentificarea a fost refuzată contul și parola; serverul acceptă autentificarea SQL („SQL Server and Windows Authentication mode”)
nu are dreptul să creeze baze rolul dbcreator pentru contul din sursă
nu există sau nu e vizibil pentru SQL Server calea e cea de pe calculatorul cu SQL Server; unitate mapată → cale UNC
contul serviciului SQL Server nu are drept de acces drept de citire (și scriere, la .mdf / folderul restaurării) pentru contul serviciului afișat
versiune de SQL Server mai nouă decât serverul țintă o bază nu coboară de versiune: țintă cel puțin de aceeași versiune
nu e destul spațiu pe disc restaurarea ocupă cât baza întreagă, nu cât backup-ul comprimat; alt folder sau spațiu liber
există deja o bază cu numele alt nume pentru baza temporară
baza e folosită de alte conexiuni închide SSMS / rapoartele conectate la baza temporară
certificatul serverului nu e de încredere bifa „Acceptă certificatul serverului fără validare”
fișierele nu sunt marcate Read-only marchează .mdf și .ldf Read-only, sau lucrează pe o copie și bifează „Lucrez pe o copie a fișierelor”
nu poate verifica dacă fișierele sunt marcate Read-only VIEW SERVER STATE pentru contul din sursă (SQL Server 2017+), sau lucrează pe o copie și bifează „Lucrez pe o copie a fișierelor”
sursele nu se modifică cât rulează așteaptă să se termine importul / testul (sau oprește-l)
sursa aleasă implicit … fără bază temporară păstrată pentru DRG / pilot / analizoare: păstrează baza temporară (Testează complet, fără ștergere după import) sau alege implicit o bază pe SQL Server
A apărut o eroare. Reîncarcă ×

Se reconectează la server…

Reconectarea a eșuat… se reîncearcă în secunde.

Reconectarea a eșuat.
Reîncearcă sau reîncarcă pagina.

Formularele de rezervă pentru lucrul pe hârtie

Sesiunea a fost pusă pe pauză de server.

Reluarea sesiunii a eșuat.
Reîncearcă sau reîncarcă pagina.

Nexus se actualizează; pagina se reîncarcă automat.
Ce ați salvat rămâne salvat.