Condividi tramite


Parametri di ricerca selezionabili (anteprima)

Importante

La funzionalità dei parametri di ricerca selezionabile è disponibile per l'anteprima. Le API di anteprima e gli SDK vengono forniti senza un contratto di servizio. È consigliabile non usarle per carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o risultare limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

La ricerca di risorse è fondamentale per il servizio FHIR®. Ogni risorsa nel servizio FHIR contiene informazioni come set di elementi. I parametri di ricerca funzionano per eseguire query sulle informazioni in questi elementi. Quando viene distribuito il servizio FHIR, i parametri di ricerca predefiniti sono abilitati per impostazione predefinita. Il servizio FHIR esegue ricerche efficienti estraendo e indicizzando proprietà specifiche dalle risorse FHIR durante l'inserimento dei dati.

I parametri di ricerca selezionabili consentono di abilitare o disabilitare i parametri di ricerca predefiniti. Questa funzionalità consente di archiviare più risorse nello spazio di archiviazione allocato e migliorare le prestazioni abilitando solo i parametri di ricerca necessari.

Per eseguire gli aggiornamenti dello stato sui parametri di ricerca, seguire questa procedura:

  1. Ottenere lo stato dei parametri di ricerca.
  2. Aggiornare lo stato dei parametri di ricerca.
  3. Eseguire un processo reindicizzazione.

In questo articolo viene illustrata la sintassi di ricerca FHIR nelle chiamate API di esempio con il segnaposto {{FHIR_URL}} per rappresentare l'URL del server FHIR.

Ottenere lo stato dei parametri di ricerca

Viene fornito un endpoint API ('$status') per visualizzare lo stato dei parametri di ricerca. Per la risposta sono disponibili quattro stati:

Stato Descrizione
Supportata Il parametro di ricerca è supportato dal servizio FHIR e sono state inviate richieste per abilitare il parametro di ricerca. Eseguire l'operazione di reindicizzazione da supportata a abilitata.
Attivata Il parametro di ricerca è abilitato per la ricerca. Questo stato è il passaggio successivo dopo lo stato supportato.
PendingDisable La disabilitazione del parametro di ricerca è in sospeso dopo l'esecuzione dell'operazione di reindicizzazione.
Disabilitata Il parametro di ricerca è disabilitato.

Per ottenere lo stato in tutti i parametri di ricerca, usare la richiesta seguente, che restituisce un elenco di tutti i parametri di ricerca e il relativo stato. Scorrere l'elenco per trovare il parametro di ricerca necessario.

GET {{FHIR_URL}}/SearchParameter/$status

Per identificare lo stato di singoli parametri di ricerca o di un sottoinsieme di parametri di ricerca, usare i filtri seguenti.

  • Nome. Per identificare lo stato del parametro di ricerca in base al nome, usare questa richiesta.
   GET {{FHIR_URL}}/SearchParameter/$status?code=<name of search parameter/ sub string>
  • URL. Per identificare lo stato del parametro di ricerca in base all'identificatore canonico, usare questa richiesta.
GET {{FHIR_URL}}/SearchParameter/$status?url=<SearchParameter url>
  • Tipo di risorsa. In FHIR i parametri di ricerca sono abilitati a livello di singola risorsa per consentire il filtro e il recupero di un subset specifico di risorse. Per identificare lo stato di tutti i parametri di ricerca mappati a una risorsa, usare questa richiesta.
GET {{FHIR_URL}}/SearchParameter/$status?resourcetype=<ResourceType name>

In risposta alla richiesta GET per $status endpoint, il tipo di risorsa dei parametri viene restituito con lo stato del parametro di ricerca. Di seguito è riportata una risposta di esempio.

{
  "resourceType" : "Parameters",
  "parameter" : [
    "name" : "searchParameterStatus",
    "part" : {
        {
        "name" : "url",
        "valueString" : "http://hl7.org/fhir/SearchParameter/Account-identifier"
        },
        {
        "name" : "status",
        "valueString" : "supported"
        }
    }
  ]
}

Aggiornare lo stato dei parametri di ricerca

Dopo aver visualizzato lo stato dei parametri di ricerca, aggiornare lo stato dei parametri di ricerca in Supported o Disabled.

