AnpherosAnpheros PlatformDevelopers

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이 되며, 서명된 웹훅은 새 결과가 도착했음을 대시보드에 알립니다.

From the laboratory to a dashboard tile
  1. Laboratory systemSends an HL7 v2 ORU^R01 message or a CSV report
  2. Lab connectorPOST /v1/patients/{id}/labs/import over HTTPS
  3. FHIR ObservationsLOINC code, value, unit, reference range, H/L flag
  4. Signed webhookresource.created reaches your server, retried on failure
  5. 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 샘플 채취 시점
What a dashboard can build from imported results (illustrative data)
Bed 4 · latest laboratory resultsreceived 08:42 · HL7 v2 ORU^R01
TestValueReferenceFlag
Potassium5.9 mmol/L3.5–5.1H
Creatinine1.1 mg/dL0.7–1.3—
Haemoglobin10.8 g/dL13.0–17.0L
Glucose104 mg/dL70–99H

메시지 가져오기 및 처리

생성한 환자(또는 권한이 있는 환자)에 대한 메시지를 보냅니다.

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, 환자의 동의 하에 모든 소비자에게 적용되는 단일 표준

이것은 무엇이 아닙니다

자주 묻는 질문

대시보드에서 HL7 v2 실험실 결과를 직접 읽을 수 있나요?

가능하지만, 모든 대시보드마다 자체 HL7 v2 파서, 코드 매핑 및 중복 제거 기능이 필요합니다. LOINC 코드를 사용하여 FHIR R4 Observations로 한 번 변환하면 모든 화면에서 동일한 깨끗한 데이터를 얻을 수 있습니다.

가져온 결과는 대시보드에 얼마나 빨리 도달하나요?

Observations가 저장되면 가져오기 요청이 반환되며, 동시에 각 Observations에 대해 resource.created 웹훅이 큐에 추가됩니다. 엔드포인트가 사용할 수 없는 경우 배달이 재시도됩니다.

비정상 결과는 어떻게 플래그가 지정되나요?

OBX-8은 Observation의 interpretation (예: H 또는 L)이 되고 OBX-7은 referenceRange이 되므로, 대시보드에서 플래그와 정상 범위를 모두 표시할 수 있습니다.

Anpheros는 ICU 모니터링을 지원하나요?

아니요. 실험실 및 임상 결과를 저장하고 새 데이터에 대해 시스템에 알립니다. 지속적인 침대 옆 모니터링 및 임상 경보는 인증된 의료 기기에 유지됩니다.

관련 자료

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy