Integrità referenziale FHIR

Questa pagina spiega il concetto di integrità referenziale in relazione a all'interno di un datastore FHIR nell'API Cloud Healthcare.

Il datastore FHIR applica l'integrità referenziale sui riferimenti ad altre risorse all'interno dello stesso negozio:

  • Durante la creazione, l'aggiornamento o l'applicazione di patch a una risorsa, l'operazione non riuscirà se le della risorsa contiene un riferimento a una risorsa o a una sua versione che esistono.
  • Quando si elimina una risorsa, l'operazione non riuscirà se nell'archivio sono presenti altre risorse che fare riferimento a quella risorsa.

L'integrità referenziale può essere disattivata impostando disableReferentialIntegrity al momento della creazione dello store.

Esclusioni e limitazioni

La specifica FHIR consente varie forme di riferimenti, alcuni dei quali non sono coperti dall'integrità referenziale:

  • Un riferimento esterno specificato da un URL che non corrisponde all'URL di base del datastore FHIR.
  • Un riferimento logico specificato da un identificatore aziendale.
  • Un riferimento contenente solo una stringa di visualizzazione leggibile.
  • Riferimenti all'interno di FHIR estensioni sono soggette soltanto alle integrità referenziale se complexDataTypeReferenceParsing è impostato su ENABLED. Questo è il valore predefinito per i nuovi datastore FHIR.

Alcuni metodi dell'API possono causare la violazione dell'integrità referenziale in alcune condizioni:

  • FHIR consente ai riferimenti di puntare a una versione specifica della cronologia di una risorsa utilizzando il modulo [resource type]/[resource ID]/_history/[version ID]. A queste si applica l'integrità referenziale riferimenti quando vengono creati o aggiornati, ma quando si utilizza il Resource-purge per rimuovere le versioni storiche di una risorsa, i riferimenti in entrata non vengono selezionati.
  • Il file FHIR import non applica l'integrità referenziale. Il metodo può essere utilizzato nei casi in cui l'integrità referenziale non è richiesta o se l'input è noto per soddisfare i requisiti dei dati. Nel secondo caso, i riferimenti all'interno del datastore FHIR raggiungeranno e coerenza dopo l'importazione di ogni risorsa.
  • La deidentify può potenzialmente creare un datastore FHIR in uno stato che non soddisfa l'integrità referenziale temporaneamente durante l'operazione o definitivamente se vengono utilizzati i filtri per selezionare un sottoinsieme di Google Cloud.

Se l'integrità è stata applicata, ma è stata violata da uno dei casi precedenti, causano il rifiuto degli aggiornamenti delle risorse su una risorsa che contiene un riferimento non valido, a meno che l'aggiornamento corregge o rimuove tutti i riferimenti non validi. Uno stato del genere potrebbe anche creare difficoltà lo spazio di archiviazione che presuppone l'integrità.

Risorse contenute

La specifica FHIR contiene un vincolo che ogni risorsa contenuta deve essere a cui viene fatto riferimento in qualche punto della risorsa che la contiene (inclusi i riferimenti risorse contenute) e ogni riferimento a una risorsa contenuta deve essere valido. Questo vincolo viene applicata separatamente dall'integrità referenziale e non può essere disabilitata come definito nelle FHIRPath invarianti su ogni singola risorsa.