Integrare

Cum să integrezi un sistem informatic de laborator cu un sistem EHR: HL7 v2, FHIR și capcanele, pas cu pas

O interfață de laborator este cea mai comună integrare spitalicească și cea mai ușor de greșit. Fluxurile de comandă și rezultate în HL7 v2 (ORM/OML, ORR, ORU), câmpurile pentru status, flag-uri, unități și intervale, microbiologie și rezultate text, alternativa FHIR, maparea codurilor, testarea și eșecurile de proiectare.

de Publicat 8 min de citit

Răspuns scurt: o interfață de laborator are două direcții. Comenzile merg de la EHR la sistemul informatic de laborator (LIS) ca mesaje HL7 v2 ORM^O01 sau OML^O21 (sau ca FHIR ServiceRequest), iar LIS răspunde cu ORR/ORL și ulterior cu rezultate ca ORU^R01 (sau FHIR DiagnosticReport cu Observations). Părțile dificile nu sunt mesajele, ci detaliile din interiorul lor: numerele placer și filler care leagă rezultatele de comenzi, starea rezultatului (preliminar, final, corectat), indicatorii de anomalie, unitățile și intervalele de referință, informațiile despre probă, microbiologia cu rezultatele sale multi-parte și maparea codurilor la LOINC. Realizat corect, fiecare rezultat ajunge la pacientul potrivit, la comanda potrivită și în locul potrivit din fișa medicală, cu sensul său intact.

Pasul 1: stabilirea fluxurilor

Primul pas în integrarea unui sistem informatic de laborator cu un EHR este stabilirea, împreună cu laboratorul, a fluxurilor existente: comenzi trimise, actualizări ale stării comenzilor, rezultate primite, corecții, anulări, teste suplimentare și reflex, precum și un flux de date demografice ADT către LIS. Părțile stabilesc, de asemenea, versiunea HL7, de obicei 2.3.1 sau 2.5.1, și metoda de transport, de obicei MLLP cu confirmări.

Decideți împreună cu laboratorul ce fluxuri există: comenzi trimise (sau laboratorul primește hârtie și se înregistrează singur?), actualizări ale stării comenzilor, rezultate primite, corecții, anulări, teste suplimentare, teste reflex și demografice (flux ADT către LIS pentru ca acesta să cunoască pacientul înainte ca proba să ajungă). Desenați secvența pentru un rezultat normal, un rezultat corectat și o comandă anulată. Decideți versiunea HL7 (2.3.1 și 2.5.1 sunt cele mai comune) și transportul (MLLP cu ACKs; uneori fișiere). Vezi mesaje de comandă HL7 v2.

Pasul 2: mesajul de rezultat, câmp cu câmp

Un rezultat de laborator ajunge la EHR sub forma unui mesaj HL7 v2 ORU^R01: MSH identifică expeditorul și destinatarul, PID pacientul, PV1 vizita, ORC și OBR conțin numerele comenzii plasatorului și executantului, panelul comandat și starea raportului, iar fiecare OBX conține un singur analit cu codul său LOINC, valoarea, unitățile, intervalul de referință, indicatorul de anomalie și starea rezultatului.

