# Assistenza virtuale e medici IA: i dati di cui hanno bisogno

> Una visita virtuale come dati FHIR R4 — prenotazione, anamnesi, letture domiciliari, visita, follow-up — e come un assistente IA ottiene una vista con consenso e etichettata per origine. Flusso testato.

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

**Una clinica virtuale — sia che il medico sia una persona in video o un assistente IA che lo aiuti — è valida quanto i dati del paziente che può visualizzare prima, durante e dopo la visita: misurazioni recenti, problemi attivi e farmaci, ciò che il paziente ha riferito e un registro di ciò che è stato deciso.** La videochiamata è la parte facile. Questa pagina mappa una visita virtuale alle risorse HL7 FHIR R4, mostra come un assistente IA può ricevere una vista con consenso ed etichettata per origine del record, ed esegue l'intero flusso sulla Piattaforma Anpheros, inclusa una limitazione riscontrata durante il processo.

## Una visita virtuale come dati

| Fase | Cosa succede | Risorse FHIR R4 |
|---|---|---|
| Prenotazione | Il paziente sceglie un orario per una visita video | `Appointment` |
| Intake | Il paziente risponde a domande e segnala sintomi | `QuestionnaireResponse`, `Observation` (categoria `symptom`) |
| Dati da casa | Letture da un misuratore di pressione sanguigna, bilancia o orologio dall'ultima visita | `Observation` (segni vitali, attività), contrassegnati come dati del dispositivo |
| Preparazione | Il medico, o un assistente AI per lui, esamina la cartella | read: `Condition`, `MedicationStatement`, `AllergyIntolerance`, `Observation`, `DocumentReference` |
| La visita | Chi, quando, perché e che è stata virtuale | `Encounter` con `class` = `VR` (virtuale) |
| Esito | Diagnosi, modifiche ai farmaci, esami prescritti, follow-up | `Condition`, `MedicationStatement`, `ServiceRequest`, `CarePlan`, `Appointment` |
| Traccia | Chi ha scritto ogni elemento, da quale sistema | `Provenance` su ogni scrittura |

Due cose rendono questa visita diversa da una visita di persona. Il medico dipende maggiormente dai dati prodotti dal paziente (letture da casa, questionari), quindi la cartella deve mostrare quali valori provengono da un dispositivo o dal paziente e quali dal medico. E la fase di preparazione è dove l'AI è più utile oggi — riassumendo mesi di letture in ciò che è cambiato — quindi la cartella deve essere leggibile dal software con il consenso del paziente.

## Dove si inserisce l'IA e cosa dovrebbe vedere

| Ruolo dell'IA | Dati necessari | Dati da non fornire |
|---|---|---|
| Assistente all'accettazione (parla con il paziente prima della visita) | Problemi attivi e farmaci, per porre domande pertinenti | Note e documenti non necessari |
| Riepilogo pre-visita per il clinico | Tendenze delle misurazioni recenti, nuovi sintomi, modifiche ai farmaci, risultati recenti | Anni di cronologia grezza oltre la domanda |
| Bozza di documentazione dopo la visita | L'incontro, ciò che è stato discusso, l'esito | Dati di altri pazienti, mai |
| Check-in di follow-up | Il piano di cura e le misurazioni richieste | Qualsiasi cosa al di fuori del piano |

Le regole comuni: fornire a ciascun ruolo dell'IA la **fetta più piccola** che risponde alla sua domanda, **etichettare la fonte** di ogni valore in modo che il modello e il clinico possano valutare una lettura domestica rispetto a un risultato di laboratorio, **registrare ogni lettura** in modo che il paziente possa vedere cosa ha visto un'IA e mantenere un **essere umano nel ciclo** per qualsiasi cosa diagnostica. L'IA che diagnostica o raccomanda trattamenti può essere regolamentata come software di dispositivo medico (dalla FDA negli Stati Uniti; ai sensi del Medical Device Regulation e dell'AI Act nell'Unione Europea); una piattaforma dati non cambia questo fatto.

## Il flusso su Anpheros, passo dopo passo

Il codice seguente utilizza l'SDK TypeScript di Anpheros ed è stato eseguito su un'istanza locale della piattaforma con una chiave sandbox. Il paziente ha già tre letture della pressione sanguigna domiciliare da un misuratore (`author_type: device`), ipertensione come condizione e enalapril come farmaco.

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

Il contesto restituito nel passaggio 2 (487 dei 700 token; questo è ciò che si fornirebbe a un modello o si mostrerebbe al clinico):

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

