

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mencari sumber daya FHIR dengan POST
<a name="searching-fhir-resources-post"></a>

Anda dapat menggunakan [https://hl7.org/fhir/R4/search.html](https://hl7.org/fhir/R4/search.html)interaksi FHIR dengan `POST` permintaan untuk mencari penyimpanan HealthLake data. Saat menggunakan`POST`, HealthLake mendukung parameter pencarian baik di URL atau di badan permintaan, tetapi Anda tidak dapat menggunakan keduanya dalam satu permintaan.

**Penting:**  
Untuk pencarian yang melibatkan informasi identitas pribadi (PII) atau informasi kesehatan yang dilindungi (PHI), praktik terbaik keamanan memerlukan penggunaan `POST` permintaan, karena PII dan PHI ditambahkan sebagai bagian dari badan permintaan dan dienkripsi dalam perjalanan.

Prosedur berikut diikuti dengan contoh menggunakan `search` interaksi FHIR R4 dengan `POST` untuk mencari penyimpanan HealthLake data. Contoh menunjukkan cara menentukan parameter pencarian di badan permintaan JSON.

**Untuk mencari penyimpanan HealthLake data dengan `POST`**  


1. Kumpulkan HealthLake `region` dan `datastoreId` nilai. Untuk informasi selengkapnya, lihat [Mendapatkan properti penyimpanan data](managing-data-stores-describe.md).

1. Tentukan jenis sumber daya FHIR untuk mencari dan mengumpulkan `id` nilai terkait. Untuk informasi selengkapnya, lihat [Jenis sumber daya](reference-fhir-resource-types.md). 

1. Buat URL untuk permintaan menggunakan nilai yang dikumpulkan untuk HealthLake `region` dan`datastoreId`. Juga termasuk `Resource` jenis dan `_search` interaksi FHIR. Untuk melihat seluruh jalur URL dalam contoh berikut, gulir ke atas tombol **Salin**.

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

1. Membangun badan JSON untuk permintaan, menentukan data FHIR untuk mencari. Untuk tujuan prosedur ini, Anda akan mencari `Observation` sumber daya untuk menemukan pasien yang tidak pernah merokok. Untuk menentukan status kode medis`Never smoker`, atur `value-concept=266919005` di badan permintaan JSON. Simpan file sebagai `search-observation.json`.

   ```
   value-concept=266919005
   ```

1. Kirim permintaan . `search`Interaksi FHIR menggunakan `GET` permintaan dengan [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) atau SMART pada otorisasi FHIR.
**catatan**  
Saat membuat `POST` permintaan dengan parameter pencarian di badan permintaan, gunakan `Content-Type: application/x-www-form-urlencoded` sebagai bagian dari header.

   `curl`Contoh berikut membuat permintaan pencarian berbasis Pos pada jenis `Observation` sumber daya. Permintaan menggunakan parameter [https://hl7.org/fhir/R4/observation.html#search](https://hl7.org/fhir/R4/observation.html#search)pencarian untuk mencari kode medis `266919005` yang menunjukkan nilai`Never smoker`. Untuk melihat seluruh contoh, gulir ke atas tombol **Salin**.

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

   Otorisasi 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 ]

   SMART pada contoh otorisasi FHIR untuk tipe [https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html)data.

   ```
   {
       "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\"]}"
   }
   ```

   Penelepon dapat menetapkan izin di lambda otorisasi. Untuk informasi selengkapnya, lihat [OAuth 2.0 cakupan](reference-smart-on-fhir-oauth-scopes.md).

------

## Contoh: cari dengan POST
<a name="searching-fhir-resources-post-examples"></a>

Tab berikut memberikan contoh untuk mencari pada jenis sumber daya FHIR tertentu dengan. `POST` Contoh menunjukkan cara menentukan permintaan di URLs.

**catatan**  
 HealthLake Konsol hanya mendukung otorisasi SiGv4. SMART pada otorisasi FHIR didukung melalui AWS CLI dan. AWS SDKs  
HealthLake mendukung subset parameter pencarian FHIR R4. Untuk informasi selengkapnya, lihat [Parameter pencarian](reference-fhir-search-parameters.md).

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

Meskipun usia bukan tipe sumber daya yang ditentukan di FHIR, ia ditangkap sebagai elemen dalam tipe [https://hl7.org/fhir/R4/patient.html](https://hl7.org/fhir/R4/patient.html)sumber daya. Gunakan contoh berikut untuk membuat permintaan pencarian `POST` berbasis pada jenis `Patient` sumber daya. Contoh pencarian berikut menggunakan [pembanding `eq` pencarian](reference-fhir-search-parameters.md#search-comparators) untuk mencari individu yang lahir pada tahun 1997.

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

Untuk menentukan tahun 1997 dalam pencarian, tambahkan elemen berikut ke badan permintaan.

```
birthdate=eq1997
```

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

Menggunakan berikut ini untuk membuat `POST` permintaan pada jenis `Condition` sumber daya. Pencarian ini menemukan lokasi di penyimpanan HealthLake data Anda yang berisi kode medis`72892002`.

Anda harus menentukan URL permintaan dan badan permintaan. Berikut adalah contoh URL permintaan.

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

Untuk menentukan kode medis yang ingin Anda cari, Anda menambahkan elemen JSON berikut ke badan permintaan.

```
code=72892002
```

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

Untuk melihat hasil pemrosesan HealthLake bahasa alami terintegrasi (NLP) saat membuat `POST` permintaan pada jenis `DocumentReference` sumber daya, format permintaan sebagai berikut.

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

Untuk menentukan parameter `DocumentReference` pencarian untuk referensi, lihat[Cari jenis parameter](reference-fhir-search-parameters.md#search-parameter-types). String kueri berikut menggunakan beberapa parameter penelusuran untuk mencari di operasi Amazon Comprehend Medical API yang digunakan untuk menghasilkan hasil NLP terintegrasi.

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

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

Gunakan contoh berikut untuk membuat `POST` permintaan pada jenis `Location` sumber daya. Pencarian menemukan lokasi di toko HealthLake data Anda yang berisi nama kota Boston sebagai bagian dari alamat.

Anda harus menentukan URL permintaan dan badan permintaan. Berikut adalah contoh URL permintaan.

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

Untuk menentukan `Boston` dalam pencarian, tambahkan elemen berikut ke badan permintaan:

```
address=Boston
```

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

Gunakan contoh berikut untuk membuat permintaan pencarian `POST` berbasis pada jenis `Observation` sumber daya. Pencarian menggunakan parameter `value-concept` pencarian untuk mencari kode medis, `266919005` yang menunjukkan`Never smoker`.

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

Untuk menentukan status,`Never smoker`, atur `value-concept=266919005` di badan JSON.

```
value-concept=266919005
```

------