Gli archivi FHIR all'interno dell'API Cloud Healthcare supportano più versioni di Fast Healthcare Interoperability Resources (FHIR) specifica pubblicata da Health Level 7 International (HL7).
L'API v1 supporta le seguenti versioni:
- R5 versione 5.0.0 (Release 5)
- R4 versione 4.0.1 (Release 4)
- STU3 versione 3.0.1 (Release 3 - Standard for Trial Use)
- DSTU2 versione 1.0.2 (Draft Standard for Trial Use)
Quando crei un archivio FHIR, devi specificare la versione FHIR come parametro del metodo fhirStores.create. Non puoi modificare la versione FHIR dopo la creazione dell'archivio.
L'interfaccia API di ogni archivio è conforme alla versione FHIR di quell'archivio. Ad esempio, l'interazione conformance di DSTU2 è diversa dall'interazione capabilities di STU3, ma entrambe condividono il percorso REST /fhir/metadata, quindi questo percorso restituisce risposte diverse in base alla versione FHIR del datastore.
Le funzionalità aggiunte nelle versioni FHIR successive sono disponibili negli archivi che utilizzano versioni FHIR precedenti se non creano incompatibilità. Ad esempio, l'interazione patch è disponibile in un archivio DSTU2 anche se è definita solo a partire da STU3.
Dettagli delle funzionalità supportate nell'API v1 per versione FHIR
R5
La dichiarazione di capacità del server indica le parti della specifica che sono supportate.
- Archiviazione e recupero di tutte le risorse R5, incluso il supporto per gli elementi di estensione. L'API accetta, archivia e restituisce le estensioni su qualsiasi elemento di dati.
- Sono supportati tutti i metodi dell'
API RESTful
che utilizzano il tipo di contenuti JSON, ad eccezione di:
- Le interazioni della cronologia a livello di tipo e di sistema che recuperano la cronologia di più risorse non sono supportate. La cronologia delle risorse può essere recuperata solo per una risorsa alla volta.
- L' interazione batch/transazione non supporta le operazioni di ricerca all'interno del bundle.
- Sono supportate la convalida e l'applicazione dei profili.
- I parametri di ricerca definiti dall'utente, incluse le ricerche sugli elementi di estensione, sono supportati nell'API v1beta1.
Sono supportate tutte le funzionalità di ricerca, ad eccezione di:
- I parametri di ricerca
Group-characteristic-value,Location-near,Location-contains,DocumentReference-relationship,Bundle-composition,Bundle-message,Observation-component-value-canonical,Observation-value-canonical,QuestionnaireResponse-item-subjecteComposition-section-textnon sono supportati. - I parametri di ricerca che eseguono la corrispondenza fonetica non sono supportati.
- I parametri dei risultati di ricerca
_contained,_containedType,_summary=count, e_summary=truenon sono supportati. - Il parametro di ricerca speciale
_contentcerca in tutti i campi della risorsa a cui fanno riferimento i parametri di ricerca. Esclude i campi in cui non è possibile eseguire ricerche. Non supportaANDesplicito (i termini vengono combinati implicitamente conAND) o le parentesi. - I parametri di ricerca speciali
Resource-query,Resource-filter,Resource-language,Resource-ineResource-listnon sono supportati. - Il parametro
_sort, se utilizzato nei campi con elementi ripetuti, esegue l'ordinamento in base al primo elemento; questo comportamento è diverso dalla specifica._sortè supportato per i parametri di ricerca di tiponumber,data,string,tokenequantity. - I modificatori di ricerca di token
:of-type,:code-text,text-advanced, e:texte i modificatori di ricerca di riferimento:identifier,not-in,text-advanced, e:code-textnon sono supportati. Il modificatorecontainsper le ricerche di URI non è supportato. - Le ricerche di riferimenti canonici non sono supportate. I riferimenti canonici vengono trattati come riferimenti normali. I modificatori
aboveebelownon sono supportati. - Quando utilizzi il parametro
_type, puoi utilizzare solo i parametri di ricerca comuni (a tutte le risorse) e non l'intersezione dei tipi di risorse specificati. È supportato il seguente sottoinsieme di parametri di ricerca compositi:
Observation-code-value-conceptObservation-code-value-dateObservation-code-value-quantityObservation-code-value-stringObservation-combo-code-value-conceptObservation-combo-code-value-quantityObservation-component-code-value-conceptObservation-component-code-value-quantity
I restanti parametri di ricerca compositi non sono supportati.
La ricerca che utilizza il metodo
POSTnon accetta i parametriapplication/x-www-form-urlencodednel corpo della richiesta.Il carattere jolly (
*) è supportato per_include, ma non per_revinclude.
- I parametri di ricerca
Le aree non supportate includono:
- Il tipo di contenuti XML non è supportato.
- L'operazione di patch non supporta XML Patch o
FHIRPathPatch. - Le richieste HTTP HEAD non sono supportate.
Alcuni aspetti dell'API si sono discostati dalla specifica FHIR a causa della compatibilità con le versioni precedenti di FHIR. Questi problemi sono stati risolti in R5:
- Quando la convalida dei campi obbligatori è abilitata, i campi
nulle i campi vuoti (ad esempio,{}) vengono ora rifiutati. - UpperCamelCase non è più supportato per i campi delle risorse in JSON.
- I riferimenti
urn:uuidnon sono consentiti nei bundle batch, indipendentemente dal fatto che l'integrità referenziale sia disabilitata o meno. I bundle batch non riscrivono mai i riferimenti. - I bundle di transazioni sono più rigorosi nella riscrittura dei riferimenti rispetto a prima e generano errori per FullUrl non validi nelle voci, come definito dalla specifica: https://www.hl7.org/fhir/bundle.html#references.
- I riferimenti che sembrano riferimenti alle risorse devono avere ID validi.
- La convalida del profilo di base è abilitata per le richieste PATCH.
R4
La dichiarazione di capacità del server indica le parti della specifica che sono supportate.
- Archiviazione e recupero di tutte le risorse R4, incluso il supporto per gli elementi di estensione. L'API accetta, archivia e restituisce le estensioni su qualsiasi elemento di dati.
- Sono supportati tutti i metodi dell'
API RESTful
che utilizzano il tipo di contenuti JSON, ad eccezione di:
- Le interazioni della cronologia a livello di tipo e di sistema che recuperano la cronologia di più risorse non sono supportate. La cronologia delle risorse può essere recuperata solo per una risorsa alla volta.
- L' interazione batch/transazione non supporta le operazioni di ricerca all'interno del bundle.
- Sono supportate la convalida e l'applicazione dei profili.
- I parametri di ricerca definiti dall'utente, incluse le ricerche sugli elementi di estensione, sono supportati nell'API v1beta1.
Sono supportate tutte le funzionalità di ricerca, ad eccezione di:
- I parametri di ricerca
Group-characteristic-value,Location-near,Bundle-compositioneBundle-messagenon sono supportati. - I parametri di ricerca che eseguono la corrispondenza fonetica non sono supportati.
- I parametri dei risultati di ricerca
_contained,_containedType,_summary=count, e_summary=truenon sono supportati. - Il parametro di ricerca speciale
_contentcerca in tutti i campi della risorsa a cui fanno riferimento i parametri di ricerca. Esclude i campi in cui non è possibile eseguire ricerche. Non supportaANDesplicito (i termini vengono combinati implicitamente conAND) o le parentesi. - I parametri di ricerca speciali
_query,_filtere_listnon sono supportati. - Il parametro
_sort, se utilizzato nei campi con elementi ripetuti, esegue l'ordinamento in base al primo elemento; questo comportamento è diverso dalla specifica._sortè supportato per i parametri di ricerca di tiponumber,data,string,tokenequantity. - Il modificatore di ricerca di token
:of-typee il modificatore di ricerca di riferimento:identifiernon sono supportati. - Le ricerche di riferimenti canonici non sono supportate. I riferimenti canonici vengono trattati come riferimenti normali.
- Quando utilizzi il parametro
_type, puoi utilizzare solo i parametri di ricerca comuni (a tutte le risorse) e non l'intersezione dei tipi di risorse specificati. È supportato il seguente sottoinsieme di parametri di ricerca compositi:
DocumentReference-relationshipObservation-code-value-conceptObservation-code-value-dateObservation-code-value-quantityObservation-code-value-stringObservation-combo-code-value-conceptObservation-combo-code-value-quantityObservation-component-code-value-conceptObservation-component-code-value-quantity
I restanti parametri di ricerca compositi non sono supportati.
La ricerca che utilizza il metodo
POSTnon accetta i parametriapplication/x-www-form-urlencodednel corpo della richiesta.Il carattere jolly (
*) è supportato per_include, ma non per_revinclude.
- I parametri di ricerca
Le aree non supportate includono:
- La maggior parte delle operazioni estese non sono implementate.
- Il tipo di contenuti XML non è supportato.
- L'operazione di patch non supporta XML Patch o
FHIRPathPatch. - Le richieste HTTP HEAD non sono supportate.
Aree in cui l'API si discosta dalla specifica FHIR per consentire la compatibilità con le versioni precedenti:
nullè accettato per i campi obbligatori- Un codice vuoto è accettato per i campi obbligatori
- I riferimenti
urn:uuidsono consentiti nei bundle batch quando l'integrità referenziale è disabilitata.
STU3
La dichiarazione di capacità del server indica le parti della specifica che sono supportate.
- Sono supportate l'archiviazione e il recupero di tutte le risorse STU3, incluso il supporto per gli elementi di estensione. L'API accetta, archivia e restituisce le estensioni su qualsiasi elemento di dati.
Sono supportati tutti i metodi dell' API RESTful che utilizzano il tipo di contenuti JSON, ad eccezione di:
- Le interazioni della cronologia a livello di tipo e di sistema che recuperano la cronologia di più risorse non sono supportate. La cronologia delle risorse può essere recuperata solo per una risorsa alla volta.
- L' interazione batch/transazione non supporta le operazioni di ricerca all'interno del bundle.
I parametri di ricerca definiti dall'utente, incluse le ricerche sugli elementi di estensione, sono supportati nell'API v1beta1.
Sono supportate tutte le funzionalità di ricerca, ad eccezione di:
- I parametri di ricerca
Group-characteristic-value,Sequence-coordinate,Location-near,Location-near-distance,Bundle-compositioneBundle-messagenon sono supportati. - I parametri di ricerca che eseguono la corrispondenza fonetica non sono supportati.
- I parametri dei risultati di ricerca
_contained,_containedType,_summary=count, e_summary=truenon sono supportati. - Il parametro di ricerca speciale
_contentcerca in tutti i campi della risorsa a cui fanno riferimento i parametri di ricerca. Esclude i campi in cui non è possibile eseguire ricerche. Non supportaANDesplicito (i termini vengono combinati implicitamente con AND) o le parentesi. - I parametri di ricerca speciali
_query,_filtere_listnon sono supportati. - Il parametro
_sort, se utilizzato nei campi con elementi ripetuti, esegue l'ordinamento in base al primo elemento; questo comportamento è diverso dalla specifica._sortè supportato per i parametri di ricerca di tiponumber,data,string,tokenequantity. - La ricerca che utilizza il metodo
POSTnon accetta i parametriapplication/x-www-form-urlencodednel corpo della richiesta. - Il carattere jolly (
*) è supportato per_include, ma non per_revinclude.
- I parametri di ricerca
Le aree non supportate includono:
- La maggior parte delle operazioni estese non sono implementate.
- Il tipo di contenuti XML non è supportato.
- L'operazione di patch non supporta XML Patch o FHIRPath Patch.
Aree in cui l'API si discosta dalla specifica FHIR per consentire la compatibilità con le versioni precedenti:
nullè accettato per i campi obbligatori- Un codice vuoto è accettato per i campi obbligatori
- I riferimenti
urn:uuidsono consentiti nei bundle batch quando l'integrità referenziale è disabilitata.
DSTU2
La dichiarazione di conformità del server indica le parti della specifica che sono supportate.
- Sono supportate l'archiviazione e il recupero di tutte le risorse DSTU2, incluso il supporto per gli elementi di estensione. L'API accetta, archivia e restituisce le estensioni su qualsiasi elemento di dati.
- Sono supportati tutti i metodi dell'
API RESTful
che utilizzano il tipo di contenuti JSON, ad eccezione di:
- Le interazioni della cronologia a livello di tipo e di sistema che recuperano la cronologia di più risorse non sono supportate. La cronologia delle risorse può essere recuperata solo per una risorsa alla volta.
- L' interazione batch/transazione non supporta le operazioni di ricerca all'interno del bundle.
- Sono supportate la convalida e l'applicazione dei profili.
- Sono supportate tutte le
funzionalità di ricerca, ad eccezione di:
- I parametri di ricerca
Group-characteristic-value,Location-near,Location-near-distance,Bundle-composition,Bundle-message,Coverage-dependenteCoverage-sequencenon sono supportati. - I parametri di ricerca definiti sugli elementi di estensione non sono supportati.
- I parametri di ricerca che eseguono la corrispondenza fonetica non sono supportati.
- I parametri dei risultati di ricerca
_contained,_containedType,_summary=count, e_summary=truenon sono supportati. - Il parametro di ricerca speciale
_contentcerca in tutti i campi della risorsa a cui fanno riferimento i parametri di ricerca. Esclude i campi in cui non è possibile eseguire ricerche. Non supportaANDesplicito (i termini vengono combinati implicitamente con AND) o le parentesi. - I parametri di ricerca speciali
_query,_filtere_listnon sono supportati. - Il parametro
_sort, se utilizzato nei campi con elementi ripetuti, esegue l'ordinamento in base al primo elemento; questo comportamento è diverso dalla specifica._sortè supportato per i parametri di ricerca di tiponumber,data,string,tokenequantity. - La ricerca che utilizza il metodo
POSTnon accetta i parametriapplication/x-www-form-urlencodednel corpo della richiesta. - Il carattere jolly (
*) è supportato per_include, ma non per_revinclude.
- I parametri di ricerca
Le aree non supportate includono:
- La maggior parte delle operazioni estese non sono implementate.
- I parametri di ricerca definiti dall'utente non sono supportati per DSTU2.
- Il tipo di contenuti XML non è supportato.
Aree in cui l'API si discosta dalla specifica FHIR per consentire la compatibilità con le versioni precedenti:
nullè accettato per i campi obbligatori- Un codice vuoto è accettato per i campi obbligatori
- I riferimenti
urn:uuidsono consentiti nei bundle batch quando l'integrità referenziale è disabilitata.
Dettagli delle operazioni al di fuori della specifica pubblicata
- La configurazione degli archivi FHIR include un'opzione per notificare un argomento Pub/Sub specificato dall'utente per tutte le modifiche apportate alle risorse nell'archivio. Questo meccanismo di notifica è comune a tutti gli archivi dell'API Cloud Healthcare e non è inteso come sostitutivo della funzionalità di sottoscrizione FHIR (DSTU2, STU3, R4, e R5)) funzionalità.
- L'operazione di esportazione degli archivi FHIR in destinazioni Cloud Storage offre solo la possibilità di esportare in blocco l'intero archivio. Non è un'implementazione della bozza della specifica FHIR Bulk Data.
- L'operazione di importazione degli archivi FHIR non è definita nella specifica.
- L'operazione
Resource-purgeche rimuove le versioni precedenti delle risorse non è definita nella specifica. Questa API potrebbe cambiare in futuro qualora l'elaborazione degli standard o altre implementazioni FHIR portino all'uso di un altro metodo API per questo caso di utilizzo. - L'endpoint
ExecuteBundleaccetta i bundlehistoryin v1beta1 per creare versioni precedenti delle risorse.