Per definizione, FHIR ti chiede di preservare la vulnerabilità XSS dei dati (memorizza come codice, mostra come codice). XSS richiede che i dati vengano visualizzati agli utenti, cosa che potrebbe essere prevenuta con la convalida dell'output. Accetta l'input, memorizza come JSON, filtra quando visualizza i dati HTML come codice HTML. A seconda dei sistemi "output", questo potrebbe essere molto più semplice (dipende dalle necessità del sistema).
Filtrare specificamente codice errato (javascript dannoso, collegamenti ecc.) sarà molto difficile. Ci sono molti modi per nascondere il codice errato attraverso l'offuscamento.
Quello che potresti fare, a seconda dei dettagli delle specifiche FHIR, è di autorizzare un codice buono / accettabile. Se la specifica FHIR è strettamente definita, la whitelisting dovrebbe essere facile da eseguire. Se la specifica non è strettamente definita, potrebbe essere impossibile bloccare tutti i tentativi di archiviazione XSS.