이 페이지에서는 FHIR 리소스를 생성, 업데이트, 패치, 보기, 삭제하는 방법을 설명합니다.
FHIR 리소스에는 환자, 기기, 관찰 등에 대한 데이터가 포함될 수 있습니다. FHIR 리소스의 전체 목록은 FHIR 리소스 색인(DSTU2 또는 R4)을 참조하세요.
이 페이지의 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소와 호환되며 DSTU2 또는 STU3 FHIR 저장소를 사용하는 경우 작동되지 않을 수 있습니다.
DSTU2 또는 STU3 FHIR 저장소를 사용하는 경우 사용 중인 FHIR 버전에 대한 샘플을 변환하는 방법을 https://www.hl7.org/fhir/의 공식 FHIR 문서에서 참조하세요.
Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
FHIR 리소스 만들기
FHIR 리소스를 만들려면 먼저 FHIR 저장소를 만들어야 합니다.
curl
, Windows PowerShell, Python 샘플은 다음과 같은 FHIR 리소스를 만드는 방법을 보여줍니다.
다른 모든 언어의 샘플은 일반 FHIR 리소스를 만드는 방법을 보여줍니다.
자세한 내용은 projects.locations.datasets.fhirStores.fhir.create
를 참조하세요.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
환자 리소스를 만들려면 POST
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 환자에 대한 정보가 포함된 데이터 blob
- 리소스 유형
- 액세스 토큰
다음 샘플은 curl
을 사용하는 POST
요청을 보내 환자 리소스를 만드는 방법을 보여줍니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"name\": [ { \"use\": \"official\", \"family\": \"Smith\", \"given\": [ \"Darcy\" ] } ], \"gender\": \"female\", \"birthDate\": \"1970-01-01\", \"resourceType\": \"Patient\" }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
PowerShell
환자 리소스를 만들려면 POST
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 환자에 대한 정보가 포함된 데이터 blob
- 리소스 유형
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용하는 POST
요청을 보내 환자 리소스를 만드는 방법을 보여줍니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $patient = '{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $patient ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | ConvertTo-Json
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
Go
자바
Node.js
Python
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
환자 리소스를 만든 후 환자와 전문의 사이의 상호작용을 설명하는 Encounter 리소스를 만듭니다.
다음 샘플은 curl
을 사용하는 POST
요청을 보내 Encounter 리소스를 만드는 방법을 보여줍니다.
PATIENT_ID 필드에서 환자를 만들 때 서버에서 반환한 응답의 ID를 대체합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"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\" }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } }
PowerShell
환자 리소스를 만든 후 환자와 전문의 사이의 상호작용을 설명하는 Encounter 리소스를 만듭니다. 다음 샘플은 Windows PowerShell을 사용하는 POST
요청을 보내 Encounter 리소스를 만드는 방법을 보여줍니다.
PATIENT_ID 필드에서 환자를 만들 때 서버에서 반환한 응답의 ID를 대체합니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $encounter = '{ "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" }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $encounter ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter" | ConvertTo-Json
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } }
Python
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
Encounter 리소스를 만든 후에는 Encounter에 대한 관찰을 만듭니다. 관찰은 환자의 분당 심박수(BPM) 측정값을 제공합니다. 다음 샘플은 curl
을 사용하는 POST
요청을 보내 관찰 리소스를 만드는 방법을 보여줍니다.
- BPM_VALUE 필드에 값을 입력합니다.
- PATIENT_ID 필드에서 환자를 만들 때 서버에서 반환한 응답의 ID를 대체합니다.
- ENCOUNTER_ID 필드에서 Encounter를 만들 때 서버가 반환한 응답의 ID를 대체합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"resourceType\": \"Observation\", \"status\": \"final\", \"subject\": { \"reference\": \"Patient/PATIENT_ID\" }, \"effectiveDateTime\": \"2020-01-01T00:00:00+00:00\", \"code\": { \"coding\": [ { \"system\": \"http://loinc.org\", \"code\": \"8867-4\", \"display\": \"Heart rate\" } ] }, \"valueQuantity\": { \"value\": BPM_VALUE, \"unit\": \"bpm\" }, \"encounter\": { \"reference\": \"Encounter/ENCOUNTER_ID\" } }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "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": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
Encounter 리소스를 만든 후에는 Encounter에 대한 관찰을 만듭니다. 관찰은 환자의 분당 심박수(BPM) 측정값을 제공합니다. 다음 샘플은 Windows PowerShell을 사용하여 POST
요청을 보내 관찰 리소스를 만드는 방법을 보여줍니다.
- BPM_VALUE 필드에 값을 입력합니다.
- PATIENT_ID 필드에서 환자를 만들 때 서버에서 반환한 응답의 ID를 대체합니다.
- ENCOUNTER_ID 필드에서 Encounter를 만들 때 서버가 반환한 응답의 ID를 대체합니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation" | ConvertTo-Json
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "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": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Python
FHIR 리소스 업데이트하기
다음 샘플은 projects.locations.datasets.fhirStores.fhir.update
메서드를 호출하여 FHIR 리소스를 업데이트하는 방법을 보여줍니다. 이 메서드는 FHIR 표준 업데이트 상호작용(DSTU2, STU3, R4)을 구현합니다.
리소스를 업데이트하면 리소스의 전체 콘텐츠가 업데이트됩니다. 이는 리소스의 일부만 업데이트하는 리소스 패치와 대조됩니다.
FHIR 저장소에 enableUpdateCreate
가 설정되어 있는 경우 요청은 리소스가 있으면 리소스를 업데이트하고 리소스가 없으면 요청을 지정한 ID를 사용하여 삽입하는 upsert(업데이트 또는 삽입)로 처리됩니다.
요청 본문에는 JSON 인코딩 FHIR 리소스가 포함되어야 하며 요청 헤더에는 Content-Type: application/fhir+json
이 포함되어야 합니다. 리소스에는 요청의 REST 경로에 있는 ID와 동일한 값을 가진 id
요소가 포함되어야 합니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
FHIR 리소스를 업데이트하려면 PUT
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형
- 리소스 ID
- 액세스 토큰
다음 샘플은 curl
을 사용하는 PUT
요청을 보내 관찰 리소스를 수정하는 방법을 보여줍니다. 관찰은 환자의 분당 심박수(BPM) 측정값을 제공합니다.
curl -X PUT \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data '{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "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 } }' \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
FHIR 리소스를 업데이트하려면 PUT
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형
- 리소스 ID
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용하는 PUT
요청을 보내 관찰 리소스를 수정하는 방법을 보여줍니다. 관찰은 환자의 분당 심박수(BPM) 측정값을 제공합니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "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 } }' Invoke-RestMethod ` -Method Put ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | ConvertTo-Json
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Node.js
Python
FHIR 리소스 조건부 업데이트
다음 샘플은 ID로 리소스를 식별하는 대신 projects.locations.datasets.fhirStores.fhir.conditionalUpdate
메서드를 호출하여 검색어와 일치하는 FHIR 리소스를 업데이트하는 방법을 보여줍니다. 이 메서드는 FHIR 표준 조건부 업데이트 상호작용(DSTU2, STU3, R4)을 구현합니다.
조건부 업데이트는 한 번에 하나의 리소스에만 적용할 수 있습니다.
서버에서 반환된 응답은 검색 기준을 기준으로 일치하는 항목 수에 따라 달라집니다.
- 1개 일치: 리소스가 성공적으로 업데이트되거나 오류가 반환됩니다.
- 1개 초과 일치: 요청이
412 Precondition Failed
오류를 반환합니다. id
가 없는 제로 일치: 검색 기준이 제로 일치를 확인하고 제공된 리소스 본문에id
가 없고 FHIR 저장소에enableUpdateCreate
조합이 있는 경우 리소스가projects.locations.datasets.fhirStores.fhir.create
를 사용하여 리소스를 만든 경우와 유사한 서버 할당 ID로 리소스를 만듭니다.id
는 무시됩니다.id
가 없는 제로 일치: 검색 기준이 제로 일치를 확인하고 제공된 리소스 본문에id
가 없는 경우 리소스가projects.locations.datasets.fhirStores.fhir.create
를 사용하여 리소스를 만든 경우와 유사한 서버 할당 ID로 리소스를 만듭니다.
요청 본문에는 JSON 인코딩 FHIR 리소스가 포함되어야 하며 요청 헤더에는 Content-Type: application/fhir+json
이 포함되어야 합니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go 및 Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
검색어와 일치하는 FHIR 리소스를 업데이트하려면 PUT
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 검색할 리소스 유형
- 검색할 정보가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 curl
을 사용하는 PUT
요청을 보내 관찰 식별자(my-code-system
의 ABC-12345
)를 사용하는 관찰 리소스를 수정하는 방법을 보여줍니다. 관찰은 환자의 분당 심박수(BPM) 측정값을 제공합니다.
curl -X PUT \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data '{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
검색어와 일치하는 FHIR 리소스를 업데이트하려면 PUT
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 검색할 리소스 유형
- 검색할 정보가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용하는 PUT
요청을 보내 관찰 식별자(ABC-12345
의 my-code-system
)를 사용하는 관찰 리소스를 수정하는 방법을 보여줍니다. 관찰은 환자의 분당 심박수(BPM) 측정값을 제공합니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' Invoke-RestMethod ` -Method Put ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | ConvertTo-Json
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Python
FHIR 리소스 패치
다음 샘플은 projects.locations.datasets.fhirStores.fhir.patch
메서드를 호출하여 FHIR 리소스를 패치하는 방법을 보여줍니다. 이 메서드는 FHIR 표준 패치 상호작용(DSTU2, STU3, R4)을 구현합니다.
리소스를 패치할 때는 JSON 패치 문서에 지정된 작업을 적용하여 리소스의 일부를 업데이트합니다.
요청에는 JSON 패치 문서가 포함되어야 하며 요청 헤더에는 Content-Type: application/json-patch+json
이 포함되어야 합니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
FHIR 리소스를 패치하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형
- 리소스 ID
- 액세스 토큰
다음 샘플은 curl
을 사용하는 PATCH
요청을 보내 관찰 리소스를 수정하는 방법을 보여줍니다. 환자의 분당 심박수(BPM) 관찰은 replace
패치 작업을 사용하여 업데이트됩니다.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json-patch+json" \ --data '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
FHIR 리소스를 패치하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형
- 리소스 ID
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용하는 PATCH
요청을 보내 관찰 리소스를 수정하는 방법을 보여줍니다. 환자의 분당 심박수(BPM) 관찰은 replace
패치 작업을 사용하여 업데이트됩니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $patch = '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' Invoke-RestMethod ` -Method Patch ` -Headers $headers ` -ContentType: "application/json-patch+json" ` -Body $patch ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | ConvertTo-Json
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
자바
Node.js
Python
FHIR 리소스 조건부 패치
다음 샘플은 ID로 리소스를 식별하는 대신 projects.locations.datasets.fhirStores.fhir.conditionalPatch
메서드를 호출하여 검색어와 일치하는 FHIR 리소스를 패치하는 방법을 보여줍니다. 이 메서드는 FHIR 표준 조건부 패치 상호작용(DSTU2, STU3, R4)을 구현합니다.
조건부 패치는 한 번에 하나의 리소스에만 적용할 수 있습니다. 검색 기준에 일치하는 항목이 한 개를 초과하면 요청에서 412 Precondition Failed
오류를 반환합니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go 및 Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
검색어와 일치하는 FHIR 리소스를 패치하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 검색할 리소스 유형
- 검색할 정보가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 관찰의 식별자가 my-code-system
의 ABC-12345
인 경우 관찰을 수정하기 위해 curl
을 사용하여 PATCH
요청을 전송하는 방법을 보여줍니다.
환자의 분당 심박수(BPM) 관찰은 replace
패치 작업을 사용하여 업데이트됩니다.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json-patch+json" \ --data '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
검색어와 일치하는 FHIR 리소스를 패치하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 검색할 리소스 유형
- 검색할 정보가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 관찰의 식별자가 my-code-system
의 ABC-12345
인 경우 관찰을 수정하기 위해 Windows PowerShell을 사용하여 PATCH
요청을 전송하는 방법을 보여줍니다.
환자의 분당 심박수(BPM) 관찰은 replace
패치 작업을 사용하여 업데이트됩니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $patch = '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' Invoke-RestMethod ` -Method Patch ` -Headers $headers ` -ContentType: "application/json-patch+json" ` -Body $patch ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | ConvertTo-Json
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Python
FHIR 리소스 가져오기
다음 샘플은 FHIR 리소스의 콘텐츠를 가져오는 방법을 보여줍니다. 자세한 내용은 projects.locations.datasets.fhirStores.fhir.read
를 참조하세요.
Console
FHIR 리소스의 콘텐츠를 가져오려면 다음 단계별 안내를 따르세요.
Cloud Console에서 FHIR 뷰어 페이지로 이동합니다.
FHIR 저장소 드롭다운 목록에서 데이터 세트를 선택한 다음 데이터 세트의 FHIR 저장소를 선택합니다.
리소스 유형 목록을 필터링하려면 표시할 리소스 유형을 검색하세요.
리소스 유형 필드를 클릭합니다.
표시되는 속성 드롭다운 목록에서 리소스 유형을 선택합니다.
리소스 유형을 입력합니다.
다른 리소스 유형을 검색하려면 표시되는 연산자 드롭다운 목록에서 OR을 선택한 후 다른 리소스 유형을 입력하세요.
리소스 유형 목록에서 콘텐츠를 가져올 리소스의 리소스 유형을 선택합니다.
표시되는 리소스 테이블에서 리소스를 선택하거나 검색합니다.
API
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
FHIR 리소스의 콘텐츠를 가져오려면 GET
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 액세스 토큰
다음 샘플은 이전 섹션에서 만든 관찰에서 curl
을 사용하는 GET
요청을 보여줍니다.
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/Observation/RESOURCE_ID"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "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": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
FHIR 리소스의 콘텐츠를 가져오려면 GET
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 액세스 토큰
다음 샘플은 이전 섹션에서 만든 관찰에서 Windows PowerShell을 사용하여 GET
요청을 보여줍니다.
$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/Observation/RESOURCE_ID" | ConvertTo-Json
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "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": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
자바
Node.js
Python
모든 환자 구획 리소스 가져오기
다음 샘플은 특정 환자 구획(DSTU2, STU3, R4)과 관련된 모든 리소스를 가져오는 방법을 보여줍니다.
자세한 내용은 projects.locations.datasets.fhirStores.fhir.Patient-everything
을 참조하세요.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
환자 구획의 리소스를 가져오려면 GET
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 환자의 ID
- 액세스 토큰
다음 샘플은 curl
을 사용하는 GET
요청을 보여줍니다.
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"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 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
환자 구획의 리소스를 가져오려면 GET
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 환자의 ID
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 GET
요청을 보여줍니다.
$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
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 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
자바
Node.js
Python
유형 또는 날짜별로 필터링된 환자 구획 리소스 가져오기
다음 샘플은 유형 목록 및 지정된 날짜 및 시간 이후로 필터링된 특정 환자 구획(R4)과 관련된 모든 리소스를 가져오는 방법을 보여줍니다.
자세한 내용은 projects.locations.datasets.fhirStores.fhir.Patient-everything
을 참조하세요.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다.
curl
지정된 유형의 환자 구획에 있는 지정된 날짜 이후의 리소스를 가져오려면 GET
요청을 실행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 환자의 ID
- 쉼표로 구분된 리소스 유형 목록과 시작 날짜가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 curl
을 사용하는 GET
요청을 보여줍니다.
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"
요청이 성공하면 서버는 지정된 기준과 일치하는 모든 리소스를 JSON 형식으로 반환합니다.
PowerShell
지정된 유형의 환자 구획에 있는 지정된 날짜 이후의 리소스를 가져오려면 GET
요청을 실행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 환자의 ID
- 쉼표로 구분된 리소스 유형 목록과 시작 날짜가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 GET
요청을 보여줍니다.
$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
요청이 성공하면 서버는 지정된 기준과 일치하는 모든 리소스를 JSON 형식으로 반환합니다.
FHIR 리소스 버전 나열
다음 샘플은 FHIR 리소스의 모든 이전 버전을 나열하는 방법을 보여줍니다. 자세한 내용은 projects.locations.datasets.fhirStores.fhir.history
를 참조하세요.
이 샘플은 FHIR 리소스 만들기에서 만든 리소스를 사용하며 관찰 리소스의 버전을 나열하는 방법을 보여줍니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
다음 샘플은 관찰 리소스의 모든 버전을 나열하는 방법을 보여줍니다. 관찰은 환자의 분당 심박수(BPM)를 변경하기 위해 처음 만든 후 한 번 업데이트되었습니다.
현재 버전 및 삭제된 버전을 포함하여 FHIR 리소스의 모든 버전을 나열하려면 GET
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 액세스 토큰
다음 샘플은 curl
을 사용하는 GET
요청을 보여줍니다.
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"
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다. 이 예시에서는 관찰의 두 가지 버전을 반환합니다. 첫 번째 버전에서 환자의 심박수는 75BPM이었습니다. 두 번째 버전에서 환자의 심박수는 85BPM이었습니다.
{ "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
다음 샘플은 관찰 리소스의 모든 버전을 나열하는 방법을 보여줍니다. 관찰은 환자의 분당 심박수(BPM)를 변경하기 위해 처음 만든 후 한 번 업데이트되었습니다.
현재 버전 및 삭제된 버전을 포함하여 FHIR 리소스의 모든 버전을 나열하려면 GET
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 GET
요청을 보여줍니다.
$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
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다. 이 예시에서는 관찰의 두 가지 버전을 반환합니다. 첫 번째 버전에서 환자의 심박수는 75BPM이었습니다. 두 번째 버전에서 환자의 심박수는 85BPM이었습니다.
{ "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
자바
Node.js
Python
FHIR 리소스 버전 검색하기
다음 샘플은 특정 버전의 리소스를 검색하는 방법을 보여줍니다.
자세한 내용은 projects.locations.datasets.fhirStores.fhir.vread
를 참조하세요.
아래에는 FHIR 리소스 버전 나열에서 관찰 리소스의 버전 ID가 강조표시됩니다.
{ "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" }, ... }
다음 샘플은 FHIR 리소스 만들기에서 만든 리소스를 사용하고 관찰 리소스를 표시하는 방법을 보여줍니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
FHIR 리소스의 특정 버전을 가져오려면 GET
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 리소스 버전
- 액세스 토큰
다음 샘플은 curl
을 사용하는 GET
요청을 보여줍니다.
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"
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다. 이 예시에서는 환자 심박수가 75BPM인 첫 번째 관찰 버전이 반환됩니다.
{ "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
FHIR 리소스의 특정 버전을 가져오려면 GET
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 리소스 버전
- 액세스 토큰
다음 샘플은 curl
을 사용하는 GET
요청을 보여줍니다.
$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
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다. 이 예시에서는 환자 심박수가 75BPM인 첫 번째 관찰 버전이 반환됩니다.
{ "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
Node.js
Python
FHIR 리소스 삭제하기
다음 샘플은 projects.locations.datasets.fhirStores.fhir.delete
메서드를 호출하여 FHIR 리소스를 삭제하는 방법을 보여줍니다.
작업의 성공 또는 실패 여부와 관계없이 서버는 200 OK
HTTP 상태 코드를 반환합니다. 리소스가 성공적으로 삭제되었는지 확인하려면 리소스를 검색하거나 가져와서 리소스가 있는지 확인합니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
FHIR 리소스를 삭제하려면 DELETE
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 액세스 토큰
다음 샘플은 curl
을 사용하는 DELETE
요청을 보여줍니다.
curl -X DELETE \ -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"
요청이 성공하면 서버가 JSON 형식으로 빈 응답 본문을 반환합니다.
{}
PowerShell
FHIR 리소스를 삭제하려면 DELETE
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 DELETE
요청을 보여줍니다.
$cred = gcloud auth application-default 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/RESOURCE_TYPE/RESOURCE_ID" | Select-Object -Expand Content
요청이 성공하면 서버가 JSON 형식으로 빈 응답 본문을 반환합니다.
{}
Go
자바
Node.js
Python
FHIR 리소스 조건부 삭제
다음 샘플은 ID로 리소스를 식별하는 대신 projects.locations.datasets.fhirStores.fhir.conditionalDelete
메서드를 호출하여 검색어와 일치하는 FHIR 리소스를 삭제하는 방법을 보여줍니다.
리소스를 조건부 패치하거나 조건부 업데이트하는 것과 달리 조건부 삭제 메서드는 검색 기준에서 여러 일치 항목이 반환되는 경우 여러 리소스에 적용될 수 있습니다.
작업의 성공 또는 실패 여부와 관계없이 서버는 200 OK
HTTP 상태 코드를 반환합니다. 리소스가 성공적으로 삭제되었는지 확인하려면 리소스를 검색하거나 가져와서 리소스가 있는지 확인합니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go 및 Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
검색어와 일치하는 FHIR 리소스를 삭제하려면 DELETE
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 검색할 리소스 유형
- 검색할 정보가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 curl
을 사용한 DELETE
요청을 수행하여 status
가 cancelled
(STU3, R4)인 모든 관찰을 삭제합니다.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?status=cancelled"
요청이 성공하면 서버가 JSON 형식으로 빈 응답 본문을 반환합니다.
{}
PowerShell
검색어와 일치하는 FHIR 리소스를 삭제하려면 DELETE
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 검색할 리소스 유형
- 검색할 정보가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 DELETE
요청을 수행하여 status
가 cancelled
(STU3, R4)인 모든 관찰을 삭제합니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Delete ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?status=cancelled" | Select-Object -Expand Content
요청이 성공하면 서버가 JSON 형식으로 빈 응답 본문을 반환합니다.
{}
Go
Python
FHIR 리소스의 이전 버전 삭제하기
다음 샘플은 FHIR 리소스의 모든 이전 버전을 삭제하는 방법을 보여줍니다. 자세한 내용은 projects.locations.datasets.fhirStores.fhir.Resource-purge
를 참조하세요.
projects.locations.datasets.fhirStores.fhir.Resource-purge
메서드 호출은 roles/healthcare.fhirStoreAdmin
역할을 가진 사용자(호출자)로 제한됩니다. roles/healthcare.fhirResourceEditor
역할을 가진 사용자는 이 메서드를 호출할 수 없습니다. 호출자가 FHIR 리소스의 이전 버전을 삭제하도록 허용하려면 다음 중 하나를 수행합니다.
- 호출자에게
roles/healthcare.fhirStoreAdmin
역할이 있는지 확인합니다. healthcare.fhirResources.purge
권한이 있는 커스텀 IAM 역할을 만들고 호출자에게 이 역할을 할당합니다.
이 샘플은 FHIR 리소스 만들기에서 만든 리소스를 사용하며 관찰 리소스의 이전 버전을 삭제하는 방법을 보여줍니다.
다음 curl
및 Windows PowerShell 샘플은 R4 FHIR 저장소에서 작동합니다. Go, 자바, Node.js, Python 샘플은 STU3 FHIR 저장소에서 작동합니다.
curl
FHIR 리소스의 모든 이전 버전을 삭제하려면 DELETE
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 액세스 토큰
다음 샘플은 curl
을 사용하는 DELETE
요청을 보여줍니다.
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"
요청이 성공하면 서버가 JSON 형식으로 빈 응답 본문을 반환합니다.
{}
PowerShell
FHIR 리소스의 모든 이전 버전을 삭제하려면 DELETE
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 리소스 유형 및 ID
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 DELETE
요청을 보여줍니다.
$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
요청이 성공하면 서버가 JSON 형식으로 빈 응답 본문을 반환합니다.
{}