Halaman ini menjelaskan cara membuat, memperbarui, menerapkan patch, melihat, mencantumkan, mengambil, dan menghapus resource FHIR.
Resource FHIR dapat berisi data tentang pasien, perangkat, pengamatan, dan lainnya. Untuk mengetahui daftar lengkap resource FHIR, lihat Indeks Resource FHIR (DSTU2, STU3, atau R4).
Contoh curl
dan PowerShell di halaman ini berfungsi dengan penyimpanan FHIR R4,
dan tidak dijamin akan berfungsi jika Anda menggunakan penyimpanan FHIR DSTU2 atau STU3.
Jika Anda menggunakan penyimpanan FHIR DSTU2 atau STU3, lihat dokumentasi FHIR resmi
untuk mengetahui informasi tentang cara mengonversi sampel ke versi FHIR yang Anda gunakan.
Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
Membuat resource FHIR
Sebelum dapat membuat resource FHIR, Anda harus membuat penyimpanan FHIR.
Contoh curl
, PowerShell, dan Python menunjukkan cara membuat
resource FHIR berikut:
- Resource Pasien (DSTU2, STU3, dan R4)
- Resource (DSTU2, STU3, dan R4) Encounter untuk Pasien
- Resource Observasi (DSTU2, STU3, dan R4) untuk Pertemuan
Contoh untuk semua bahasa lainnya menunjukkan cara membuat resource FHIR generik.
Untuk informasi selengkapnya, lihat
projects.locations.datasets.fhirStores.fhir.create
.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
Meminta isi JSON:
{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Go
Java
Node.js
Python
Setelah membuat resource Pasien, buat resource Pertemuan untuk menjelaskan interaksi antara pasien dan praktisi.
Di kolom PATIENT_ID, ganti ID dari respons yang ditampilkan oleh server saat Anda membuat resource Pasien.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Python berfungsi dengan penyimpanan FHIR STU3.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- PATIENT_ID: respons yang ditampilkan oleh server saat Anda membuat resource Pasien
Meminta isi JSON:
{ "status": "finished", "class": { "system": "http://hl7.org/fhir/v3/ActCode", "code": "IMP", "display": "inpatient encounter" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "subject": { "reference": "Patient/PATIENT_ID" }, "resourceType": "Encounter" }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "status": "finished", "class": { "system": "http://hl7.org/fhir/v3/ActCode", "code": "IMP", "display": "inpatient encounter" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "subject": { "reference": "Patient/PATIENT_ID" }, "resourceType": "Encounter" } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "status": "finished", "class": { "system": "http://hl7.org/fhir/v3/ActCode", "code": "IMP", "display": "inpatient encounter" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "subject": { "reference": "Patient/PATIENT_ID" }, "resourceType": "Encounter" } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Healthcare API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Cloud Healthcare API.
Untuk melakukan autentikasi ke Cloud Healthcare API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Setelah membuat resource Encounter, buat resource Observation yang terkait dengan resource Encounter. Resource Pengamatan memberikan pengukuran detak jantung pasien dalam denyut per menit (BPM) (80
di bpm
).
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Python berfungsi dengan penyimpanan FHIR STU3.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- PATIENT_ID: ID dalam respons yang ditampilkan oleh server saat Anda membuat resource Pasien
- ENCOUNTER_ID: ID dalam respons yang ditampilkan oleh server saat Anda membuat resource Encounter
Meminta isi JSON:
{ "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": 80, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": 80, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": 80, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Healthcare API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Cloud Healthcare API.
Untuk melakukan autentikasi ke Cloud Healthcare API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Membuat resource FHIR secara kondisional
Contoh curl
berikut menunjukkan cara menggunakan metode projects.locations.datasets.fhirStores.fhir.create
untuk membuat resource FHIR secara kondisional. Metode ini mengimplementasikan
interaksi create
bersyarat FHIR (DSTU2, STU3, R4).
Anda dapat menggunakan pembuatan bersyarat untuk menghindari pembuatan resource FHIR duplikat. Misalnya, setiap resource Pasien di server FHIR biasanya memiliki ID unik, seperti nomor rekam medis (MRN). Untuk membuat resource Pasien baru dan memastikan tidak ada resource Pasien dengan MRN yang sama, buat resource baru secara kondisional menggunakan kueri penelusuran. Cloud Healthcare API membuat resource baru hanya jika tidak ada kecocokan untuk kueri penelusuran.
Respons server bergantung pada jumlah resource yang cocok dengan kueri penelusuran:
Mencocokkan dengan | Kode respons HTTP | Perilaku |
---|---|---|
Nol | 201 CREATED |
Membuat resource baru. |
One | 200 OK |
Tidak membuat resource baru. |
Lebih dari satu | 412 Precondition Failed |
Tidak membuat resource baru dan menampilkan error "search criteria are not selective enough" . |
Untuk menggunakan interaksi create
kondisional, bukan interaksi create
, tentukan header HTTP If-None-Exist
yang berisi kueri penelusuran FHIR dalam permintaan Anda:
If-None-Exist: FHIR_SEARCH_QUERY
Di Cloud Healthcare API v1, operasi bersyarat secara eksklusif menggunakan parameter penelusuran identifier
, jika ada untuk jenis resource FHIR, untuk menentukan resource FHIR mana yang cocok dengan kueri penelusuran bersyarat.
REST
Contoh berikut menunjukkan cara membuat resource Pengamatan menggunakan
header HTTP If-None-Exist: identifier=my-code-system|ABC-12345
. Cloud Healthcare API membuat resource jika dan hanya jika tidak ada resource Observation yang cocok dengan kueri identifier=my-code-system|ABC-12345
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/fhir+json" \ -H "If-None-Exist: identifier=my-code-system|ABC-12345" \ -d @request.json \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation"
Contoh output berikut sengaja menampilkan permintaan yang gagal. Untuk melihat respons dari permintaan yang berhasil, lihat Membuat resource FHIR.
Jika beberapa resource Observation cocok dengan kueri, Cloud Healthcare API akan menampilkan respons berikut, dan permintaan pembuatan bersyarat akan gagal:
{
"issue": [
{
"code": "conflict",
"details": {
"text": "ambiguous_query"
},
"diagnostics": "search criteria are not selective enough",
"severity": "error"
}
],
"resourceType": "OperationOutcome"
}
Memperbarui resource FHIR
Contoh berikut menunjukkan cara menggunakan metode projects.locations.datasets.fhirStores.fhir.update
untuk memperbarui resource FHIR. Metode ini mengimplementasikan interaksi update standar
FHIR
(DSTU2,
STU3,
dan R4).
Saat memperbarui resource, Anda memperbarui seluruh konten resource. Hal ini berbeda dengan mem-patch resource, yang hanya mengupdate sebagian resource.
Jika penyimpanan FHIR telah menetapkan
enableUpdateCreate
, permintaan akan diperlakukan sebagai pembaruan dan penyisipan (update atau insert) yang memperbarui resource jika ada atau menyisipkannya menggunakan ID yang ditentukan permintaan jika tidak ada.
Isi permintaan harus berisi resource FHIR yang dienkode JSON dan header
permintaan harus berisi Content-Type: application/fhir+json
. Resource harus
berisi elemen id
yang memiliki nilai yang sama dengan ID di jalur REST
permintaan.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
REST
Contoh berikut menunjukkan cara memperbarui detak per menit (BPM) di resource Pengamatan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- OBSERVATION_ID: ID resource Pengamatan
- PATIENT_ID: ID resource Pasien
- ENCOUNTER_ID: ID resource Pertemuan
- BPM_VALUE: nilai detak per menit (BPM) dalam resource Pengamatan yang diperbarui
Meminta isi JSON:
{ "resourceType": "Observation", "id": "OBSERVATION_ID", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "resourceType": "Observation", "id": "OBSERVATION_ID", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X PUT \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "resourceType": "Observation", "id": "OBSERVATION_ID", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PUT `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | Select-Object -Expand Content
APIs Explorer
Salin isi permintaan dan buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Tempelkan isi permintaan di alat ini, lengkapi kolom lainnya yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Go
Node.js
Python
Memperbarui resource FHIR secara bersyarat
Contoh berikut menunjukkan cara memanggil metode projects.locations.datasets.fhirStores.fhir.conditionalUpdate
untuk memperbarui resource FHIR yang cocok dengan kueri penelusuran, bukan mengidentifikasi resource berdasarkan ID-nya. Metode ini mengimplementasikan
interaksi pembaruan bersyarat standar FHIR
(DSTU2,
STU3,
dan R4).
Pembaruan bersyarat hanya dapat diterapkan ke satu resource FHIR dalam satu waktu.
Respons yang ditampilkan dari server bergantung pada jumlah kecocokan yang terjadi berdasarkan kriteria penelusuran:
- Satu kecocokan: Resource berhasil diperbarui atau error ditampilkan.
- Lebih dari satu kecocokan: Permintaan
menampilkan error
412 Precondition Failed
. - Nol kecocokan dengan
id
: Jika kriteria penelusuran mengidentifikasi nol kecocokan, isi permintaan yang disediakan berisiid
, dan penyimpanan FHIR telahenableUpdateCreate
ditetapkan ketrue
, resource FHIR akan dibuat denganid
dalam isi permintaan. - Tidak ada kecocokan tanpa
id
: Jika kriteria penelusuran mengidentifikasi tidak ada kecocokan dan isi permintaan yang disediakan tidak berisiid
, resource FHIR akan dibuat dengan ID yang ditetapkan server seolah-olah resource dibuat menggunakanprojects.locations.datasets.fhirStores.fhir.create
.
Isi permintaan harus berisi resource FHIR yang dienkode JSON dan header
permintaan harus berisi Content-Type: application/fhir+json
.
Di Cloud Healthcare API v1, operasi bersyarat secara eksklusif menggunakan parameter penelusuran identifier
, jika ada untuk jenis resource FHIR, untuk menentukan resource FHIR mana yang cocok dengan kueri penelusuran bersyarat.
REST
Contoh berikut menunjukkan cara mengirim permintaan PUT
menggunakan curl
dan
PowerShell untuk mengedit resource Pengamatan menggunakan ID Pengamatan
(ABC-12345
di my-code-system
). Pengamatan memberikan pengukuran
detak jantung pasien per menit (BPM).
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- PATIENT_ID: ID resource Pasien
- ENCOUNTER_ID: ID resource Pertemuan
- BPM_VALUE: nilai detak per menit (BPM) di resource Pengamatan
Meminta isi JSON:
{ "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X PUT \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PUT `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | Select-Object -Expand Content
APIs Explorer
Salin isi permintaan dan buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Tempelkan isi permintaan di alat ini, lengkapi kolom lainnya yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Menambahkan patch pada resource FHIR
Contoh berikut menunjukkan cara memanggil
metode projects.locations.datasets.fhirStores.fhir.patch
untuk menerapkan patch pada resource FHIR. Metode ini mengimplementasikan interaksi patch standar FHIR
(DSTU2,
STU3,
dan R4).
Saat menerapkan patch pada resource, Anda akan mengupdate bagian resource dengan menerapkan operasi yang ditentukan dalam dokumen JSON Patch.
Permintaan harus berisi dokumen patch JSON, dan header permintaan harus
berisi Content-Type: application/json-patch+json
.
Contoh berikut menunjukkan cara
mem-patch resource Observation. Pengamatan detak jantung pasien per
menit (BPM) diperbarui menggunakan operasi patch replace
.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- OBSERVATION_ID: ID resource Pengamatan
- BPM_VALUE: nilai detak per menit (BPM) dalam resource Observation yang di-patch
Meminta isi JSON:
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json-patch+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json-patch+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Go
Java
Node.js
Python
Menjalankan permintaan PATCH
dalam paket FHIR
Anda dapat menentukan permintaan PATCH
dalam paket FHIR (khusus FHIR R4).
Dengan menjalankan permintaan PATCH
dalam paket FHIR, Anda dapat melakukan patch pada banyak
resource FHIR sekaligus, tanpa harus membuat permintaan patch satu per satu
untuk setiap resource FHIR.
Untuk membuat permintaan PATCH
dalam paket, tentukan informasi berikut dalam
objek resource
dalam permintaan:
- Kolom
resourceType
yang ditetapkan keBinary
- Kolom
contentType
yang ditetapkan keapplication/json-patch+json
- Isi patch yang dienkode dalam base64
Pastikan objek resource
terlihat seperti berikut:
"resource": {
"resourceType": "Binary",
"contentType": "application/json-patch+json",
"data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K"
}
Berikut ini menunjukkan isi patch yang dienkode ke base64 di kolom data
:
[
{
"op": "replace",
"path": "/birthdate",
"value": "1990-01-01"
}
]
Contoh berikut menunjukkan cara menggunakan permintaan PATCH
dalam paket untuk melakukan patch
pada resource Pasien yang Anda buat di
Membuat resource FHIR agar memiliki nilai birthDate
1990-01-01
:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- LOCATION: lokasi set data induk
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- PATIENT_ID: ID resource Pasien yang ada
Meminta isi JSON:
{ "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/fhir+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/fhir+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Menambahkan patch pada resource FHIR secara bersyarat
Contoh berikut menunjukkan cara memanggil metode
projects.locations.datasets.fhirStores.fhir.conditionalPatch
untuk melakukan patch pada resource FHIR yang cocok dengan kueri penelusuran, bukan
mengidentifikasi resource berdasarkan ID-nya. Metode ini mengimplementasikan interaksi patch bersyarat standar FHIR (DSTU2, STU3, dan R4).
Patch bersyarat hanya dapat diterapkan ke satu resource dalam
satu waktu. Jika kriteria penelusuran mengidentifikasi lebih dari satu kecocokan, permintaan akan menampilkan error 412 Precondition Failed
.
Di Cloud Healthcare API v1, operasi bersyarat secara eksklusif menggunakan parameter penelusuran identifier
, jika ada untuk jenis resource FHIR, untuk menentukan resource FHIR mana yang cocok dengan kueri penelusuran bersyarat.
REST
Contoh berikut menunjukkan cara mengirim permintaan PATCH
menggunakan curl
dan PowerShell
untuk mengedit resource Pengamatan jika ID Pengamatan adalah
ABC-12345
di my-code-system
.
Pengamatan detak jantung pasien per menit (BPM)
diperbarui menggunakan operasi patch replace
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- BPM_VALUE: nilai detak per menit (BPM) di resource Pengamatan
Meminta isi JSON:
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json-patch+json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json-patch+json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | Select-Object -Expand Content
APIs Explorer
Salin isi permintaan dan buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Tempelkan isi permintaan di alat ini, lengkapi kolom lainnya yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Mendapatkan resource FHIR
Contoh berikut menunjukkan cara menggunakan metode projects.locations.datasets.fhirStores.fhir.read
untuk mendapatkan konten resource FHIR.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4.
Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
Konsol
Untuk mendapatkan konten resource FHIR, ikuti langkah-langkah berikut:
Di konsol Google Cloud, buka halaman FHIR viewer.
Di menu drop-down FHIR Store, pilih set data, lalu pilih penyimpanan FHIR dalam set data.
Untuk memfilter daftar jenis resource, telusuri jenis resource yang ingin Anda tampilkan.
Klik kolom Resource Type.
Di menu drop-down Properties yang muncul, pilih Resource Type.
Masukkan jenis resource.
Untuk menelusuri jenis resource lain, pilih ATAU dari menu drop-down Operator yang muncul, lalu masukkan jenis resource lain.
Dalam daftar jenis resource, pilih jenis resource untuk resource yang kontennya ingin Anda dapatkan.
Dalam tabel resource yang muncul, pilih atau telusuri resource.
REST
Contoh berikut menunjukkan cara mendapatkan detail resource Pengamatan yang dibuat di bagian sebelumnya.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- OBSERVATION_ID: ID resource Pengamatan
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | Select-Object -Expand Content
APIs Explorer
Buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Go
Java
Node.js
Python
Mendapatkan semua detail resource Pertemuan
Contoh berikut menunjukkan cara menggunakan metode projects.locations.datasets.fhirStores.fhir.Encounter-everything
untuk melihat detail tentang resource Encounter dan semua resource yang terkait dengan Encounter.
Metode ini menerapkan operasi ekstensi FHIR
Encounter-everything
yang ditentukan dalam versi FHIR berikut:
REST
Gunakan metode projects.locations.datasets.fhirStores.fhir.Encounter-everything
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: ID project Google Cloud AndaLOCATION
: lokasi set dataDATASET_ID
: ID set dataFHIR_STORE_ID
: ID FHIR storeENCOUNTER_ID
: ID resource Pertemuan
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter/ENCOUNTER_ID/\$everything"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter/ENCOUNTER_ID/\$everything" | Select-Object -Expand Content
c427ce3e-7677-400e-bc06-33a8cecfdd77
, yang merupakan resource sintetis di bucket Cloud Storage publik gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/
.
Mendapatkan semua referensi untuk kompartemen pasien
Contoh berikut menunjukkan cara mendapatkan semua resource yang terkait dengan
kompartemen pasien tertentu
(DSTU2,
STU3,
dan R4).
Untuk informasi selengkapnya, lihat
projects.locations.datasets.fhirStores.fhir.Patient-everything
.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
curl
Untuk mendapatkan resource di kompartemen pasien, buat permintaan GET
dan
tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- ID pasien
- Token akses
Contoh berikut menunjukkan permintaan GET
yang menggunakan curl
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything"
Jika permintaan berhasil, server akan menampilkan respons yang mirip dengan contoh berikut dalam format JSON:
{ "entry": [ { "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" } }, { "resource": { "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } } } ], "resourceType": "Bundle", "type": "searchset" }
PowerShell
Untuk mendapatkan resource di kompartemen pasien, buat permintaan GET
dan
tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- ID pasien
- Token akses
Contoh berikut menunjukkan permintaan GET
menggunakan PowerShell:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything' | ConvertTo-Json
Jika permintaan berhasil, server akan menampilkan respons yang mirip dengan contoh berikut dalam format JSON:
{ "entry": [ { "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" } }, { "resource": { "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } } } ], "resourceType": "Bundle", "type": "searchset" }
Go
Java
Node.js
Python
Mendapatkan resource kompartemen pasien yang difilter menurut jenis atau tanggal
Contoh berikut menunjukkan cara mendapatkan semua resource yang terkait dengan
kompartemen pasien (R4)
tertentu
yang difilter berdasarkan daftar jenis dan sejak tanggal dan waktu yang ditentukan.
Untuk informasi selengkapnya, lihat projects.locations.datasets.fhirStores.fhir.Patient-everything
.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4.
curl
Untuk mendapatkan resource di kompartemen pasien dari jenis yang ditentukan dan sejak
tanggal yang ditentukan, buat permintaan GET
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- ID pasien
- String kueri yang berisi daftar jenis resource yang dipisahkan koma dan tanggal mulai
- Token akses
Contoh berikut menunjukkan permintaan GET
yang menggunakan curl
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything?_type=RESOURCE_TYPES&_since=DATE"
Jika permintaan berhasil, server akan menampilkan resource apa pun yang cocok dengan kriteria yang ditentukan dalam format JSON.
PowerShell
Untuk mendapatkan resource di kompartemen pasien dari jenis yang ditentukan dan sejak
tanggal yang ditentukan, buat permintaan GET
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- ID pasien
- String kueri yang berisi daftar jenis resource yang dipisahkan koma dan tanggal mulai
- Token akses
Contoh berikut menunjukkan permintaan GET
menggunakan PowerShell:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything?_type=RESOURCE_TYPES&_since=DATE' | ConvertTo-Json
Jika permintaan berhasil, server akan menampilkan resource apa pun yang cocok dengan kriteria yang ditentukan dalam format JSON.
Mencantumkan versi resource FHIR
Contoh berikut menunjukkan cara mencantumkan semua versi historis resource FHIR. Untuk informasi selengkapnya, lihat
projects.locations.datasets.fhirStores.fhir.history
.
Contoh ini menggunakan resource yang dibuat di Membuat resource FHIR dan menunjukkan cara mencantumkan versi resource Observation.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
curl
Contoh berikut menunjukkan cara mencantumkan semua versi resource Observasi. Pengamatan telah diperbarui satu kali setelah pembuatan awal untuk mengubah detak jantung pasien per menit (BPM).
Untuk mencantumkan semua versi resource FHIR, termasuk versi saat ini dan versi
yang dihapus, buat permintaan GET
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Jenis dan ID resource
- Token akses
Contoh berikut menunjukkan permintaan GET
yang menggunakan curl
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history"
Jika permintaan berhasil, server akan menampilkan respons dalam format JSON. Dalam contoh ini, metode ini menampilkan dua versi Pengamatan. Pada versi pertama, detak jantung pasien adalah 75 BPM. Pada versi kedua, detak jantung pasien adalah 85 BPM.
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 85 } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } } } ], "resourceType": "Bundle", "type": "history" }
PowerShell
Contoh berikut menunjukkan cara mencantumkan semua versi resource Observasi. Pengamatan telah diperbarui satu kali setelah pembuatan awal untuk mengubah detak jantung pasien per menit (BPM).
Untuk mencantumkan semua versi resource FHIR, termasuk versi saat ini dan versi
yang dihapus, buat permintaan GET
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Jenis dan ID resource
- Token akses
Contoh berikut menunjukkan permintaan GET
menggunakan PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan respons dalam format JSON. Dalam contoh ini, metode ini menampilkan dua versi Pengamatan. Pada versi pertama, detak jantung pasien adalah 75 BPM. Pada versi kedua, detak jantung pasien adalah 85 BPM.
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 85 } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } } } ], "resourceType": "Bundle", "type": "history" }
Go
Java
Node.js
Python
Mengambil versi resource FHIR
Contoh berikut menunjukkan cara mengambil versi resource tertentu.
Untuk informasi selengkapnya, lihat
projects.locations.datasets.fhirStores.fhir.vread
.
ID versi untuk resource Observation dari Mencantumkan versi resource FHIR ditandai di bawah:
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, ... { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, ... }
Contoh berikut menggunakan resource yang dibuat di Membuat resource FHIR dan menunjukkan cara melihat resource Pengamatan.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Go, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
curl
Untuk mendapatkan versi resource FHIR tertentu, buat permintaan GET
dan
tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Jenis dan ID resource
- Versi resource
- Token akses
Contoh berikut menunjukkan permintaan GET
yang menggunakan curl
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history/RESOURCE_VERSION"
Jika permintaan berhasil, server akan menampilkan respons dalam format JSON. Dalam contoh ini, versi pertama Observasi, dengan detak jantung pasien 75 BPM, ditampilkan.
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } }
PowerShell
Untuk mendapatkan versi resource FHIR tertentu, buat permintaan GET
dan
tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Jenis dan ID resource
- Versi resource
- Token akses
Contoh berikut menunjukkan permintaan GET
yang menggunakan curl
.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/RESOURCE_VERSION/_history" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan respons dalam format JSON. Dalam contoh ini, versi pertama Observasi, dengan detak jantung pasien 75 BPM, ditampilkan.
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } }
Go
Java
Node.js
Python
Menghapus resource FHIR
Contoh berikut menunjukkan cara memanggil metode projects.locations.datasets.fhirStores.fhir.delete
untuk menghapus resource FHIR Pengamatan.
Terlepas dari apakah operasi berhasil atau gagal, server akan menampilkan kode status HTTP 200 OK
. Untuk memeriksa apakah resource berhasil
dihapus, telusuri atau dapatkan
resource dan lihat apakah resource tersebut ada.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID FHIR store
- OBSERVATION_ID: ID resource Pengamatan
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | Select-Object -Expand Content
APIs Explorer
Buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Go
Java
Node.js
Python
Menghapus resource FHIR secara bersyarat
Di Cloud Healthcare API v1, operasi bersyarat secara eksklusif menggunakan parameter penelusuran identifier
, jika ada untuk jenis resource FHIR, untuk menentukan resource FHIR mana yang cocok dengan kueri penelusuran bersyarat.
Resource FHIR cocok dengan kueri ?identifier=my-code-system|ABC-12345
jika dan hanya jika identifier.system
resource
adalah my-code-system
dan identifier.value
-nya adalah ABC-12345
. Jika resource FHIR cocok dengan kueri, Cloud Healthcare API akan menghapus resource tersebut.
Jika kueri menggunakan parameter penelusuran identifier
dan cocok dengan beberapa resource FHIR, Cloud Healthcare API akan menampilkan error "412 - Condition not selective enough"
.
Untuk menghapus resource satu per satu, ikuti langkah-langkah berikut:
- Telusuri setiap resource untuk mendapatkan ID unik yang ditetapkan server.
- Hapus setiap resource satu per satu menggunakan ID.
Contoh berikut menunjukkan cara menghapus resource FHIR secara kondisional yang cocok dengan kueri penelusuran,
bukan mengidentifikasi resource FHIR berdasarkan ID-nya.
Kueri penelusuran mencocokkan dan menghapus resource Pengamatan menggunakan
ID Pengamatan (ABC-12345
di my-code-system
).
REST
Gunakan metode projects.locations.datasets.fhirStores.fhir.conditionalDelete
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: ID project Google Cloud AndaLOCATION
: lokasi set dataDATASET_ID
: set data induk penyimpanan FHIRFHIR_STORE_ID
: ID FHIR store
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | Select-Object -Expand Content
APIs Explorer
Buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan menerima kode status yang berhasil (2xx) dan respons kosong.
Menghapus versi historis resource FHIR
Contoh berikut menunjukkan cara menghapus semua versi historis resource FHIR. Untuk informasi selengkapnya, lihat
projects.locations.datasets.fhirStores.fhir.Resource-purge
.
Panggilan metode projects.locations.datasets.fhirStores.fhir.Resource-purge
dibatasi untuk pengguna (pemanggil) dengan
peran
roles/healthcare.fhirStoreAdmin
; pengguna dengan peran roles/healthcare.fhirResourceEditor
tidak dapat
memanggil metode. Untuk mengizinkan pemanggil menghapus versi historis resource
FHIR, lakukan salah satu tindakan berikut:
- Pastikan pemanggil memiliki peran
roles/healthcare.fhirStoreAdmin
. - Buat peran IAM kustom dengan izin
healthcare.fhirResources.purge
dan tetapkan peran tersebut kepada pemanggil.
Contoh ini menggunakan resource yang dibuat di Membuat resource FHIR dan menunjukkan cara menghapus versi historis resource Observation.
Contoh curl
dan PowerShell berikut berfungsi dengan penyimpanan FHIR R4. Contoh Go, Java, Node.js, dan Python berfungsi dengan penyimpanan FHIR STU3.
curl
Untuk menghapus semua versi historis resource FHIR, buat permintaan DELETE
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Jenis dan ID resource
- Token akses
Contoh berikut menunjukkan permintaan DELETE
yang menggunakan curl
.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/\$purge"
Jika permintaan berhasil, server akan menampilkan isi respons kosong dalam format JSON:
{}
PowerShell
Untuk menghapus semua versi historis resource FHIR, buat permintaan DELETE
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Jenis dan ID resource
- Token akses
Contoh berikut menunjukkan permintaan DELETE
menggunakan PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Delete ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/$purge" | ConvertTo-Json
Jika permintaan berhasil, server akan menampilkan isi respons kosong dalam format JSON:
{}