Nota

Per aggiornare lo stato dei parametri di ricerca, è necessario il ruolo Controllo degli accessi in base al ruolo di Azure in Gestione parametri di ricerca.

Lo stato del parametro di ricerca può essere aggiornato per un singolo parametro di ricerca o in blocco.

Aggiornare uno stato di un singolo parametro di ricerca

Per aggiornare lo stato di un singolo parametro di ricerca, usare la richiesta API seguente.

PUT {{FHIR_URL}}/SearchParameter/$status
{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "searchParameterStatus",
            "part": [
                {
                    "name": "url",
                    "valueUrl": "http://hl7.org/fhir/SearchParameter/Resource-test-id"
                },
                {
                    "name": "status",
                    "valueString": "Supported"
                }
            ]
        }
    ]
}

A seconda del caso d'uso, è possibile mantenere il valore dello stato 'Supported' o 'Disabled' per un parametro di ricerca. Quando si invia lo stato Disabled nella richiesta, la risposta restituisce come PendingDisable perché un processo reindicizzazione deve essere eseguito per rimuovere completamente le associazioni.

Se si riceve un codice di stato HTTP 400 nella risposta, significa che non esiste alcuna corrispondenza univoca per il parametro di ricerca identificato. Controllare l'ID del parametro di ricerca.

Aggiornare lo stato del parametro di ricerca in blocco

Per aggiornare lo stato dei parametri di ricerca in blocco, la richiesta 'PUT' deve avere l'elenco di risorse 'Parameters' nel corpo della richiesta. L'elenco deve contenere i singoli parametri di ricerca che devono essere aggiornati.

PUT {{FHIR_URL}}/SearchParameter/$status
{
  "resourceType" : "Parameters",
  "parameter" : [
    {
     "name" : "searchParameterStatus",
     "part" :{
        "name" : "url",
        "valueString" : "http://hl7.org/fhir/SearchParameter/Endpoint-name"
     },
     "part":{ 
        "name" : "status",
        "valueString" : "supported"
     }
    },
         "name" : "searchParameterStatus",
     "part" :{
        "name" : "url",
        "valueString" : "http://hl7.org/fhir/SearchParameter/HealthcareService-name"
     },
     "part":{ 
        "name" : "status",
        "valueString" : "supported"
     }
    },
    ...
  ]
}

Eseguire un processo reindicizzazione

Dopo aver aggiornato lo stato del parametro di ricerca su Supported o Disabled, il passaggio successivo consiste nell'eseguire un processo di reindicizzazione.

Finché il parametro di ricerca non viene indicizzato, lo Enabled stato e Disabled dei parametri di ricerca non viene attivato. Reindicizzare l'esecuzione del processo aggiorna lo stato da Supported a Enabled o PendingDisable a Disabled.

Un processo di reindicizzazione può essere eseguito sull'intero database del servizio FHIR o su parametri di ricerca specifici. Un processo reindicizzazione può richiedere un utilizzo intensivo delle prestazioni. Per altre informazioni, vedere Eseguire un processo di reindicizzazione.

Nota

Un documento di dichiarazione di funzionalità è un set di comportamenti per un server FHIR. Enabled I parametri di ricerca sono elencati nell'istruzione capability per il servizio FHIR. Un'istruzione capability è disponibile per l'endpoint /metadata.

Domande frequenti

Qual è il comportamento se la query include un parametro di ricerca con stato 'Supported'?

Il parametro di ricerca nello stato 'Supported' deve essere reindicizzare. Fino ad allora, il parametro di ricerca non viene attivato. Se una query viene eseguita su un parametro di ricerca non attivo, il servizio FHIR esegue il rendering di una risposta senza considerare tale parametro di ricerca. Nella risposta verrà visualizzato un messaggio di avviso che indica che il parametro di ricerca non è stato indicizzato e non è stato usato nella query. Per eseguire il rendering di un errore in tali situazioni, usare l'intestazione 'Prefer: handling' con il valore 'strict'. Impostando questa intestazione, gli avvisi vengono segnalati come errori.

Passaggi successivi

Definire parametri di ricerca personalizzati

Nota

FHIR® è un marchio registrato di HL7 ed è usato con l'autorizzazione di HL7.