# Wirtualna opieka i lekarze AI: potrzebne dane

> Wizyta wirtualna jako dane FHIR R4 — rezerwacja, przyjęcie, odczyty domowe, wizyta, kontrola — i jak asystent AI otrzymuje zatwierdzony, oznaczony źródłowo widok. Testowany przepływ.

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

**Klinika wirtualna — niezależnie od tego, czy lekarzem jest osoba na wideo, czy asystent AI, który jej pomaga — jest tak dobra, jak dane pacjenta, które może zobaczyć przed, w trakcie i po wizycie: ostatnie pomiary, aktywne problemy i leki, to, co zgłosił pacjent, oraz zapis tego, co zostało postanowione.** Rozmowa wideo to łatwa część. Ta strona mapuje wizytę wirtualną na zasoby HL7 FHIR R4, pokazuje, jak asystentowi AI można nadać zatwierdzony, oznaczony źródłowo widok rekordu, i uruchamia cały przepływ na Anpheros Platform, w tym jedną ograniczenie, które znaleźliśmy podczas tego procesu.

## Wirtualna wizyta jako dane

| Faza | Co się dzieje | Zasoby FHIR R4 |
|---|---|---|
| Rezerwacja | Pacjent wybiera termin wizyty wideo | `Appointment` |
| Przyjęcie | Pacjent odpowiada na pytania i zgłasza objawy | `QuestionnaireResponse`, `Observation` (kategoria `symptom`) |
| Dane domowe | Odczyty z ciśnieniomierza, wagi lub zegarka od ostatniej wizyty | `Observation` (parametry życiowe, aktywność), oznaczone jako dane urządzenia |
| Przygotowanie | Lekarz lub asystent AI przegląda dokumentację | read: `Condition`, `MedicationStatement`, `AllergyIntolerance`, `Observation`, `DocumentReference` |
| Wizyta | Kto, kiedy, dlaczego i że była wirtualna | `Encounter` z `class` = `VR` (wirtualna) |
| Wynik | Diagnoza, zmiany w lekach, zlecone badania, dalsze postępowanie | `Condition`, `MedicationStatement`, `ServiceRequest`, `CarePlan`, `Appointment` |
| Ślad | Kto napisał każdy element, z jakiego systemu | `Provenance` przy każdym zapisie |

Dwie rzeczy odróżniają to od wizyty osobistej. Lekarz bardziej polega na danych wyprodukowanych przez pacjenta (odczyty domowe, kwestionariusze), więc dokumentacja musi pokazywać, które wartości pochodzą z urządzenia lub od pacjenta, a które od lekarza. A etap przygotowania to miejsce, gdzie AI jest dziś najbardziej użyteczna — podsumowując miesięczne odczyty do tego, co się zmieniło — więc dokumentacja musi być czytelna dla oprogramowania za zgodą pacjenta.

## Gdzie sztuczna inteligencja pasuje i co powinna widzieć

| Rola AI | Dane, których potrzebuje | Danych, których nie powinna otrzymywać |
|---|---|---|
| Asystent przyjmowania pacjenta (rozmawia z pacjentem przed wizytą) | Aktywne problemy i przyjmowane leki, aby zadawać trafne pytania | Notatki i dokumenty, których nie potrzebuje |
| Podsumowanie przed wizytą dla lekarza | Trendy ostatnich pomiarów, nowe objawy, zmiany w lekach, ostatnie wyniki | Surowe dane z wielu lat historii wykraczające poza zadane pytanie |
| Szkic dokumentacji po wizycie | Wizyta, omówione kwestie, wynik | Dane innych pacjentów, nigdy |
| Kontrole po wizycie | Plan opieki i pomiary, o które prosi | Cokolwiek spoza planu |

Ogólne zasady: każdej roli AI należy zapewnić **najmniejszy fragment danych**, który odpowiada na jej pytanie, **oznaczać źródło** każdej wartości, aby model i lekarz mogli porównać odczyt domowy z wynikiem laboratoryjnym, **rejestrować każdy odczyt**, aby pacjent mógł zobaczyć, co widziała sztuczna inteligencja, i **zachować człowieka w pętli** w przypadku wszelkich działań diagnostycznych. Sztuczna inteligencja diagnozująca lub zalecająca leczenie może być regulowana jako oprogramowanie wyrobu medycznego (przez FDA w Stanach Zjednoczonych; w ramach Rozporządzenia o Wyrobach Medycznych i Aktu o Sztucznej Inteligencji w Unii Europejskiej); platforma danych tego nie zmienia.

## Przepływ w Anpheros, krok po kroku

Poniższy kod wykorzystuje Anpheros TypeScript SDK i został uruchomiony na lokalnej instancji platformy z kluczem sandbox. Pacjent ma już trzy odczyty ciśnienia krwi z domu uzyskane za pomocą mankietu (`author_type: device`), nadciśnienie jako schorzenie i enalapryl jako lek.

```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' });
```

Kontekst zwrócony w kroku 2 (487 z 700 tokenów; to jest to, co umieściłbyś przed modelem lub pokazał lekarzowi):

```
## 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]
```

