# 가상 진료 및 AI 의사: 필요한 데이터

> FHIR R4 데이터로 본 가상 방문 — 예약, 접수, 가정에서의 측정, 진료, 후속 조치 — 그리고 AI 어시스턴트가 동의를 얻어 출처가 명시된 뷰를 어떻게 얻는지. 테스트된 흐름.

Source: https://developers.anpheros.com/ko/guides/virtual-care-ai-data

**가상 진료소 — 진료인이 영상 통화 중인 사람이든, 이를 돕는 AI 어시스턴트든 — 는 진료 전, 중, 후에 볼 수 있는 환자 데이터만큼만 유용합니다: 최근 측정값, 현재 문제 및 복용 중인 약물, 환자가 보고한 내용, 그리고 결정된 사항의 기록.** 영상 통화는 쉬운 부분입니다. 이 페이지는 가상 방문을 HL7 FHIR R4 리소스로 매핑하고, AI 어시스턴트가 동의를 얻어 출처가 명시된 기록 뷰를 어떻게 제공받을 수 있는지 보여주며, Anpheros Platform을 대상으로 전체 흐름을 실행합니다. 또한, 이를 수행하는 동안 발견한 한 가지 제한 사항도 포함합니다.

## 가상 진료를 데이터로

| 단계 | 발생하는 일 | FHIR R4 리소스 |
|---|---|---|
| 예약 | 환자가 화상 진료 시간을 선택합니다 | `Appointment` |
| 문진 | 환자가 질문에 답하고 증상을 보고합니다 | `QuestionnaireResponse`, `Observation` (카테고리 `symptom`) |
| 가정 데이터 | 마지막 진료 이후 혈압계, 체중계 또는 스마트워치에서 측정한 데이터 | `Observation` (활력 징후, 활동), 기기 데이터로 표시 |
| 준비 | 임상의 또는 임상의를 위한 AI 어시스턴트가 기록을 검토합니다 | read: `Condition`, `MedicationStatement`, `AllergyIntolerance`, `Observation`, `DocumentReference` |
| 진료 | 누가, 언제, 왜, 그리고 가상으로 진행되었는지 | `Encounter`, `class` = `VR` (가상) |
| 결과 | 진단, 약물 변경, 처방된 검사, 후속 조치 | `Condition`, `MedicationStatement`, `ServiceRequest`, `CarePlan`, `Appointment` |
| 추적 | 각 항목을 누가, 어떤 시스템에서 작성했는지 | 모든 쓰기에 `Provenance` |

대면 진료와 다른 두 가지 측면이 있습니다. 임상의는 환자가 생성한 데이터(가정 측정값, 설문지)에 더 의존하므로, 기록은 어떤 값이 기기나 환자로부터 왔고 어떤 값이 임상의로부터 왔는지 보여주어야 합니다. 그리고 준비 단계는 오늘날 AI가 가장 유용한 부분입니다. 수개월간의 측정값을 요약하여 무엇이 변경되었는지 보여주므로, 환자의 동의 하에 소프트웨어가 읽을 수 있도록 기록이 작성되어야 합니다.

## AI의 역할과 AI에게 제공되어야 할 데이터

| AI 역할 | 필요한 데이터 | 제공해서는 안 되는 데이터 |
|---|---|---|
| 접수 보조 (진료 전 환자와 대화) | 관련 질문을 하기 위한 현재 문제 및 복용 중인 약물 | 불필요한 메모 및 문서 |
| 의료진을 위한 진료 전 요약 | 최근 측정값 추세, 새로운 증상, 약물 변경 사항, 최근 검사 결과 | 질문과 관련 없는 수년간의 과거 기록 |
| 진료 후 문서 초안 작성 | 진료 내용, 논의된 사항, 결과 | 다른 환자의 데이터 (절대) |
| 후속 확인 | 관리 계획 및 요청하는 측정값 | 계획 외의 모든 것 |

공통 규칙: 각 AI 역할에는 질문에 답하는 데 필요한 **최소한의 데이터 조각**을 제공하고, 모델과 의료진이 가정 측정값을 실험실 결과와 비교하여 평가할 수 있도록 **모든 값의 출처를 명시**하며, 환자가 AI가 본 내용을 확인할 수 있도록 **모든 읽기 기록을 기록**하고, 진단과 관련된 모든 사항에 대해서는 **사람을 반드시 참여**시켜야 합니다. 진단하거나 치료를 권장하는 AI는 의료 기기 소프트웨어로 규제될 수 있습니다 (미국 FDA; 유럽 연합의 의료 기기 규정 및 AI 법에 따라). 데이터 플랫폼이 이러한 규제를 변경하지는 않습니다.

