Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
임상 대시보드를 위한 HL7 v2 및 FHIR
HL7 v2 ORU^R01 실험실 메시지에서 대시보드 타일로: 범위 및 플래그가 있는 FHIR Observation, 서명된 웹훅, 중복 없음 — 이것이 왜 침대 옆 모니터링이 아닌지 설명합니다.
임상 대시보드는 보고되는 순간 구조화되고 코딩된 데이터로 결과를 필요로 합니다 — 테스트, 값, 단위, 참조 범위 및 플래그 — 읽어야 하는 PDF가 아닙니다. 실험실은 여전히 대부분의 결과를 HL7 v2 ORU^R01 메시지로 보내지만, 대시보드는 FHIR R4 Observations를 기반으로 구축하는 것이 가장 쉽습니다. Anpheros는 이 둘 사이에 위치합니다: 실험실 시스템은 HTTPS를 통해 HL7 v2 메시지(또는 CSV 또는 JSON 보고서)를 게시하고, 각 결과는 코드(실험실에서 보낸 경우 LOINC), 값 및 참조 범위가 있는 FHIR Observation이 되며, 서명된 웹훅은 새 결과가 도착했음을 대시보드에 알립니다.
- Laboratory systemSends an HL7 v2 ORU^R01 message or a CSV report
- Lab connectorPOST /v1/patients/{id}/labs/import over HTTPS
- FHIR ObservationsLOINC code, value, unit, reference range, H/L flag
- Signed webhookresource.created reaches your server, retried on failure
- Your dashboardReads the new results and updates the tile
대시보드가 수신하는 내용
메시지의 각 OBX 세그먼트는 하나의 검사 관찰(laboratory Observation)이 됩니다.
| HL7 v2 OBX 필드 | FHIR R4 Observation | 대시보드 상 |
|---|---|---|
| OBX-3 검사 코드 | code (검사실에서 보낼 때 LOINC; 검사실 자체 코드는 검사실 코드로 유지) |
검사 이름; LOINC는 검사실 간 비교 가능하게 함 |
| OBX-5 값, OBX-6 단위 | valueQuantity (UCUM 단위) |
숫자와 단위 |
| OBX-7 참고 범위 | referenceRange |
정상 범위 |
| OBX-8 이상 플래그 | interpretation (H, L, …) |
빨간색 또는 파란색 플래그 |
| OBX-14 시간 | effectiveDateTime |
샘플 채취 시점 |
메시지 가져오기 및 처리
생성한 환자(또는 권한이 있는 환자)에 대한 메시지를 보냅니다.
import { readFile } from 'node:fs/promises';
import { Anpheros, apiKey } from '@anpheros/sdk';
const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) }); // a sandbox key, sk_test_…
const message = await readFile('oru_r01.hl7', 'utf8');
const result = await anpheros.labs.importHl7(patientId, message, { sourceSystem: 'lab-lis' });
console.log(result); // created, skipped and unmapped counts
그런 다음 플랫폼이 폴링하는 대신 대시보드 백엔드를 호출하도록 합니다.
await anpheros.webhooks.create('https://dashboard.example.org/anpheros/hook', { events: ['resource.created'] });
각 전송은 서명되며(SDK의 verifyWebhookSignature로 확인) 서버가 응답하지 않으면 재시도됩니다. 이벤트는 리소스 유형, ID 및 환자를 전달합니다. 새 관찰 항목을 읽고 타일을 새로 고칩니다. 재전송된 보고서는 건너뛰므로, 타임아웃 시 재전송하는 실험실은 화면에 중복 행을 생성하지 않습니다.
각 링크에 HL7 v2 또는 FHIR 선택하기
| 링크 | 사용 | 이유 |
|---|---|---|
| Laboratory → data layer | HL7 v2 ORU^R01 (또는 CSV/JSON) | 실험실 시스템에서 이미 내보내는 형식; 해당 시스템 측 변경 불필요 |
| Data layer → dashboard | FHIR R4 Observation + webhooks | 프론트엔드에서 직접 읽을 수 있는 코딩되고 버전이 관리되는 JSON |
| Dashboard → other apps | FHIR R4, 환자의 동의 하에 | 모든 소비자에게 적용되는 단일 표준 |
이것은 무엇이 아닙니다
- 침대 옆 모니터 피드가 아닙니다. Anpheros는 HTTPS를 통해 검사실 보고서를 수락합니다. 중환자실 모니터에서 지속적인 파형이나 장치 스트림을 수신하지 않으며, 경보 시스템도 아닙니다. 치료에 영향을 미치는 알림은 인증된 임상 시스템이 필요합니다.
- MLLP 인터페이스 엔진이 아닙니다. 메시지는 HTTPS를 통해 도착합니다. 실험실에서 TCP를 통한 MLLP만 지원하는 경우, 앞단의 인터페이스 엔진이 이를 전달합니다.
- 하나의 HL7 v2 메시지 유형입니다. ORU^R01 검사실 결과는 수락되지만, 주문(ORM/OML) 및 ADT 메시지는 수락되지 않습니다.
자주 묻는 질문
대시보드에서 HL7 v2 실험실 결과를 직접 읽을 수 있나요?
가능하지만, 모든 대시보드마다 자체 HL7 v2 파서, 코드 매핑 및 중복 제거 기능이 필요합니다. LOINC 코드를 사용하여 FHIR R4 Observations로 한 번 변환하면 모든 화면에서 동일한 깨끗한 데이터를 얻을 수 있습니다.
가져온 결과는 대시보드에 얼마나 빨리 도달하나요?
Observations가 저장되면 가져오기 요청이 반환되며, 동시에 각 Observations에 대해 resource.created 웹훅이 큐에 추가됩니다. 엔드포인트가 사용할 수 없는 경우 배달이 재시도됩니다.
비정상 결과는 어떻게 플래그가 지정되나요?
OBX-8은 Observation의 interpretation (예: H 또는 L)이 되고 OBX-7은 referenceRange이 되므로, 대시보드에서 플래그와 정상 범위를 모두 표시할 수 있습니다.
Anpheros는 ICU 모니터링을 지원하나요?
아니요. 실험실 및 임상 결과를 저장하고 새 데이터에 대해 시스템에 알립니다. 지속적인 침대 옆 모니터링 및 임상 경보는 인증된 의료 기기에 유지됩니다.
관련 자료
- Lab results API: HL7 v2, FHIR 및 LOINC
- FHIR 레코드에 검사 결과 가져오는 방법
- Lab connector: 엔드포인트 참조
- FHIR 대 HL7 v2: 실제 차이점
- FHIR을 사용한 원격 환자 모니터링
- 웹훅
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card