Gli archivi FHIR all'interno dell'API Cloud Healthcare supportano più versioni della specifica Fast Healthcare Interoperability Resources (FHIR) 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 per uso di prova)
- DSTU2 versione 1.0.2 (Draft Standard for Trial Use)
Quando crei un archivio FHIR, specifichi la versione FHIR come parametro per il metodo fhirStores.create. Non puoi modificare la versione FHIR dopo la creazione dell'archivio.
L'interfaccia API di ogni datastore è conforme alla versione FHIR del datastore. Ad esempio, l'interazione conformance DSTU2 è diversa dall'interazione capabilities STU3, ma entrambe condividono il percorso REST /fhir/metadata, pertanto questo percorso restituisce risposte diverse in base alla versione FHIR del negozio.
Le funzionalità aggiunte nelle versioni FHIR successive sono disponibili nei datastore che utilizzano versioni FHIR precedenti se non creano incompatibilità. Ad esempio, l'interazione patch
è disponibile in un negozio DSTU2 anche se è stata definita solo
da STU3 in poi.
Dettagli delle funzionalità supportate nell'API v1 in base alla 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 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 con history a livello di tipo e di sistema che recuperano la cronologia su più risorse non sono supportate. La cronologia delle risorse può essere recuperata solo per una risorsa alla volta.
- L'interazione batch/transaction non supporta le operazioni di ricerca all'interno del bundle.
- La convalida e l'applicazione forzata del profilo sono supportate.
- I parametri di ricerca definiti dall'utente, incluse le ricerche negli elementi dell'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=counte_summary=truenon sono supportati. - Il parametro di ricerca speciale
_contentesegue ricerche in tutti i campi della risorsa a cui fanno riferimento i parametri di ricerca. Esclude i campi che non sono disponibili per la ricerca. Non supportaANDesplicito (i termini sono combinati implicitamente conAND) o parentesi. - I parametri di ricerca speciali
Resource-query,Resource-filter,Resource-language,Resource-ineResource-listnon sono supportati. - Il parametro
_sort, se utilizzato in campi con elementi ripetuti, viene ordinato in base al primo elemento; questo è diverso dalla specifica._sortè supportato per i parametri di ricerca di tiponumber,data,string,tokenequantity. - I modificatori di ricerca dei token
:of-type,:code-text,text-advanced,:texte i modificatori di ricerca dei riferimenti:identifier,not-in,text-advancede: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 (per 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 utilizzando il metodo
POSTnon accetta 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 contenuto XML non è supportato.
- L'operazione di patch non supporta patch XML o patch
FHIRPath. - 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 nella versione R5:
- Quando la convalida dei campi obbligatori è attiva, i campi
nulle i campi vuoti (ad esempio{}) vengono ora rifiutati. - Il formato 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 disattivata o meno. I pacchetti batch non riscrivono mai i riferimenti. - I pacchetti di transazioni sono più rigidi nella riscrittura dei riferimenti rispetto a prima e presentano errori relativi a 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 è attiva 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 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 con history a livello di tipo e di sistema che recuperano la cronologia su più risorse non sono supportate. La cronologia delle risorse può essere recuperata solo per una risorsa alla volta.
- L'interazione batch/transaction non supporta le operazioni di ricerca all'interno del bundle.
- La convalida e l'applicazione forzata del profilo sono supportate.
- I parametri di ricerca definiti dall'utente, incluse le ricerche negli elementi dell'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=counte_summary=truenon sono supportati. - Il parametro di ricerca speciale
_contentesegue ricerche in tutti i campi della risorsa a cui fanno riferimento i parametri di ricerca. Esclude i campi che non sono disponibili per la ricerca. Non supportaANDesplicito (i termini sono combinati implicitamente conAND) o parentesi. - I parametri di ricerca speciali
_query,_filtere_listnon sono supportati. - Il parametro
_sort, se utilizzato in campi con elementi ripetuti, viene ordinato in base al primo elemento; questo è diverso dalla specifica._sortè supportato per i parametri di ricerca di tiponumber,data,string,tokenequantity. - Il modificatore di ricerca dei token
:of-typee il modificatore di ricerca del 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, possono essere utilizzati solo i parametri di ricerca comuni (per 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 utilizzando il metodo
POSTnon accetta 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 è implementata.
- Il tipo di contenuto XML non è supportato.
- L'operazione di patch non supporta patch XML o patch
FHIRPath. - 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- Per i campi obbligatori è accettato un codice vuoto
- I riferimenti
urn:uuidsono consentiti nei pacchetti batch quando l'integrità referenziale è disabilitata.
STU3
La dichiarazione di capacità del server indica le parti della specifica che sono supportate.
- È supportato lo stoccaggio 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 con history a livello di tipo e di sistema che recuperano la cronologia su più risorse non sono supportate. La cronologia delle risorse può essere recuperata solo per una risorsa alla volta.
- L'interazione batch/transaction non supporta le operazioni di ricerca all'interno del bundle.
La convalida e l'applicazione forzata del profilo sono supportate.
I parametri di ricerca definiti dall'utente, incluse le ricerche negli elementi dell'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=counte_summary=truenon sono supportati. - Il parametro di ricerca speciale
_contentesegue ricerche in tutti i campi della risorsa a cui fanno riferimento i parametri di ricerca. Sono esclusi i campi che non sono disponibili per la ricerca. Non supportaANDesplicito (i termini sono combinati implicitamente con AND) o parentesi. - I parametri di ricerca speciali
_query,_filtere_listnon sono supportati. - Il parametro
_sort, se utilizzato in campi con elementi ripetuti, viene ordinato in base al primo elemento; questo è diverso dalla specifica._sortè supportato per i parametri di ricerca di tiponumber,data,string,tokenequantity. - La ricerca utilizzando il metodo
POSTnon accetta 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 è implementata.
- Il tipo di contenuto 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- Per i campi obbligatori è accettato un codice vuoto
- I riferimenti
urn:uuidsono consentiti nei pacchetti batch quando l'integrità referenziale è disabilitata.
DSTU2
La dichiarazione di conformità del server indica le parti della specifica supportate.
- È supportato lo stoccaggio e il recupero di tutte le risorse DSTU2, incluso il supporto per gli elementi di estensione. L'API accetta, archivia e restituisce 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 con history a livello di tipo e di sistema che recuperano la cronologia su più risorse non sono supportate. La cronologia delle risorse può essere recuperata solo per una risorsa alla volta.
- L'interazione batch/transaction non supporta le operazioni di ricerca all'interno del bundle.
- La convalida e l'applicazione forzata del profilo sono supportate.
- Tutte le funzionalità di ricerca sono supportate, 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 negli 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=counte_summary=truenon sono supportati. - Il parametro di ricerca speciale
_contentesegue ricerche in tutti i campi della risorsa a cui fanno riferimento i parametri di ricerca. Sono esclusi i campi che non sono disponibili per la ricerca. Non supportaANDesplicito (i termini sono combinati implicitamente con AND) o parentesi. - I parametri di ricerca speciali
_query,_filtere_listnon sono supportati. - Il parametro
_sort, se utilizzato in campi con elementi ripetuti, viene ordinato in base al primo elemento; questo è diverso dalla specifica._sortè supportato per i parametri di ricerca di tiponumber,data,string,tokenequantity. - La ricerca utilizzando il metodo
POSTnon accetta 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 è implementata.
- I parametri di ricerca definiti dall'utente non sono supportati per DSTU2.
- Il tipo di contenuto 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- Per i campi obbligatori è accettato un codice vuoto
- I riferimenti
urn:uuidsono consentiti nei pacchetti batch quando l'integrità referenziale è disabilitata.
Dettagli delle operazioni non incluse nella 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 a sostituire la funzionalità di sottoscrizione FHIR (DSTU2, STU3, R4 e R5).
- 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 di specifica dei dati collettivi FHIR.
- 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 d'uso. - L'endpoint
ExecuteBundleaccetta bundlehistorynella versione v1beta1 per creare versioni storiche delle risorse.