## Anpheros에서의 흐름, 단계별 안내

아래 코드는 Anpheros TypeScript SDK를 사용하며, 샌드박스 키를 사용하여 로컬 플랫폼 인스턴스에서 실행되었습니다. 환자는 이미 커프(`author_type: device`)에서 세 번의 가정 혈압 측정 기록, 고혈압 상태, 에날라프릴 복용 기록이 있습니다.

```ts
import { Anpheros, apiKey } from '@anpheros/sdk';

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });
const subject = { reference: `Patient/${patientId}` };

// 1. Before the visit: the booking and the intake questionnaire
await anpheros.fhir.create({ resourceType: 'Appointment', status: 'booked', description: 'Video visit: blood pressure follow-up',
  start: '2026-10-14T15:00:00-05:00', end: '2026-10-14T15:20:00-05:00',
  participant: [{ actor: subject, status: 'accepted' }] } as any);
await anpheros.fhir.create({ resourceType: 'QuestionnaireResponse', status: 'completed', subject, authored: '2026-10-14T09:12:00-05:00',
  item: [
    { linkId: 'reason', text: 'What would you like to discuss?', answer: [{ valueString: 'Higher readings this week and dizziness in the morning' }] },
    { linkId: 'missed-doses', text: 'Did you miss any doses in the last 7 days?', answer: [{ valueBoolean: false }] },
  ] } as any, { author_type: 'patient' });

// The symptom itself, as a patient-reported Observation, so it reaches the context below
await anpheros.observations.create(patientId, { code: 'R42', system: 'http://hl7.org/fhir/sid/icd-10', display: 'Dizziness and giddiness',
  category: 'symptom', effective_at: '2026-10-13T07:45:00-05:00', value_text: 'Dizzy for a few minutes after getting up', author_type: 'patient' });

// 2. What the clinician (or an AI assistant helping them) reads: a budgeted, source-labelled context
const ctx = await anpheros.context.build({ patient: patientId, task: 'prepare a video visit',
  question: 'blood pressure trend and dizziness in the last 2 weeks', budget_tokens: 700, format: 'text' });

// 3. After the visit: the encounter, written as the clinician
const encounter = await anpheros.fhir.create({ resourceType: 'Encounter', status: 'finished',
  class: { system: 'http://terminology.hl7.org/CodeSystem/v3-ActCode', code: 'VR', display: 'virtual' },
  subject, period: { start: '2026-10-14T15:02:00-05:00', end: '2026-10-14T15:18:00-05:00' },
  reasonCode: [{ text: 'Blood pressure follow-up' }] } as any, { author_type: 'practitioner', source_system: 'video-clinic' });
```

2단계에서 반환된 컨텍스트 (700 토큰 중 487번째 토큰; 모델 앞에 넣거나 임상의에게 보여줄 내용):

```
## Summary
Maria Lopez, 58 y, female. Active conditions: Essential (primary) hypertension. Active medications: Enalapril 10 mg.
Allergies: none recorded. Record: 0 lab values, 3 vital signs, 0 documents. As of 2026-10-13.
## Vitals
- Blood pressure panel: latest 2026-10-12 146/90 mm[Hg] ; weekly 2026-10-05: 150/93.5; 2026-10-12: 146/90 [device]
## Symptoms
- Dizziness and giddiness: 1 occurrence(s): 2026-10-13 [patient]
## Timeline
- 2026-10-13 symptom: Dizziness and giddiness: Dizzy for a few minutes after getting up [patient]
```

각 줄은 출처를 가지고 있습니다 — 커프의 경우 `[device]`, 증상의 경우 `[patient]` — 그리고 측정 기록은 액세스 로그에 기록됩니다. 해당 인카운터의 출처는 `practitioner`에서 `video-clinic`으로 표시되며, 환자의 타임라인은 이제 다음과 같이 읽힙니다: 가상 인카운터, 화상 진료 예약, 현기증, 세 번의 혈압 측정, 약물, 그리고 상태.

**실행 중 발견한 사항:** 현재 컨텍스트 API에는 `QuestionnaireResponse` 답변이 포함되어 있지 않습니다. 현기증만 설문지에 포함시킨 첫 번째 실행에서는 해당 내용이 언급되지 않은 요약이 생성되었습니다. 환자가 보고한 증상은 범주 `symptom` (위와 같음)로 `Observation`로 기록하거나, 설문지를 직접 모델에 전달하십시오.

## AI 에이전트에게 동의를 통한 접근 권한 부여

