

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Ricerca di risorse FHIR con POST
<a name="searching-fhir-resources-post"></a>

Puoi utilizzare l'[https://hl7.org/fhir/R4/search.html](https://hl7.org/fhir/R4/search.html)interazione FHIR con `POST` le richieste di ricerca in un archivio HealthLake dati. Quando si utilizza`POST`, HealthLake supporta i parametri di ricerca nell'URL o nel corpo di una richiesta, ma non è possibile utilizzarli entrambi in una singola richiesta.

**Importante**  
Per le ricerche che coinvolgono informazioni di identificazione personale (PII) o informazioni sanitarie protette (PHI), le migliori pratiche di sicurezza richiedono l'utilizzo delle `POST` richieste, poiché PII e PHI vengono aggiunti come parte del corpo della richiesta e vengono crittografati durante il transito.

La procedura seguente è seguita da esempi che utilizzano l'interazione FHIR R4 `search` con per effettuare ricerche in un archivio dati. `POST` HealthLake Gli esempi mostrano come specificare i parametri di ricerca nel corpo della richiesta JSON.

**Per effettuare ricerche in un archivio HealthLake dati con `POST`**  


1. Raccogli HealthLake `region` e `datastoreId` valorizza. Per ulteriori informazioni, consulta [Ottenere le proprietà dell'archivio dati](managing-data-stores-describe.md).

1. Determina il tipo di risorsa FHIR da cercare e raccogliere il `id` valore associato. Per ulteriori informazioni, consulta [Tipi di risorse](reference-fhir-resource-types.md). 

1. Costruisci un URL per la richiesta utilizzando i valori raccolti per HealthLake `region` e. `datastoreId` Includi anche il `Resource` tipo e `_search` l'interazione FHIR. Per visualizzare l'intero percorso dell'URL nell'esempio seguente, scorri il pulsante **Copia**.

   ```
   POST https://healthlake.{{region}}.amazonaws.com/datastore/{{datastoreId}}/r4/{{Resource}}/_search
   ```

1. Costruisci un corpo JSON per la richiesta, specificando i dati FHIR da cercare. Ai fini di questa procedura, cercherai `Observation` risorse per scoprire pazienti che non hanno mai fumato. Per specificare lo stato del codice medico`Never smoker`, impostalo `value-concept=266919005` nel corpo della richiesta JSON. Salva il file con nome `search-observation.json`.

   ```
   value-concept=266919005
   ```

1. Inviare la richiesta . L'`search`interazione FHIR utilizza la `GET` richiesta con l'autorizzazione [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) o SMART on FHIR.
**Nota**  
Quando si effettua una `POST` richiesta con parametri di ricerca nel corpo della richiesta, usala `Content-Type: application/x-www-form-urlencoded` come parte dell'intestazione.

   L'`curl`esempio seguente effettua una richiesta di ricerca basata su POST sul tipo di `Observation` risorsa. La richiesta utilizza il parametro [https://hl7.org/fhir/R4/observation.html#search](https://hl7.org/fhir/R4/observation.html#search)di ricerca per cercare il codice medico `266919005` che indichi il valore`Never smoker`. Per visualizzare l'intero esempio, scorri il pulsante **Copia**.

------
#### [ SigV4 ]

   Autorizzazione SIGv4

   ```
   curl --request POST \
     'https://healthlake.{{region}}.amazonaws.com/datastore/{{datastoreId}}/r4/Observation/_search' \						
     --aws-sigv4 'aws:amz:region:healthlake' \
     --user "{{$AWS_ACCESS_KEY_ID}}:{{$AWS_SECRET_ACCESS_KEY}}" \
     --header "x-amz-security-token:{{$AWS_SESSION_TOKEN}}" \
     --header "Content-Type: application/x-www-form-urlencoded"							
     --header "Accept: application/json"
     --data @search-observation.json
   ```

------
#### [ SMART on FHIR ]

   Esempio di autorizzazione SMART on FHIR per il tipo di dati [https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html).

   ```
   {
       "AuthorizationStrategy": "SMART_ON_FHIR",
       "FineGrainedAuthorizationEnabled": true,
       "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name",
       "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\",\"permission-v2\"]}"
   }
   ```

   Il chiamante può assegnare le autorizzazioni nella lambda di autorizzazione. Per ulteriori informazioni, consulta [OAuth Cannocchiali 2.0](reference-smart-on-fhir-oauth-scopes.md).

------

## Esempi: ricerca con POST
<a name="searching-fhir-resources-post-examples"></a>

Le schede seguenti forniscono esempi per la ricerca su tipi di risorse FHIR specifici con. `POST` Gli esempi mostrano come specificare una richiesta in. URLs

**Nota**  
La HealthLake console supporta solo l'autorizzazione SIGv4. L'autorizzazione SMART on FHIR è supportata tramite e. AWS CLI AWS SDKs  
HealthLake supporta un sottoinsieme di parametri di ricerca FHIR R4. Per ulteriori informazioni, consulta [Parametri di ricerca](reference-fhir-search-parameters.md).

------
#### [ Patient (age) ]

Sebbene l'età non sia un tipo di risorsa definito in FHIR, viene acquisita come elemento del tipo di risorsa. [https://hl7.org/fhir/R4/patient.html](https://hl7.org/fhir/R4/patient.html) Utilizzate l'esempio seguente per effettuare una richiesta di ricerca `POST` basata sul tipo di `Patient` risorsa. L'esempio di ricerca seguente utilizza il `eq` [comparatore](reference-fhir-search-parameters.md#search-comparators) di ricerca per cercare persone nate nel 1997.

```
POST https://healthlake.{{region}}.amazonaws.com/datastore/{{datastoreId}}/r4/Patient/_search
```

Per specificare l'anno 1997 nella ricerca, aggiungete il seguente elemento al corpo della richiesta.

```
birthdate=eq1997
```

------
#### [ Condition ]

Utilizzare quanto segue per effettuare una `POST` richiesta sul tipo di `Condition` risorsa. Questa ricerca consente di trovare le posizioni nell'archivio HealthLake dati che contengono il codice medico`72892002`.

È necessario specificare l'URL della richiesta e il corpo della richiesta. Ecco un esempio di URL di richiesta.

```
POST https://healthlake.{{region}}.amazonaws.com/datastore/{{datastoreId}}/r4/Condition/_search
```

Per specificare il codice medico da cercare, aggiungi il seguente elemento JSON al corpo della richiesta.

```
code=72892002
```

------
#### [ DocumentReference ]

Per visualizzare i risultati dell'elaborazione integrata HealthLake del linguaggio naturale (NLP) quando si effettua una `POST` richiesta sul tipo di `DocumentReference` risorsa, formatta una richiesta come segue.

```
POST https://healthlake.{{region}}.amazonaws.com/datastore/{{datastoreId}}/r4/DocumentReference/_search
```

Per specificare i parametri di `DocumentReference` ricerca a cui fare riferimento, vedere. [Tipi di parametri di ricerca](reference-fhir-search-parameters.md#search-parameter-types) La seguente stringa di query utilizza più parametri di ricerca per cercare nelle operazioni dell'API Amazon Comprehend Medical utilizzate per generare i risultati NLP integrati.

```
_lastUpdated=le2021-12-19&infer-icd10cm-entity-text-concept-score;=streptococcal|0.6&infer-rxnorm-entity-text-concept-score=Amoxicillin|0.8
```

------
#### [ Location ]

Usa l'esempio seguente per effettuare una `POST` richiesta sul tipo di risorsa. `Location` La ricerca trova le posizioni nell'archivio HealthLake dati che contengono il nome della città Boston come parte dell'indirizzo.

È necessario specificare un URL e un corpo della richiesta. Ecco un esempio di URL di richiesta.

```
POST https://healthlake.{{region}}.amazonaws.com/datastore/{{datastoreId}}/r4/Location/_search
```

Per specificare `Boston` nella ricerca, aggiungi il seguente elemento al corpo della richiesta:

```
address=Boston
```

------
#### [ Observation ]

Utilizzate l'esempio seguente per effettuare una richiesta di ricerca `POST` basata sul tipo di `Observation` risorsa. La ricerca utilizza il parametro `value-concept` di ricerca per cercare il codice medico, `266919005` che indica`Never smoker`.

```
POST https://healthlake.{{region}}.amazonaws.com/datastore/{{datastoreId}}/r4/Observation/_search
```

Per specificare lo stato`Never smoker`, imposta `value-concept=266919005` nel corpo del file JSON.

```
value-concept=266919005
```

------