Ogni riga porta la sua origine — `[device]` per il misuratore, `[patient]` per il sintomo — e la lettura viene registrata nel log di accesso. La provenienza dell'incontro mostra `practitioner` da `video-clinic`, e la timeline del paziente ora recita: incontro virtuale, l'appuntamento di video-visita, le vertigini, le tre letture della pressione sanguigna, il farmaco e la condizione.

**Cosa abbiamo scoperto durante l'esecuzione:** l'API di contesto non include oggi risposte `QuestionnaireResponse`. La prima esecuzione, con le vertigini solo nel questionario, ha prodotto un riassunto senza menzionarle. Registrare i sintomi che il paziente riferisce come `Observation` con categoria `symptom` (come sopra), o passare il questionario al proprio modello autonomamente.

## Concedere l'accesso a un agente AI con consenso

Quando l'AI viene eseguita nell'applicazione di qualcun altro, non ottiene la chiave del tuo progetto. L'applicazione richiede il consenso del paziente tramite OAuth 2.1 e SMART on FHIR, con ambiti (scopes) ristretti come `patient/Observation.rs?category=vital-signs`, per un periodo fisso, revocabile in qualsiasi momento. Un agente può anche accedere al record tramite il server Anpheros MCP, in sola lettura a meno che il paziente non consenta diversamente. Vedi [Come concedere a un agente AI l'accesso alle cartelle cliniche](https://developers.anpheros.com/it/guides/ai-agent-access-medical-records) e il [server FHIR MCP](https://developers.anpheros.com/it/guides/mcp).

## Cosa fa e cosa non fa Anpheros

Anpheros fornisce il record e i controlli attorno ad esso: storage FHIR R4 per ogni risorsa nella tabella sopra, consenso per applicazione, provenienza su ogni scrittura, un log di accesso visibile al paziente e l'API di contesto che trasforma il record in un riepilogo budgettizzato ed etichettato per un modello.

Non fornisce videochiamate, schermate di pianificazione, prescrizione elettronica, fatturazione o supporto decisionale clinico, e non ospita né sceglie modelli AI. Una clinica virtuale costruita su di esso porta queste funzionalità e la responsabilità clinica, di per sé.

## Domande frequenti

### Cos'è un medico virtuale?
Un clinico che visita i pazienti da remoto, tramite video, telefono o messaggistica. Il termine viene utilizzato anche per gli assistenti AI che parlano con i pazienti; in pratica, questi assistono un clinico umano piuttosto che sostituirlo, e dipendono dagli stessi dati del paziente.

### Quale risorsa FHIR contrassegna una visita come virtuale?
`Encounter.class` con il v3 ActCode `VR` ("virtual"). La prenotazione è un `Appointment`; l'accettazione è un `QuestionnaireResponse` e, per i sintomi, `Observation`s.

### Di quali dati ha bisogno un assistente medico AI?
Solo di ciò che il suo compito richiede: per un riepilogo pre-visita, tendenze recenti delle misurazioni, nuovi sintomi, problemi attivi e farmaci, e risultati recenti — ognuno etichettato con la sua origine e il suo tempo. Forniscigli un contesto limitato piuttosto che l'intero record.

### Come distinguo i dati segnalati dal paziente e i dati del dispositivo dai dati clinici?
Registra chi ha scritto ogni elemento. In Anpheros ogni scrittura porta un tipo di autore — paziente, dispositivo, professionista, importazione o AI — e il contesto fornito a un modello etichetta ogni riga con esso.

### Un assistente AI può leggere il record di un paziente senza il suo consenso?
Non su Anpheros. Un'applicazione diversa da quella che ha creato il record necessita del consenso OAuth del paziente, limitato agli ambiti e al periodo da lui scelti, e ogni lettura appare nel suo registro di accesso.

## Correlati

- [Applicazioni sanitarie AI](https://developers.anpheros.com/it/guides/ai-healthcare)
- [Come creare un'app sanitaria AI con un backend FHIR](https://developers.anpheros.com/it/guides/build-ai-healthcare-app)
- [Come creare un chatbot medico con dati strutturati](https://developers.anpheros.com/it/guides/ai-medical-assistant)
- [Dati indossabili in FHIR](https://developers.anpheros.com/it/guides/wearable-data-fhir): le letture domestiche su cui si basa una visita virtuale
- [Come creare un'app per cartelle cliniche personali](https://developers.anpheros.com/it/guides/personal-health-record-app)
- [Provenienza dei dati medici spiegata](https://developers.anpheros.com/it/guides/medical-data-provenance)
- [Monitoraggio remoto dei pazienti con FHIR](https://developers.anpheros.com/it/guides/remote-patient-monitoring-fhir)
- [Dati sui farmaci per app sanitarie e agenti AI](https://developers.anpheros.com/it/guides/medication-data-ai-agents)