AI가 다른 사람의 애플리케이션에서 실행될 때, 프로젝트 키는 제공되지 않습니다. 해당 애플리케이션은 OAuth 2.1 및 SMART on FHIR을 통해 환자에게 동의를 요청하며, `patient/Observation.rs?category=vital-signs`과 같이 범위가 제한적이고, 특정 기간 동안 유효하며, 언제든지 철회 가능합니다. 에이전트는 Anpheros MCP 서버를 통해 기록에 접근할 수도 있으며, 환자가 추가 권한을 허용하지 않는 한 읽기 전용으로 제한됩니다. [AI 에이전트에게 의료 기록 접근 권한 부여 방법](https://developers.anpheros.com/ko/guides/ai-agent-access-medical-records) 및 [FHIR MCP 서버](https://developers.anpheros.com/ko/guides/mcp)를 참조하십시오.

## Anpheros의 기능 및 비기능

Anpheros는 레코드와 그 주변의 제어 기능을 제공합니다. 위 표의 모든 리소스에 대한 FHIR R4 저장소, 애플리케이션별 동의, 모든 쓰기에 대한 출처 증명, 환자가 볼 수 있는 액세스 로그, 레코드를 모델을 위한 예산 책정 및 레이블이 지정된 요약으로 변환하는 컨텍스트 API를 제공합니다.

비디오 통화, 예약 화면, 전자 처방, 청구 또는 임상 의사 결정 지원은 제공하지 않으며, AI 모델을 호스팅하거나 선택하지도 않습니다. 이를 기반으로 구축된 가상 클리닉은 이러한 기능과 임상적 책임을 자체적으로 가져옵니다.

## 자주 묻는 질문

### 가상 의사란 무엇인가요?
비디오, 전화 또는 메시지를 통해 원격으로 환자를 진료하는 임상의입니다. 이 용어는 환자와 대화하는 AI 비서에게도 사용됩니다. 실제로는 이러한 비서가 인간 임상의를 대체하기보다는 보조하며, 동일한 환자 데이터에 의존합니다.

### 어떤 FHIR 리소스가 방문을 가상으로 표시하나요?
v3 ActCode `VR` ("virtual")을 사용하는 `Encounter.class`입니다. 예약은 `Appointment`이며, 접수는 `QuestionnaireResponse`이고, 증상의 경우 `Observation`입니다.

### AI 의료 비서에게 어떤 데이터가 필요한가요?
작업에 필요한 데이터만 있으면 됩니다. 사전 방문 요약의 경우 최근 측정 추세, 새로운 증상, 활성 문제 및 약물, 그리고 각 항목의 출처와 시간이 표시된 최근 결과입니다. 전체 기록 대신 예산이 책정된 컨텍스트를 제공하세요.

### 환자 보고 데이터와 장치 데이터를 임상 데이터와 분리하려면 어떻게 해야 하나요?
각 항목을 누가 작성했는지 기록하세요. Anpheros에서는 모든 작성 시 환자, 장치, 실무자, 가져오기 또는 AI와 같은 작성자 유형이 포함되며, 모델에 제공된 컨텍스트는 각 줄에 이를 레이블로 지정합니다.

### AI 비서가 환자의 동의 없이 환자의 기록을 읽을 수 있나요?
Anpheros에서는 불가능합니다. 기록을 생성한 애플리케이션이 아닌 다른 애플리케이션은 환자의 OAuth 동의가 필요하며, 이는 환자가 선택한 범위와 기간으로 제한됩니다. 모든 읽기 작업은 환자의 액세스 로그에 기록됩니다.

## 관련 자료

- [AI 헬스케어 애플리케이션](https://developers.anpheros.com/ko/guides/ai-healthcare)
- [FHIR 백엔드를 사용하여 AI 헬스케어 앱 구축 방법](https://developers.anpheros.com/ko/guides/build-ai-healthcare-app)
- [구조화된 데이터를 사용하여 의료 챗봇 구축 방법](https://developers.anpheros.com/ko/guides/ai-medical-assistant)
- [FHIR의 웨어러블 데이터](https://developers.anpheros.com/ko/guides/wearable-data-fhir): 가상 진료가 의존하는 홈 리딩
- [개인 건강 기록 앱 구축 방법](https://developers.anpheros.com/ko/guides/personal-health-record-app)
- [의료 데이터 출처 설명](https://developers.anpheros.com/ko/guides/medical-data-provenance)
- [FHIR을 사용한 원격 환자 모니터링](https://developers.anpheros.com/ko/guides/remote-patient-monitoring-fhir)
- [헬스케어 앱 및 AI 에이전트를 위한 약물 데이터](https://developers.anpheros.com/ko/guides/medication-data-ai-agents)