Każda linia niesie swoje źródło — `[device]` dla mankietu, `[patient]` dla objawu — a odczyt jest rejestrowany w dzienniku dostępu. Pochodzenie wizyty pokazuje `practitioner` z `video-clinic`, a oś czasu pacjenta wygląda teraz następująco: wirtualna wizyta, wizyta wideo, zawroty głowy, trzy odczyty ciśnienia krwi, lek i schorzenie.

**Co znaleźliśmy podczas uruchamiania:** API kontekstu nie zawiera dziś odpowiedzi `QuestionnaireResponse`. Pierwsze uruchomienie, z zawrotami głowy tylko w kwestionariuszu, wygenerowało podsumowanie bez ich wzmianki. Zapisuj objawy zgłaszane przez pacjenta jako `Observation` o kategorii `symptom` (jak powyżej) lub przekaż kwestionariusz swojemu modelowi samodzielnie.

## Udzielanie agentowi AI dostępu za zgodą

Gdy AI działa w aplikacji innej osoby, nie otrzymuje klucza projektu. Aplikacja prosi pacjenta o zgodę za pośrednictwem OAuth 2.1 i SMART on FHIR, z zakresami uprawnień tak wąskimi jak `patient/Observation.rs?category=vital-signs`, na określony czas, z możliwością cofnięcia w dowolnym momencie. Agent może również uzyskać dostęp do rekordu poprzez serwer Anpheros MCP, tylko do odczytu, chyba że pacjent zezwoli na więcej. Zobacz [Jak udzielić agentowi AI dostępu do dokumentacji medycznej](https://developers.anpheros.com/pl/guides/ai-agent-access-medical-records) i [Serwer FHIR MCP](https://developers.anpheros.com/pl/guides/mcp).

## Co Anpheros robi, a czego nie robi

Anpheros zapewnia rejestr i mechanizmy kontroli wokół niego: przechowywanie zasobów FHIR R4 dla każdego zasobu z powyższej tabeli, zgody na aplikację, dane o pochodzeniu przy każdym zapisie, dziennik dostępu widoczny dla pacjenta oraz API kontekstowe, które przekształca rejestr w budżetowane, oznaczone podsumowanie dla modelu.

Nie zapewnia wideorozmów, ekranów planowania, e-recept, rozliczeń ani wsparcia decyzji klinicznych, a także nie hostuje ani nie wybiera modeli AI. Wirtualna klinika zbudowana na jego podstawie zapewnia te elementy oraz odpowiedzialność kliniczną.

## Często zadawane pytania

### Czym jest wirtualny lekarz?
Lekarz, który przyjmuje pacjentów zdalnie, za pośrednictwem wideo, telefonu lub wiadomości. Termin ten jest również używany w odniesieniu do asystentów AI, którzy rozmawiają z pacjentami; w praktyce asystenci ci wspierają lekarza, a nie go zastępują, i opierają się na tych samych danych pacjenta.

### Który zasób FHIR oznacza wizytę jako wirtualną?
`Encounter.class` z kodem v3 ActCode `VR` ("virtual"). Rezerwacja to `Appointment`; przyjęcie to `QuestionnaireResponse`, a w przypadku objawów, `Observation`.

### Jakie dane są potrzebne asystentowi medycznemu AI?
Tylko te, które są wymagane do wykonania jego zadania: dla podsumowania przed wizytą, ostatnich trendów pomiarów, nowych objawów, aktywnych problemów i leków oraz ostatnich wyników — każdy opatrzony etykietą źródła i czasu. Należy dostarczyć mu ograniczony kontekst, a nie cały rekord.

### Jak oddzielić dane zgłoszone przez pacjenta i dane z urządzeń od danych klinicznych?
Należy zapisać, kto utworzył każdy wpis. W Anpheros każde zapisanie zawiera typ autora — pacjent, urządzenie, praktykujący lekarz, import lub AI — a kontekst podany modelowi oznacza każdą linię tym typem.

### Czy asystent AI może odczytać rekord pacjenta bez jego zgody?
Nie w Anpheros. Aplikacja inna niż ta, która utworzyła rekord, wymaga zgody OAuth pacjenta, ograniczonej do wybranych przez niego zakresów i okresu, a każde odczytanie pojawia się w jego dzienniku dostępu.

## Powiązane

- [Aplikacje AI w służbie zdrowia](https://developers.anpheros.com/pl/guides/ai-healthcare)
- [Jak zbudować aplikację AI w służbie zdrowia z backendem FHIR](https://developers.anpheros.com/pl/guides/build-ai-healthcare-app)
- [Jak zbudować medyczny chatbot z danymi ustrukturyzowanymi](https://developers.anpheros.com/pl/guides/ai-medical-assistant)
- [Dane z urządzeń noszonych w FHIR](https://developers.anpheros.com/pl/guides/wearable-data-fhir): odczyty domowe, na których opiera się wirtualna wizyta
- [Jak zbudować aplikację osobistej dokumentacji medycznej](https://developers.anpheros.com/pl/guides/personal-health-record-app)
- [Wyjaśnienie pochodzenia danych medycznych](https://developers.anpheros.com/pl/guides/medical-data-provenance)
- [Zdalne monitorowanie pacjentów z FHIR](https://developers.anpheros.com/pl/guides/remote-patient-monitoring-fhir)
- [Dane dotyczące leków dla aplikacji medycznych i agentów AI](https://developers.anpheros.com/pl/guides/medication-data-ai-agents)