MSH|^~\&|LIS|CENTRALLAB|EHR|GENHOSP|20260314130500||ORU^R01^ORU_R01|RES0001|P|2.5.1
PID|1||MRN-00012345^^^GENHOSP^MR||DOE^JANE||19800523|F
PV1|1|O|CLINIC-3^^^GENHOSP
ORC|RE|PLC-778812^EHR|FIL-556701^LIS|||||||||42^SMITH^JOHN
OBR|1|PLC-778812^EHR|FIL-556701^LIS|58410-2^CBC panel - Blood by Automated count^LN|||20260314084000|||||||||42^SMITH^JOHN||||||20260314130000|||F
OBX|1|NM|718-7^Hemoglobin [Mass/volume] in Blood^LN||10.9|g/dL|12.0-15.5|L|||F|||20260314125800
OBX|2|NM|6690-2^Leukocytes [#/volume] in Blood by Automated count^LN||6.4|10*3/uL|4.0-10.0|N|||F|||20260314125800
OBX|3|NM|777-3^Platelets [#/volume] in Blood by Automated count^LN||230|10*3/uL|150-400|N|||F|||20260314125800
NTE|1||Mild normocytic anaemia; suggest iron studies if clinically indicated.
  • ORC-2 / OBR-2 număr placer și ORC-3 / OBR-3 număr filler: legătura cu comanda. OBR-4: panelul, codificat (LOINC LN). OBR-7: ora colectării probei. OBR-22: ora raportării rezultatelor. OBR-25: starea rezultatului pentru întreaga comandă (P preliminar, F final, C corectat, X anulat).
  • OBX-2: tipul valorii (NM numeric, ST șir de caractere, TX text, CE/CWE codificat, SN numeric structurat precum <^5). OBX-3: analitul, codificat. OBX-5: valoarea. OBX-6: unități, ideal UCUM (10*3/uL, nu K/µL). OBX-7: interval de referință ca text. OBX-8: indicatori de anomalie (L, H, LL, HH, A, N). OBX-11: starea rezultatului per analit (P, F, C, X, D șters). OBX-14: ora observației. OBX-19: ora analizei.
  • NTE: comentarii, atașate la OBR sau la un OBX specific prin poziție.
  • SPM (2.5+): tipul probei (SNOMED CT), ora colectării, ora primirii, condiția.

Pasul 3: cazurile speciale

Cazurile speciale pe care o interfață de laborator trebuie să le gestioneze sunt rezultatele corectate (starea C cu numerele comenzii originale, înlocuind și alertând în loc să șteargă), rezultatele preliminare urmate de cele finale, microbiologia cu organisme și susceptibilități legate prin sub-ID, rezultatele text și PDF-urile încorporate, testele reflex și suplimentare, anulările, precum și unitățile și intervalele de referință care se modifică atunci când laboratorul schimbă analizoarele.

  • Corecții: un nou ORU cu C în OBR-25 și OBX-11 și aceleași numere placer/filler; EHR-ul trebuie să înlocuiască, să marcheze modificarea și să alerteze clinicianul. Nu ștergeți niciodată originalul în tăcere.
  • Preliminar apoi final: rezultate P (o colorație Gram) urmate de F (cultura); fișa medicală trebuie să afișeze starea.
  • Microbiologie: un OBX pentru organismul identificat (codificat, SNOMED CT), apoi rezultatele susceptibilității ca OBX per antibiotic cu organismul ca sub-ID (OBX-4), adesea pe mai multe mesaje. Aici se ascund majoritatea erorilor de interfață.
  • Rezultate text și PDF-uri: comentariile de patologie și unele de chimie sosesc ca linii TX sau ca PDF încorporat (OBX-2 ED); fișa medicală necesită atât textul, cât și fișierul.
  • Teste reflex și suplimentare: noi OBR-uri sub comanda originală, sau o nouă comandă creată de laborator; stabiliți cum sunt numerotate.
  • Anulări: stare X, cu numerele originale.
  • Unități și intervale per analizor: același test poate schimba unitățile atunci când laboratorul schimbă analizorul; interfața trebuie să transmită intervalul cu fiecare rezultat, nu să îl presupună.

Pasul 4: coduri

Maparea codurilor într-o interfață de laborator înseamnă traducerea codurilor locale de testare ale laboratorului în LOINC o singură dată, într-un tabel întreținut, și trimiterea atât a codului local, cât și a codului LOINC în OBX-3, normalizarea unităților la UCUM și codificarea tipurilor de specimene și a organismelor în SNOMED CT. Fără această mapare, rezultatele nu pot fi urmărite în timp între laboratoare sau citite de sisteme externe.

Mapați codurile de test ale laboratorului la LOINC o singură dată, într-un tabel întreținut, și trimiteți atât codurile locale, cât și cele LOINC în OBX-3 (GLU^Glucose^L~2345-7^Glucose [Mass/volume] in Serum or Plasma^LN). Normalizați unitățile la UCUM. Tipurile de probe și organismele în SNOMED CT. Metoda este în Cum să mapați codurile locale de laborator la LOINC; fără aceasta, rezultatele nu pot fi urmărite în timp la nivelul mai multor laboratoare sau citite de niciun sistem extern.

Pasul 5: alternativa FHIR

Alternativa FHIR la o interfață de laborator HL7 v2 utilizează un ServiceRequest pentru comandă, un singur Observation per analit cu un cod LOINC, o cantitate UCUM, un interval de referință și o interpretare, și un DiagnosticReport care le grupează cu starea, executantul, ora emiterii, concluzia și PDF-ul. Livrarea se face prin REST write, un Bundle tranzacțional per raport, sau prin Subscripții FHIR.

Cu FHIR, comanda este un ServiceRequest, rezultatele sunt Observations (una per analit, cod LOINC, cantitate UCUM, referenceRange, interpretare) grupate de un DiagnosticReport care poartă starea, performerul, ora emiterii, concluzia și PDF-ul, cu basedOn indicând către ServiceRequest. Corecțiile sunt versiuni ale acelorași resurse cu starea amended sau corrected. Livrarea se face prin scrieri REST pe serverul FHIR al EHR-ului, un Bundle de tranzacție per raport, sau Subscriptions. Ghidul HL7 v2-to-FHIR mapează fiecare câmp de mai sus; multe laboratoare oferă acum ambele. Vezi FHIR DiagnosticReport explicat și FHIR Observation explicat.

Pasul 6: testare și lansare

Testarea unei interfețe de laborator înainte de lansare înseamnă rularea unor pacienți sintetici prin fiecare caz special, compararea rezultatelor dintr-o zi în paralel între raportul laboratorului și fișa EHR, verificarea fusurilor orare și a tranzițiilor la ora de vară, validarea gestionării confirmărilor și a reluării după o întrerupere, și stabilirea unei proceduri de urgență pentru mesajele eșuate, utilizând profilul Laboratory Testing Workflow al IHE ca bază.

Testați cu pacienți sintetici prin fiecare caz din pasul 3; comparați o zi de rezultate paralele între raportul pe hârtie sau PDF și fișa medicală; verificați fusurile orare și tranzițiile la ora de vară/iarnă; verificați gestionarea ACK-urilor și reluarea după o întrerupere; stabiliți o procedură de urgență pentru mesajele eșuate. Profilul Laboratory Testing Workflow al IHE și suitele naționale de conformitate oferă o bază testată.

Eșecuri la proiectare

Eșecurile împotriva cărora o interfață de laborator trebuie să fie proiectată sunt rezultatele înregistrate la o vizită anterioară, fuziunile de pacienți care nu sunt aplicate în LIS, modificările unităților după o actualizare a analizoarelor care schimbă tendințele, rezultatele corectate care suprascriu fără alertă, susceptibilitățile microbiologice atașate organismului greșit și rezultatele pentru teste pentru care EHR-ul nu are un cod, dispărând într-o coadă de erori.

Rezultate înregistrate într-o întâlnire anterioară deoarece PV1 era învechit; o fuziune (ADT A40) neaplicată în LIS; o schimbare de unitate după o actualizare a analizorului care a deplasat în tăcere tendințele; rezultate corectate care suprascriu fără alertă; susceptibilități microbiologice atașate organismului greșit; un laborator care trimite rezultate pentru un test pentru care EHR-ul nu are cod, care apoi dispar într-o coadă de erori.

În Anpheros

Conectorul de laborator Anpheros acceptă ORU^R01, CSV și JSON și produce Observații sub un DiagnosticReport cu LOINC și UCUM, păstrând codurile locale și fișierul original; ghidul dezvoltatorului despre importul rezultatelor de laborator parcurge acest proces împotriva sandbox-ului gratuit.

Pagini conexe

Surse

Întrebări frecvente

Ce versiune HL7 ar trebui să folosească o nouă interfață de laborator?

2.5.1 dacă ambele părți o suportă: are SPM pentru probe și o gestionare mai clară a stării. Multe laboratoare rulează încă 2.3.1, iar interfața se adaptează la partea mai veche.

Cum sunt rezultatele potrivite cu comenzile?

Prin numărul comenzii placer (asignat de EHR) și numărul comenzii filler (asignat de LIS), transmise în ORC-2/3 și OBR-2/3 atât ale răspunsului la comandă, cât și ale rezultatului. Dacă EHR-ul nu a înregistrat niciodată numărul filler, potrivirea revine la numărul placer.

Ce se întâmplă dacă laboratorul nu poate trimite coduri LOINC?

Mapați codurile lor locale la LOINC pe partea dvs., în motor sau în conector, și păstrați ambele. Insistați ca sistemul de coduri locale să fie stabil și ca noile teste să fie anunțate.

Este FHIR pregătit pentru interfețe de laborator?

Da pentru conexiuni noi, în special în afara spitalului: ServiceRequest, Observation și DiagnosticReport acoperă pe deplin comenzile și rezultatele, iar ghidurile naționale le profilează. În interiorul spitalului, LIS-ul și analizorii vor vorbi HL7 v2 ani de zile.

Anpheros Platform

Încearcă gratuit în sandbox

Primul apel FHIR în 5 minute. Un API HL7 FHIR R4 cu consimțământul pacientului integrat: încearcă-l în sandbox, apoi conectează-ți propria aplicație sau sistemul clinicii.

Gratuit · 30 de pacienți sintetici · fără card

Acest ghid este informativ și nu înlocuiește consultul medical. Pentru decizii despre sănătatea ta, vorbește cu medicul tău. În caz de urgență, sună la numărul de urgență local (112 în Europa).
Scris de
Echipa Anpheros

Anpheros construiește un dosar medical pe care pacientul îl controlează și îl poate da oricărei clinici, pe o platformă HL7 FHIR R4, cu sediul în UE. Ghidurile te ajută să-ți înțelegi și să-ți organizezi sănătatea; nu înlocuiesc medicul.

Despre Anpheros →