ๆฌ้ ่ชชๆๅฆไฝๅปบ็ซใๆดๆฐใไฟฎ่ฃใๆฅ็ใๅๅบใๆทๅๅๅช้ค FHIR ่ณๆบใ
FHIR ่ณๆบๅฏๅ ๅซ็ ๆฃใ่ฃ็ฝฎใ่งๅฏ็ตๆ็ญ่ณๆใๅฆ้ๅฎๆด็ FHIR ่ณๆบๆธ ๅฎ๏ผ่ซๅ้ฑ FHIR ่ณๆบ็ดขๅผ (DSTU2ใSTU3ใR4 ๆ R5)ใ
ๆฌ้ ็ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซ๏ผๅฆๆๆจไฝฟ็จ DSTU2 ๆ STU3 FHIR ๅฒๅญๅบซ๏ผๅไธไฟ่ญ่ฝๆญฃๅธธ้ไฝใๅฆๆๆจไฝฟ็จ DSTU2 ๆ STU3 FHIR ๅญๆพๅ๏ผ่ซๅ้ฑๅฎๆน FHIR ่ชชๆๆไปถ๏ผ็ญ่งฃๅฆไฝๅฐ็ฏไพ่ฝๆ็บๆจไฝฟ็จ็ FHIR ็ๆฌใ
GoใJavaใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
ๅปบ็ซ FHIR ่ณๆบ
ๆจๅฟ ้ ๅ ๅปบ็ซ FHIR ๅฒๅญๅบซ๏ผๆ่ฝๅปบ็ซ FHIR ่ณๆบใ
REST ๅ Python ็ฏไพ่ชชๆๅฆไฝๅปบ็ซไธๅ FHIR ่ณๆบ๏ผ
- ็ ๆฃ (DSTU2ใSTU3ใR4 ๅ R5) ่ณๆบ
- ็ ๆฃ็ Encounter (DSTU2ใ STU3ใ R4 ๅ R5) ่ณๆบ
- Encounter ็ Observation (DSTU2ใSTU3ใR4 ๅ R5) ่ณๆบ
ๅ ถไปๆๆ่ช่จ็็ฏไพๅ่ชชๆๅฆไฝๅปบ็ซไธ่ฌ FHIR ่ณๆบใ
่ฉณๆ
่ซๅ้ฑ projects.locations.datasets.fhirStores.fhir.create
ใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใJavaใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
REST
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
JSON ่ฆๆฑไธป้ซ๏ผ
{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
cat > request.json << 'EOF' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } EOF
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
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
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
@' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } '@ | Out-File -FilePath request.json -Encoding utf8
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
$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
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
Go
Java
Node.js
Python
ๅปบ็ซ Patient ่ณๆบๅพ๏ผ่ซๅปบ็ซ Encounter ่ณๆบ๏ผ่ชชๆ็ ๆฃ่้ซ่ญทไบบๅกไน้็ไบๅใ
ๅจ PATIENT_ID ๆฌไฝไธญ๏ผไปฃๅ ฅๆจๅปบ็ซ Patient ่ณๆบๆ๏ผไผบๆๅจๅณๅ็ๅๆ IDใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใPython ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅฒๅญๅบซใ
REST
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- PATIENT_ID๏ผๅปบ็ซ Patient ่ณๆบๆ๏ผไผบๆๅจๅณๅ็ๅๆ
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" }
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
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
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
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
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.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" } '@ | Out-File -FilePath request.json -Encoding utf8
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
$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
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
Python
ๅจ่ฉฆ็จ้ๅ็ฏไพไนๅ๏ผ่ซๅ ๆ็ งPythonใCloud Healthcare API ๅฟซ้ๅ ฅ้๏ผไฝฟ็จ็จๆถ็ซฏ็จๅผๅบซใไธญ็ๆไฝ่ชชๆ้ฒ่ก่จญๅฎใ่ฉณๆ ่ซๅ้ฑ Cloud Healthcare API Python API ๅ่่ชชๆๆไปถใ
ๅฆ่ฆๅ Cloud Healthcare API ้ฒ่ก้ฉ่ญ๏ผ่ซ่จญๅฎๆ็จ็จๅผ้ ่จญๆ่ญใ ่ฉณๆ ่ซๅ้ฑใ็บๆฌๆฉ้็ผ็ฐๅข่จญๅฎ้ฉ่ญใใ
ๅปบ็ซ Encounter ่ณๆบๅพ๏ผ่ซๅปบ็ซ่ Encounter ่ณๆบ็ธ้่ฏ็ Observation ่ณๆบใObservation ่ณๆบๆๆไพ็
ๆฃ็ๅฟ็ๆธฌ้็ตๆ๏ผๅฎไฝ็บๆฏๅ้ๅฟ่ทณๆธ (BPM) (80
in bpm
)ใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใPython ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅฒๅญๅบซใ
REST
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- PATIENT_ID๏ผๅปบ็ซ Patient ่ณๆบๆ๏ผไผบๆๅจๅจๅๆไธญๅณๅ็ ID
- ENCOUNTER_ID๏ผๅปบ็ซ Encounter ่ณๆบๆ๏ผไผบๆๅจๅณๅ็ๅๆ ID
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" } }
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
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
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
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
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.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" } } '@ | Out-File -FilePath request.json -Encoding utf8
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
$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
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
Python
ๅจ่ฉฆ็จ้ๅ็ฏไพไนๅ๏ผ่ซๅ ๆ็ งPythonใCloud Healthcare API ๅฟซ้ๅ ฅ้๏ผไฝฟ็จ็จๆถ็ซฏ็จๅผๅบซใไธญ็ๆไฝ่ชชๆ้ฒ่ก่จญๅฎใ่ฉณๆ ่ซๅ้ฑ Cloud Healthcare API Python API ๅ่่ชชๆๆไปถใ
ๅฆ่ฆๅ Cloud Healthcare API ้ฒ่ก้ฉ่ญ๏ผ่ซ่จญๅฎๆ็จ็จๅผ้ ่จญๆ่ญใ ่ฉณๆ ่ซๅ้ฑใ็บๆฌๆฉ้็ผ็ฐๅข่จญๅฎ้ฉ่ญใใ
ๆๆขไปถๅฐๅปบ็ซ FHIR ่ณๆบ
ไธๅ curl
็ฏไพ่ชชๆๅฆไฝไฝฟ็จ projects.locations.datasets.fhirStores.fhir.create
ๆนๆณ๏ผๆๆขไปถๅฐๅปบ็ซ FHIR ่ณๆบใ้ๅๆนๆณๆๅฏฆไฝ FHIR ๆขไปถๅผ create
ไบๅ (DSTU2ใSTU3ใR4ใR5)ใ
ๆจๅฏไปฅ้็จๆขไปถๅผๅปบ็ซๅ่ฝ๏ผ้ฟๅ ๅปบ็ซ้่ค็ FHIR ่ณๆบใ่ไพไพ่ชช๏ผFHIR ไผบๆๅจไธญ็ๆฏๅ Patient ่ณๆบ้ๅธธ้ฝๆๅฐๅฑฌ ID๏ผไพๅฆ็ ๆญท็ทจ่ (MRN)ใๅฆ่ฆๅปบ็ซๆฐ็ Patient ่ณๆบ๏ผไธฆ็ขบไฟๆฒๆ็ธๅ MRN ็ Patient ่ณๆบ๏ผ่ซไฝฟ็จๆๅฐๆฅ่ฉขๆๆขไปถๅฐๅปบ็ซๆฐ่ณๆบใๅชๆๅจๆๅฐๆฅ่ฉขๆฒๆ็ธ็ฌฆ้ ็ฎๆ๏ผCloud Healthcare API ๆๆๅปบ็ซๆฐ่ณๆบใ
ไผบๆๅจ็ๅๆๅๆฑบๆผ็ฌฆๅๆๅฐๆฅ่ฉข็่ณๆบๆธ้๏ผ
็ธ็ฌฆ | HTTP ๅๆ็ขผ | ่ก็บ |
---|---|---|
ๆชๆ | 201 CREATED |
ๅปบ็ซๆฐ่ณๆบใ |
1 ๅ | 200 OK |
ไธๆๅปบ็ซๆฐ่ณๆบใ |
่ถ ้ไธๅ | 412 Precondition Failed |
ไธๆๅปบ็ซๆฐ่ณๆบ๏ผไธฆๅณๅ "search criteria are not selective enough" ้ฏ่ชคใ |
ๅฆ่ฆไฝฟ็จๆขไปถๅผ create
ไบๅ๏ผ่้ create
ไบๅ๏ผ่ซๅจ่ฆๆฑไธญๆๅฎๅ
ๅซ FHIR ๆๅฐๆฅ่ฉข็ If-None-Exist
HTTP ๆจ้ ญ๏ผ
If-None-Exist: FHIR_SEARCH_QUERY
ๅจ Cloud Healthcare API ็ฌฌ 1 ็ไธญ๏ผๆขไปถๅผไฝๆฅญๆๅฐ้ไฝฟ็จ identifier
ๆๅฐๅๆธ (ๅฆๆ FHIR ่ณๆบ้กๅๆ้ๅๅๆธ)๏ผๅคๆทๅชไบ FHIR ่ณๆบ็ฌฆๅๆขไปถๅผๆๅฐๆฅ่ฉขใ
REST
ไปฅไธ็ฏไพ่ชชๆๅฆไฝไฝฟ็จ If-None-Exist: identifier=my-code-system|ABC-12345
HTTP ๆจ้ ญๅปบ็ซ Observation ่ณๆบใๅชๆๅจๆฒๆ็พๆ Observation ่ณๆบ็ฌฆๅๆฅ่ฉข identifier=my-code-system|ABC-12345
ๆ๏ผCloud Healthcare API ๆๆๅปบ็ซ่ณๆบใ
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"
ไธๅ่ผธๅบๅ งๅฎน็ฏไพๅปๆ้กฏ็คบๅคฑๆ็่ฆๆฑใๅฆ่ฆๆฅ็ๆๅ่ฆๆฑ็ๅๆ๏ผ่ซๅ้ฑใๅปบ็ซ FHIR ่ณๆบใใ
ๅฆๆๆๅคๅ Observation ่ณๆบ็ฌฆๅๆฅ่ฉขๆขไปถ๏ผCloud Healthcare API ๆๅณๅไธๅๅๆ๏ผไธๆขไปถๅผๅปบ็ซ่ฆๆฑๆๅคฑๆ๏ผ
{
"issue": [
{
"code": "conflict",
"details": {
"text": "ambiguous_query"
},
"diagnostics": "search criteria are not selective enough",
"severity": "error"
}
],
"resourceType": "OperationOutcome"
}
ๆดๆฐ FHIR ่ณๆบ
ไธๅ็ฏไพ่ชชๆๅฆไฝไฝฟ็จ projects.locations.datasets.fhirStores.fhir.update
ๆนๆณๆดๆฐ FHIR ่ณๆบใ้ๅๆนๆณๆๅฏฆไฝ FHIR ๆจๆบ็ๆดๆฐไบๅ (DSTU2ใSTU3ใR4 ๅ R5)ใ
ๆดๆฐ่ณๆบๆ๏ผๆจๆๆดๆฐ่ณๆบ็ๅฎๆดๅ งๅฎนใ ้่ไฟฎ่ฃ่ณๆบไธๅ๏ผๅพ่ ๅชๆๆดๆฐ่ณๆบ็้จๅๅ งๅฎนใ
ๅฆๆ FHIR ๅญๆพๅๅทฒ่จญๅฎ enableUpdateCreate
๏ผ็ณป็ตฑๆๅฐ่ฆๆฑ่ฆ็บ upsert (ๆดๆฐๆๆๅ
ฅ)๏ผๅฆๆ่ณๆบๅญๅจ๏ผๅๆๆดๆฐ่ณๆบ๏ผๅฆๆ่ณๆบไธๅญๅจ๏ผๅๆไฝฟ็จ่ฆๆฑไธญๆๅฎ็ ID ๆๅ
ฅ่ณๆบใ
่ฆๆฑไธป้ซๅฟ
้ ๅ
ๅซ JSON ็ทจ็ขผ็ FHIR ่ณๆบ๏ผ่ฆๆฑๆจ้ ญๅๅฟ
้ ๅ
ๅซ Content-Type: application/fhir+json
ใ่ณๆบๅฟ
้ ๅ
ๅซ id
ๅ
็ด ๏ผๅ
ถๅผ่่ฆๆฑ REST ่ทฏๅพไธญ็ ID ็ธๅใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใJavaใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
REST
ไธๅ็ฏไพ่ชชๆๅฆไฝๆดๆฐ Observation ่ณๆบไธญ็ๆฏๅ้ๅฟ่ทณๆธ (BPM)ใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- OBSERVATION_ID๏ผObservation ่ณๆบ ID
- PATIENT_ID๏ผ็ ๆฃ่ณๆบ ID
- ENCOUNTER_ID๏ผๆ่จบ่ณๆบ ID
- BPM_VALUE๏ผๆดๆฐๅพใ่งๅฏใ่ณๆบไธญ็ๆฏๅ้ๅฟ่ทณๆธ (BPM) ๅผ
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" } }
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
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
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
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
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.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" } } '@ | Out-File -FilePath request.json -Encoding utf8
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
$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
่ค่ฃฝ่ฆๆฑๅ งๆไธฆ้ๅๆนๆณๅ่่ณๆ้ ้ขใ็ณป็ตฑๆๅจ้ ้ขๅณๅด้ๅ APIs Explorer ้ขๆฟใๆจๅฏไปฅไฝฟ็จ้้ ๅทฅๅ ทไพๅณ้่ฆๆฑใๅฐ่ฆๆฑๅ งๆ่ฒผๅฐ้้ ๅทฅๅ ทไธญ๏ผไธฆๅกซๅฆฅๅ ถไปๅฟ ๅกซๆฌไฝ๏ผ็ถๅพๆไธไธใExecuteใ(ๅท่ก)ใ
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
Go
Node.js
Python
ๆๆขไปถๅฐๆดๆฐ FHIR ่ณๆบ
ไธๅ็ฏไพ่ชชๆๅฆไฝๅผๅซ projects.locations.datasets.fhirStores.fhir.conditionalUpdate
ๆนๆณ๏ผๆดๆฐ็ฌฆๅๆๅฐๆฅ่ฉข็ FHIR ่ณๆบ๏ผ่้ไพ ID ่ญๅฅ่ณๆบใ้ๅๆนๆณๆๅฏฆไฝ FHIR ๆจๆบๆขไปถๅผๆดๆฐไบๅ (DSTU2ใSTU3ใR4 ๅ R5)ใ
ๆขไปถๅผๆดๆฐไธๆฌกๅช่ฝๅฅ็จ่ณไธ้ FHIR ่ณๆบใ
ไผบๆๅจๅณๅ็ๅๆๅๆฑบๆผๆ นๆๆๅฐๆขไปถๆฏๅฐ็็ตๆๆธ้๏ผ
- ไธๅ็ธ็ฌฆ้ ็ฎ๏ผ่ณๆบๅทฒๆๅๆดๆฐ๏ผๆ็ณป็ตฑๅณๅ้ฏ่ชคใ
- ๅคๅ็ธ็ฌฆ้
็ฎ๏ผ่ฆๆฑๆๅณๅ
412 Precondition Failed
้ฏ่ชคใ - ้ถๅ็ฌฆๅ
id
็้ ็ฎ๏ผๅฆๆๆๅฐๆขไปถๆชๆพๅบไปปไฝ็ธ็ฌฆ้ ็ฎใๆไพ็่ฆๆฑไธป้ซๅ ๅซid
๏ผไธ FHIR ๅฒๅญๅบซๅทฒๅฐenableUpdateCreate
่จญ็บtrue
๏ผ็ณป็ตฑๆไฝฟ็จ่ฆๆฑไธป้ซไธญ็id
ๅปบ็ซ FHIR ่ณๆบใ - ๆฒๆ็ธ็ฌฆ้
็ฎ๏ผไธๆฒๆ
id
๏ผๅฆๆๆๅฐๆขไปถๆฒๆ็ธ็ฌฆ้ ็ฎ๏ผไธๆไพ็่ฆๆฑไธป้ซไธๅซid
๏ผ็ณป็ตฑๆๅปบ็ซ FHIR ่ณๆบ๏ผไธฆๆๆดพไผบๆๅจ ID๏ผๅฐฑๅๆฏไฝฟ็จprojects.locations.datasets.fhirStores.fhir.create
ๅปบ็ซ่ณๆบไธๆจฃใ
่ฆๆฑไธป้ซๅฟ
้ ๅ
ๅซ JSON ็ทจ็ขผ็ FHIR ่ณๆบ๏ผ่ฆๆฑๆจ้ ญๅๅฟ
้ ๅ
ๅซ Content-Type: application/fhir+json
ใ
ๅจ Cloud Healthcare API ็ฌฌ 1 ็ไธญ๏ผๆขไปถๅผไฝๆฅญๆๅฐ้ไฝฟ็จ identifier
ๆๅฐๅๆธ (ๅฆๆ FHIR ่ณๆบ้กๅๆ้ๅๅๆธ)๏ผๅคๆทๅชไบ FHIR ่ณๆบ็ฌฆๅๆขไปถๅผๆๅฐๆฅ่ฉขใ
REST
ไปฅไธ็ฏไพ่ชชๆๅฆไฝไฝฟ็จ curl
ๅ PowerShell ๅณ้ PUT
่ฆๆฑ๏ผ่็ฑ Observation ็ ID (my-code-system
ไธญ็ ABC-12345
) ็ทจ่ผฏ Observation ่ณๆบใObservation ๆๆไพ็
ๆฃๆฏๅ้ๅฟ่ทณๆฌกๆธ (BPM) ็ๆธฌ้็ตๆใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- PATIENT_ID๏ผ็ ๆฃ่ณๆบ ID
- ENCOUNTER_ID๏ผๆ่จบ่ณๆบ ID
- BPM_VALUE๏ผObservation ่ณๆบไธญ็ๆฏๅ้ๅฟ่ทณๆธ (BPM) ๅผ
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" } }
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
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
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
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
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.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" } } '@ | Out-File -FilePath request.json -Encoding utf8
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
$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
่ค่ฃฝ่ฆๆฑๅ งๆไธฆ้ๅๆนๆณๅ่่ณๆ้ ้ขใ็ณป็ตฑๆๅจ้ ้ขๅณๅด้ๅ APIs Explorer ้ขๆฟใๆจๅฏไปฅไฝฟ็จ้้ ๅทฅๅ ทไพๅณ้่ฆๆฑใๅฐ่ฆๆฑๅ งๆ่ฒผๅฐ้้ ๅทฅๅ ทไธญ๏ผไธฆๅกซๅฆฅๅ ถไปๅฟ ๅกซๆฌไฝ๏ผ็ถๅพๆไธไธใExecuteใ(ๅท่ก)ใ
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
ไฟฎ่ฃ FHIR ่ณๆบ
ไธๅ็ฏไพ่ชชๆๅฆไฝๅผๅซ projects.locations.datasets.fhirStores.fhir.patch
ๆนๆณ๏ผไฟฎ่ฃ FHIR ่ณๆบใ้ๅๆนๆณๆๅฏฆไฝ FHIR ๆจๆบไฟฎ่ฃไบๅ (DSTU2ใSTU3ใR4 ๅ R5)ใ
ไฟฎ่ฃ่ณๆบๆ๏ผๆจๆๅฅ็จ JSON ไฟฎ่ฃๆไปถๆๅฎ็ไฝๆฅญ๏ผๆดๆฐ่ณๆบ็้จๅๅ งๅฎนใ
่ฆๆฑๅฟ
้ ๅ
ๅซ JSON ไฟฎ่ฃ็จๅผๆไปถ๏ผไธ่ฆๆฑๆจ้ ญๅฟ
้ ๅ
ๅซ Content-Type: application/json-patch+json
ใ
ไธๅ็ฏไพ่ชชๆๅฆไฝไฟฎ่ฃ Observation ่ณๆบใ็
ๆฃๆฏๅ้ๅฟ่ทณๆฌกๆธ (BPM) ็ Observation ๆไฝฟ็จ replace
patch ไฝๆฅญๆดๆฐใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใJavaใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
REST
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- OBSERVATION_ID๏ผObservation ่ณๆบ ID
- BPM_VALUE๏ผไฟฎ่ฃ็ Observation ่ณๆบไธญๆฏๅ้ๅฟ่ทณๆธ (BPM) ๅผ
JSON ่ฆๆฑไธป้ซ๏ผ
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
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
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
$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
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
Go
Java
Node.js
Python
ๅจ FHIR ่ป้ซๅ
ไธญๅท่ก PATCH
่ฆๆฑ
ๆจๅฏไปฅๅจ FHIR ็ตๅไธญๆๅฎ PATCH
่ฆๆฑ (ๅ
้ FHIR R4)ใๅจ FHIR ็ตๅไธญๅท่ก PATCH
่ฆๆฑ๏ผๅฏ่ฎๆจไธๆฌกไฟฎ่ฃๅคๅ FHIR ่ณๆบ๏ผไธๅฟ
็บๆฏๅ FHIR ่ณๆบๆๅบๅๅฅ็ไฟฎ่ฃ่ฆๆฑใ
ๅฆ่ฆๅจๅฅไปถไธญๆๅบ PATCH
่ฆๆฑ๏ผ่ซๅจ่ฆๆฑไธญ็ resource
็ฉไปถไธญๆๅฎไธๅ่ณ่จ๏ผ
- ่จญ็บ
Binary
็resourceType
ๆฌไฝ - ่จญ็บ
application/json-patch+json
็contentType
ๆฌไฝ - ไปฅ Base64 ็ทจ็ขผ็ไฟฎ่ฃ็จๅผไธป้ซ
็ขบ่ช resource
็ฉไปถๅฆไธๆ็คบ๏ผ
"resource": {
"resourceType": "Binary",
"contentType": "application/json-patch+json",
"data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K"
}
ไปฅไธ้กฏ็คบๅจ data
ๆฌไฝไธญไปฅ Base64 ็ทจ็ขผ็ไฟฎ่ฃ็จๅผไธป้ซ๏ผ
[
{
"op": "replace",
"path": "/birthdate",
"value": "1990-01-01"
}
]
ไธๅ็ฏไพ่ชชๆๅฆไฝๅจๅฅไปถไธญไฝฟ็จ PATCH
่ฆๆฑ๏ผไฟฎ่ฃๆจๅจใๅปบ็ซ FHIR ่ณๆบใไธญๅปบ็ซ็ Patient ่ณๆบ๏ผๅฐ birthDate
ๅผ่จญ็บ 1990-01-01
๏ผ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ็ถ้ ่ณๆ้็ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- PATIENT_ID๏ผ็พๆ Patient ่ณๆบ็ ID
JSON ่ฆๆฑไธป้ซ๏ผ
{ "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] }
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
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
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
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
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
@' { "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
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
$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
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
ๆๆขไปถๅฐไฟฎ่ฃ FHIR ่ณๆบ
ไธๅ็ฏไพ่ชชๆๅฆไฝๅผๅซ projects.locations.datasets.fhirStores.fhir.conditionalPatch
ๆนๆณ๏ผไฟฎ่ฃ็ฌฆๅๆๅฐๆฅ่ฉข็ FHIR ่ณๆบ๏ผ่้ไพ ID ่ญๅฅ่ณๆบใ้ๅๆนๆณๆๅฏฆไฝ FHIR ๆจๆบ็ๆขไปถๅผไฟฎ่ฃไบๅ (DSTU2ใSTU3ใR4 ๅ R4)ใ
ๆขไปถๅผไฟฎ่ฃ็จๅผไธๆฌกๅช่ฝๅฅ็จ่ณไธ้
่ณๆบใๅฆๆๆๅฐๆขไปถๆพๅฐๅคๅ็ธ็ฌฆ้
็ฎ๏ผ่ฆๆฑๆๅณๅ 412 Precondition Failed
้ฏ่ชคใ
ๅจ Cloud Healthcare API ็ฌฌ 1 ็ไธญ๏ผๆขไปถๅผไฝๆฅญๆๅฐ้ไฝฟ็จ identifier
ๆๅฐๅๆธ (ๅฆๆ FHIR ่ณๆบ้กๅๆ้ๅๅๆธ)๏ผๅคๆทๅชไบ FHIR ่ณๆบ็ฌฆๅๆขไปถๅผๆๅฐๆฅ่ฉขใ
REST
ไธๅ็ฏไพ่ชชๆๅฆไฝๅณ้ PATCH
่ฆๆฑ๏ผๅจ Observation ็ ID ็บ ABC-12345
ๆ๏ผ็ทจ่ผฏ my-code-system
ไธญ็ Observation ่ณๆบใ็ณป็ตฑๆไฝฟ็จ replace
patch ไฝๆฅญ๏ผๆดๆฐ็
ๆฃๆฏๅ้ๅฟ่ทณๆฌกๆธ (BPM) ็่งๅฏ็ตๆใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- BPM_VALUE๏ผObservation ่ณๆบไธญ็ๆฏๅ้ๅฟ่ทณๆธ (BPM) ๅผ
JSON ่ฆๆฑไธป้ซ๏ผ
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
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
ๅฐ่ฆๆฑไธป้ซๅฒๅญๅจๅ็บ request.json
็ๆชๆกไธญใ
ๅจ็ต็ซฏๆฉไธญๅท่กไธๅๆไปค๏ผๅจ็ฎๅ็ฎ้ไธญๅปบ็ซๆ่ฆๅฏซ้ๅๆชๆก๏ผ
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
ๆฅ่๏ผ่ซๅท่กไธๅๆไปคไพๅณ้ REST ่ฆๆฑ๏ผ
$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
่ค่ฃฝ่ฆๆฑๅ งๆไธฆ้ๅๆนๆณๅ่่ณๆ้ ้ขใ็ณป็ตฑๆๅจ้ ้ขๅณๅด้ๅ APIs Explorer ้ขๆฟใๆจๅฏไปฅไฝฟ็จ้้ ๅทฅๅ ทไพๅณ้่ฆๆฑใๅฐ่ฆๆฑๅ งๆ่ฒผๅฐ้้ ๅทฅๅ ทไธญ๏ผไธฆๅกซๅฆฅๅ ถไปๅฟ ๅกซๆฌไฝ๏ผ็ถๅพๆไธไธใExecuteใ(ๅท่ก)ใ
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
ๅๅพ FHIR ่ณๆบ
ไธๅ็ฏไพ่ชชๆๅฆไฝๅๅพ FHIR ่ณๆบ็ๅ งๅฎนใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใJavaใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
ๆงๅถๅฐ
ๅๅพ Google Cloud ๆงๅถๅฐ็ใFHIR viewerใ้ ้ขใ
ๅจใFHIR Storeใ(FHIR ๅฒๅญๅบซ) ไธๆๅผๆธ ๅฎไธญ้ธๅ่ณๆ้๏ผ็ถๅพ้ธๅ่ณๆ้ไธญ็ FHIR ๅฒๅญๅบซใ
ๅฆ่ฆ็ฏฉ้ธ่ณๆบ้กๅๆธ ๅฎ๏ผ่ซๆๅฐ่ฆ้กฏ็คบ็่ณๆบ้กๅใ
ๆไธไธใ่ณๆบ้กๅใๆฌไฝใ
ๅจ้จๅณๅบ็พ็ใPropertiesใ(ๅฑฌๆง) ไธๆๅผๆธ ๅฎไธญ้ธๅใResource Typeใ(่ณๆบ้กๅ)ใ
่ผธๅ ฅ่ณๆบ้กๅใ
ๅฆ่ฆๆๅฐๅ ถไป่ณๆบ้กๅ๏ผ่ซๅพ้จๅณ้กฏ็คบ็ใOperatorsใ(้็ฎๅญ) ไธๆๅผๆธ ๅฎไธญ้ธๅใORใ(ๆ)๏ผ็ถๅพ่ผธๅ ฅๅ ถไป่ณๆบ้กๅใ
ๅจ่ณๆบ้กๅๆธ ๅฎไธญ๏ผ้ธๅ่ฆๅๅพๅ งๅฎน็่ณๆบ้กๅใ
ๅจ้จๅณ้กฏ็คบ็่ณๆบ่กจๆ ผไธญ๏ผ้ธๅๆๆๅฐ่ณๆบใ
REST
ไธๅ็ฏไพ่ชชๆๅฆไฝไฝฟ็จ projects.locations.datasets.fhirStores.fhir.read
ๆนๆณ๏ผๅๅพๅไธ็ฏไธญๅปบ็ซ็ Observation ่ณๆบ่ฉณ็ดฐ่ณๆใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- OBSERVATION_ID๏ผObservation ่ณๆบ ID
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅท่กไธๅๆไปค๏ผ
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
ๅท่กไธๅๆไปค๏ผ
$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
้ๅๆนๆณๅ่้ ้ขใ็ณป็ตฑๆๅจ้ ้ขๅณๅด้ๅ APIs Explorer ้ขๆฟใๆจๅฏไปฅไฝฟ็จ้้ ๅทฅๅ ทไพๅณ้่ฆๆฑใๅฎๆไปปไฝๅฟ ๅกซๆฌไฝ๏ผ็ถๅพๆไธไธใๅท่กใใ
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
Go
Java
Node.js
Python
ๅๅพๆๆ Encounter ่ณๆบ่ฉณ็ดฐ่ณๆ
ไธๅ็ฏไพ่ชชๆๅฆไฝๆฅ็ Encounter ่ณๆบ็่ฉณ็ดฐ่ณๆ๏ผไปฅๅ่ Encounter ็ธ้็ๆๆ่ณๆบใ
้ๅๆนๆณๆๅฏฆไฝไธๅ FHIR ็ๆฌไธญๅฎ็พฉ็ FHIR ๆดๅ
ไฝๆฅญ
Encounter-everything
๏ผ
REST
่ซไฝฟ็จ projects.locations.datasets.fhirStores.fhir.Encounter-everything
ๆนๆณใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
PROJECT_ID
๏ผๆจ็ Google Cloud ๅฐๆก IDLOCATION
๏ผ่ณๆ้ไฝ็ฝฎDATASET_ID
๏ผ่ณๆ้ IDFHIR_STORE_ID
๏ผFHIR ๅฒๅญๅบซ IDENCOUNTER_ID
๏ผๆ่จบ่ณๆบ ID
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅท่กไธๅๆไปค๏ผ
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
ๅท่กไธๅๆไปค๏ผ
$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
็ Encounter ่ณๆบไธๅผๅซๆนๆณๆ๏ผ็ณป็ตฑๆๅณๅไธๅ็ฏไพๅๆใ้ๅ่ณๆบๆฏ gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/
ๅ
ฌ้ Cloud Storage ๅผๅไธญ็ๅๆ่ณๆบใ
ๅๅพๆๆ็ ๆฃๅ้่ณๆบ
ไธๅ็ฏไพ่ชชๆๅฆไฝๅๅพ่็นๅฎ็
ๆฃๅ้็ธ้่ฏ็ๆๆ่ณๆบ (DSTU2ใSTU3ใR4 ๅ R5)ใ่ฉณๆ
่ซๅ้ฑ projects.locations.datasets.fhirStores.fhir.Patient-everything
ใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใJavaใ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
- ๅญๅๆฌๆ
ไปฅไธ็ฏไพ้กฏ็คบๅฆไฝไฝฟ็จ 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
Java
Node.js
Python
ๅๅพไพ้กๅๆๆฅๆ็ฏฉ้ธ็็ ๆฃๅ้่ณๆบ
ไธๅ็ฏไพ่ชชๆๅฆไฝๅๅพ่็นๅฎ็
ๆฃๅ้ (R4)็ธ้่ฏ็ๆๆ่ณๆบ๏ผไธฆไพ้กๅๆธ
ๅฎๅๆๅฎๆฅๆ่ๆ้้ฒ่ก็ฏฉ้ธใ่ฉณๆ
่ซๅ้ฑ projects.locations.datasets.fhirStores.fhir.Patient-everything
็่ชชๆใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ 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
- ๆฅ่ฉขๅญไธฒ๏ผๅ งๅซไปฅๅๅฝข้่ๅ้็่ณๆบ้กๅๆธ ๅฎๅ้ๅงๆฅๆ
- ๅญๅๆฌๆ
ไปฅไธ็ฏไพ้กฏ็คบๅฆไฝไฝฟ็จ 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 ่ณๆบ็ๆญทๅฒ็ๆฌ๏ผๅ ๆฌ็ฎๅ็ๆฌๅๆๆๅทฒๅช้ค็็ๆฌใ้้ ๅ่ฝๅฏ่ฎๆจๅท่กไธๅๆไฝ๏ผ
- ่ฟฝ่นค็ ๆญทใ่ฅ็ฉๆ็ ง่ญท่จ็ซ็่ฎๆดใ
- ๅฆๆ FHIR ่ณๆบๅ ๅซไธๆญฃ็ขบ็่ณๆ๏ผๆจๅฏไปฅๆฅ็ๆญทๅฒ็ๆฌ๏ผๅคๆทไธๆญฃ็ขบ็่ณๆๆฏๅจไฝๆ่ผธๅ ฅ๏ผไธฆๅพฉๅๆญฃ็ขบ็่ณ่จใ
- ๆไพๅฎๆด็็จฝๆ ธ่ฟฝ่นค่จ้๏ผ็ขบไฟ็ฌฆๅๆณ่ฆ่ฆๆฑใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใJavaใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
ๆงๅถๅฐ
ๅๅพ Google Cloud ๆงๅถๅฐ็ใFHIR viewerใ้ ้ขใ
ๅจใFHIR storeใ(FHIR ๅฒๅญๅบซ) ้ธๅฎไธญ้ธๅ่ณๆ้๏ผ็ถๅพ้ธๅ่ณๆ้ไธญ็ FHIR ๅฒๅญๅบซใ
ๅฆ่ฆ็ฏฉ้ธ FHIR ่ณๆบ้กๅๆธ ๅฎ๏ผ่ซๆๅฐ่ฆ้กฏ็คบ็่ณๆบ้กๅใ
ๆไธไธใ่ณๆบ้กๅใๆฌไฝใ
ๅจ้จๅณๅบ็พ็ใPropertiesใ(ๅฑฌๆง) ไธๆๅผๆธ ๅฎไธญ้ธๅใResource Typeใ(่ณๆบ้กๅ)ใ
่ผธๅ ฅ FHIR ่ณๆบ้กๅใ
ๅจ FHIR ่ณๆบ้กๅๆธ ๅฎไธญ๏ผ้ธๅ่ณๆบ้กๅใ
ๅจ้จๅณ้กฏ็คบ็ FHIR ่ณๆบ่กจๆ ผไธญ๏ผ้ธๅๆๆๅฐ่ณๆบใ
ๅฆ่ฆๆฅ็ๅๆฏ่ผ FHIR ่ณๆบ็ๆญทๅฒ็ๆฌ๏ผ่ซๆไธไธใOverviewใ(็ธฝ่ฆฝ) ๅ้ ๆจ็ฑค๏ผ็ถๅพๅท่กไธๅๆไฝ๏ผ
- ๅฆ่ฆๆฅ็ FHIR ่ณๆบ็ๆญทไพ็ๆฌ๏ผ่ซๅจใ็ๆฌ IDใ็ๅไธๅไธญ๏ผๆไธไธใๆฅ็ๆญทไพ็ๆฌใใ ๅจใSelect a resource versionใ(้ธๅ่ณๆบ็ๆฌ) ็ชๆ ผไธญ๏ผ้ธๅ็ๆฌ๏ผ็ถๅพๆไธไธใConfirmใ(็ขบ่ช)ใ็ๆฌไธญ็่ณๆๆๅกซๅ ฅใ็ธฝ่ฆฝใใใๅ ็ด ใๅใJSONใๅ้ ใ
- ๅฆ่ฆๆฏ่ผๅ ฉๅ็ๆฌ็ FHIR ่ณๆบ๏ผ่ซๅจใ็ๆฌ IDใๆๅจ็ๅไธๅไธญ๏ผๆไธไธใๆฏ่ผ่ณๆบ็ๆฌใใ ๅจใ้ธๅ่ฆๆฏ่ผ็่ณๆบ็ๆฌใ็ชๆ ผไธญ๏ผ้ธๅๅ ฉๅ่ณๆบ็ๆฌ๏ผ็ถๅพๆไธไธใ็ขบ่ชใใ็ณป็ตฑๆไปฅๅทฎ็ฐๆชข่ฆ็ซ้ข้กฏ็คบ้ๅ ฉๅ่ณๆบ็ๆฌ๏ผๅทฆๅดๆฏๆจ้ธๅ็็ฌฌไธๅ็ๆฌ๏ผๅณๅดๅๆฏ็ฌฌไบๅ็ๆฌใ
REST
่ซไฝฟ็จ projects.locations.datasets.fhirStores.fhir.history
ๆนๆณใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
PROJECT_ID
๏ผๆจ็ Google Cloud ๅฐๆก IDLOCATION
๏ผ่ณๆ้ไฝ็ฝฎDATASET_ID
๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้FHIR_STORE_ID
๏ผFHIR ๅฒๅญๅบซ IDRESOURCE_TYPE
๏ผFHIR ่ณๆบ้กๅRESOURCE_ID
๏ผFHIR ่ณๆบ ID
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ไธๅ็ฏไพ่ชชๆๅฆไฝๅๅบ Observation ่ณๆบ็ๆๆ็ๆฌใๅๅงๅปบ็ซๅพ๏ผ็ณป็ตฑๆดๆฐไบใ่งๅฏใไธๆฌก๏ผ่ฎๆด็ ๆฃๆฏๅ้ๅฟ่ทณๆฌกๆธ (BPM)ใๅท่กไธๅๆไปค๏ผ
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/RESOURCE_TYPE/RESOURCE_ID/_history"
PowerShell
ไธๅ็ฏไพ่ชชๆๅฆไฝๅๅบ Observation ่ณๆบ็ๆๆ็ๆฌใๅๅงๅปบ็ซๅพ๏ผ็ณป็ตฑๆดๆฐไบใ่งๅฏใไธๆฌก๏ผ่ฎๆด็ ๆฃๆฏๅ้ๅฟ่ทณๆฌกๆธ (BPM)ใๅท่กไธๅๆไปค๏ผ
$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/RESOURCE_TYPE/RESOURCE_ID/_history" | Select-Object -Expand Content
{ "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
ๆทๅ FHIR ่ณๆบ็ๆฌ
ไธๅ็ฏไพ่ชชๆๅฆไฝๆทๅ็นๅฎ็ๆฌ็ FHIR ่ณๆบใๅฆ่ฆๅฐๆพ็นๅฎ็ๆฌ๏ผๅฏไปฅๅๅบ FHIR ่ณๆบ็็ๆฌ๏ผ็ถๅพๆฅ็่ฉฒ็ๆฌ็่ณ่จใ็ๆฌ ID ไฝๆผ "versionId"
ๆฌไฝไธญใ่ไพไพ่ชช๏ผ่ซๅ้ฑไธๅ JSON ไธป้ซ๏ผๅ
ถไธญ้็ฎ้กฏ็คบไบใๅๅบ FHIR ่ณๆบ็ๆฌใไธญ Observation ่ณๆบ็็ๆฌ 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 ่ณๆบใไธญๅปบ็ซ็่ณๆบ๏ผไธฆ่ชชๆๅฆไฝๆฅ็ Observation ่ณๆบใREST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
ๆงๅถๅฐ
ๅๅพ Google Cloud ๆงๅถๅฐ็ใFHIR viewerใ้ ้ขใ
ๅจใFHIR storeใ(FHIR ๅฒๅญๅบซ) ้ธๅฎไธญ้ธๅ่ณๆ้๏ผ็ถๅพ้ธๅ่ณๆ้ไธญ็ FHIR ๅฒๅญๅบซใ
ๅฆ่ฆ็ฏฉ้ธ FHIR ่ณๆบ้กๅๆธ ๅฎ๏ผ่ซๆๅฐ่ฆ้กฏ็คบ็่ณๆบ้กๅใ
ๆไธไธใ่ณๆบ้กๅใๆฌไฝใ
ๅจ้จๅณๅบ็พ็ใPropertiesใ(ๅฑฌๆง) ไธๆๅผๆธ ๅฎไธญ้ธๅใResource Typeใ(่ณๆบ้กๅ)ใ
่ผธๅ ฅ FHIR ่ณๆบ้กๅใ
ๅจ FHIR ่ณๆบ้กๅๆธ ๅฎไธญ๏ผ้ธๅ่ณๆบ้กๅใ
ๅจ้จๅณ้กฏ็คบ็ FHIR ่ณๆบ่กจๆ ผไธญ๏ผ้ธๅๆๆๅฐ่ณๆบใ
ๅฆ่ฆๆฅ็็นๅฎ็ๆฌ็ FHIR ่ณๆบ๏ผ่ซๆ็ งไธๅๆญฅ้ฉๆไฝ๏ผ
- ๆไธไธใ็ธฝ่ฆฝใๅ้ ๆจ็ฑคใ
- ๅจใ็ๆฌ IDใๆๅจ็ๅไธญ๏ผๆไธไธใๆฅ็ๆญทไพ็ๆฌใใ
- ๅจใSelect a resource versionใ(้ธๅ่ณๆบ็ๆฌ) ็ชๆ ผไธญ๏ผ้ธๅ็ๆฌ๏ผ็ถๅพๆไธไธใConfirmใ(็ขบ่ช)ใ็ๆฌไธญ็่ณๆๆๅกซๅ ฅใ็ธฝ่ฆฝใใใๅ ็ด ใๅใJSONใๅ้ ใ
REST
่ซไฝฟ็จ projects.locations.datasets.fhirStores.fhir.vread
ๆนๆณใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
PROJECT_ID
๏ผๆจ็ Google Cloud ๅฐๆก IDLOCATION
๏ผ่ณๆ้ไฝ็ฝฎDATASET_ID
๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้FHIR_STORE_ID
๏ผFHIR ๅฒๅญๅบซ IDRESOURCE_TYPE
๏ผFHIR ่ณๆบ้กๅRESOURCE_ID
๏ผFHIR ่ณๆบ IDRESOURCE_VERSION
๏ผFHIR ่ณๆบ็ๆฌ
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ไธๅ็ฏไพ่ชชๆๅฆไฝๅๅบ Observation ่ณๆบ็ๆๆ็ๆฌใๅๅงๅปบ็ซๅพ๏ผ็ณป็ตฑๆดๆฐไบใ่งๅฏใไธๆฌก๏ผ่ฎๆด็ ๆฃๆฏๅ้ๅฟ่ทณๆฌกๆธ (BPM)ใๅท่กไธๅๆไปค๏ผ
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/RESOURCE_TYPE/RESOURCE_ID/_history/RESOURCE_VERSION"
PowerShell
ไธๅ็ฏไพ่ชชๆๅฆไฝๅๅบ Observation ่ณๆบ็ๆๆ็ๆฌใๅๅงๅปบ็ซๅพ๏ผ็ณป็ตฑๆดๆฐไบใ่งๅฏใไธๆฌก๏ผ่ฎๆด็ ๆฃๆฏๅ้ๅฟ่ทณๆฌกๆธ (BPM)ใๅท่กไธๅๆไปค๏ผ
$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/RESOURCE_TYPE/RESOURCE_ID/_history/RESOURCE_VERSION" | Select-Object -Expand Content
{ "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
ๅช้ค FHIR ่ณๆบ
ไธๅ็ฏไพ่ชชๆๅฆไฝๅผๅซ projects.locations.datasets.fhirStores.fhir.delete
ๆนๆณ๏ผๅช้ค Observation FHIR ่ณๆบใ
็ก่ซไฝๆฅญๆๅๆๅคฑๆ๏ผไผบๆๅจ้ฝๆๅณๅ 200 OK
HTTP ็ๆ
็ขผใๅฆ่ฆ็ขบ่ช่ณๆบๆฏๅฆๅทฒๆๅๅช้ค๏ผ่ซๆๅฐๆๅๅพ่ฉฒ่ณๆบ๏ผไธฆ็ขบ่ช่ณๆบๆฏๅฆๅญๅจใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใJavaใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
REST
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
- PROJECT_ID๏ผๆจ็ Google Cloud ๅฐๆก ID
- LOCATION๏ผ่ณๆ้ไฝ็ฝฎ
- DATASET_ID๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้
- FHIR_STORE_ID๏ผFHIR ๅฒๅญๅบซ ID
- OBSERVATION_ID๏ผObservation ่ณๆบ ID
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅท่กไธๅๆไปค๏ผ
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
ๅท่กไธๅๆไปค๏ผ
$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
้ๅๆนๆณๅ่้ ้ขใ็ณป็ตฑๆๅจ้ ้ขๅณๅด้ๅ APIs Explorer ้ขๆฟใๆจๅฏไปฅไฝฟ็จ้้ ๅทฅๅ ทไพๅณ้่ฆๆฑใๅฎๆไปปไฝๅฟ ๅกซๆฌไฝ๏ผ็ถๅพๆไธไธใๅท่กใใ
ๆจๆ่ฉฒๆๆถๅฐๅฆไธ็ JSON ๅๆ๏ผ
Go
Java
Node.js
Python
ๆๆขไปถๅฐๅช้ค FHIR ่ณๆบ
ๅจ Cloud Healthcare API ็ฌฌ 1 ็ไธญ๏ผๆขไปถๅผไฝๆฅญๆๅฐ้ไฝฟ็จ identifier
ๆๅฐๅๆธ (ๅฆๆ FHIR ่ณๆบ้กๅๆ้ๅๅๆธ)๏ผๅคๆทๅชไบ FHIR ่ณๆบ็ฌฆๅๆขไปถๅผๆๅฐๆฅ่ฉขใ
ๅชๆๅจ FHIR ่ณๆบ็ identifier.system
็บ my-code-system
ไธ identifier.value
็บ ABC-12345
ๆ๏ผ่ฉฒ่ณๆบๆๆ็ฌฆๅๆฅ่ฉข ?identifier=my-code-system|ABC-12345
ใๅฆๆ FHIR ่ณๆบ็ฌฆๅๆฅ่ฉขๆขไปถ๏ผCloud Healthcare API ๅฐฑๆๅช้ค่ฉฒ่ณๆบใ
ๅฆๆๆฅ่ฉขไฝฟ็จ identifier
ๆๅฐๅๆธ๏ผไธ็ฌฆๅๅคๅ FHIR ่ณๆบ๏ผCloud Healthcare API ๆๅณๅ "412 - Condition not selective enough"
้ฏ่ชคใๅฆ่ฆๅๅฅๅช้ค่ณๆบ๏ผ่ซๆ็
งไธๅๆญฅ้ฉๆไฝ๏ผ
ไธๅ็ฏไพ่ชชๆๅฆไฝๆๆขไปถๅฐๅช้ค็ฌฆๅๆๅฐๆฅ่ฉข็ FHIR ่ณๆบ๏ผ่ไธๆฏไพๆ ID ่ญๅฅ FHIR ่ณๆบใๆๅฐๆฅ่ฉขๆไฝฟ็จ Observation ็ ID (ABC-12345
ไธญ็ my-code-system
) ๆฏๅฐไธฆๅช้ค Observation ่ณๆบใ
REST
่ซไฝฟ็จ projects.locations.datasets.fhirStores.fhir.conditionalDelete
ๆนๆณใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
PROJECT_ID
๏ผๆจ็ Google Cloud ๅฐๆก IDLOCATION
๏ผ่ณๆ้ไฝ็ฝฎDATASET_ID
๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้FHIR_STORE_ID
๏ผFHIR ๅฒๅญๅบซ ID
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅท่กไธๅๆไปค๏ผ
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
ๅท่กไธๅๆไปค๏ผ
$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
้ๅๆนๆณๅ่้ ้ขใ็ณป็ตฑๆๅจ้ ้ขๅณๅด้ๅ APIs Explorer ้ขๆฟใๆจๅฏไปฅไฝฟ็จ้้ ๅทฅๅ ทไพๅณ้่ฆๆฑใๅฎๆไปปไฝๅฟ ๅกซๆฌไฝ๏ผ็ถๅพๆไธไธใๅท่กใใ
ๆจๆ่ฉฒๆๆถๅฐๅท่กๆๅ็็ๆ ็ขผ (2xx) ๅ็ฉบ็ฝๅๆใ
ๅช้ค FHIR ่ณๆบ็ๆญทๅฒ็ๆฌ
ไธๅ็ฏไพ่ชชๆๅฆไฝไฝฟ็จ projects.locations.datasets.fhirStores.fhir.Resource-purge
ๆนๆณ๏ผๅช้ค FHIR ่ณๆบ็ๆๆๆญทๅฒ็ๆฌใ
ๅชๆๅ
ทๅ roles/healthcare.fhirStoreAdmin
่ง่ฒ็ไฝฟ็จ่
(ๅผๅซ่
) ๆ่ฝๅผๅซ projects.locations.datasets.fhirStores.fhir.Resource-purge
ๆนๆณ๏ผๅ
ทๅ roles/healthcare.fhirResourceEditor
่ง่ฒ็ไฝฟ็จ่
็กๆณๅผๅซ้ๅๆนๆณใๅฆ่ฆๅ
่จฑๅผๅซ็ซฏๅช้ค FHIR ่ณๆบ็ๆญทๅฒ็ๆฌ๏ผ่ซๆกๅไธๅไปปไธๅๆณ๏ผ
- ็ขบ่ชๅผๅซ่
ๅ
ทๅ
roles/healthcare.fhirStoreAdmin
่ง่ฒใ - ๅปบ็ซๅ
ทๆ
healthcare.fhirResources.purge
ๆฌ้็่ช่จ IAM ่ง่ฒ๏ผไธฆๅฐ่ฉฒ่ง่ฒๆๆดพ็ตฆๅผๅซ่ ใ
้ไบ็ฏไพๆไฝฟ็จใๅปบ็ซ FHIR ่ณๆบใไธญๅปบ็ซ็่ณๆบ๏ผไธฆ่ชชๆๅฆไฝๅช้ค Observation ่ณๆบ็ๆญทๅฒ็ๆฌใ
ไธๅ REST ็ฏไพ้ฉ็จๆผ R4 FHIR ๅฒๅญๅบซใGoใJavaใNode.js ๅ Python ็ฏไพ้ฉ็จๆผ STU3 FHIR ๅญๆพๅใ
REST
่ซไฝฟ็จ projects.locations.datasets.fhirStores.fhir.Resource-purge
ๆนๆณใ
ไฝฟ็จไปปไฝ่ฆๆฑ่ณๆไนๅ๏ผ่ซๅ ๆฟๆไปฅไธ้ ็ฎ๏ผ
PROJECT_ID
๏ผๆจ็ Google Cloud ๅฐๆก IDLOCATION
๏ผ่ณๆ้ไฝ็ฝฎDATASET_ID
๏ผFHIR ๅฒๅญๅบซ็็ถ้ ่ณๆ้FHIR_STORE_ID
๏ผFHIR ๅฒๅญๅบซ IDRESOURCE_TYPE
๏ผFHIR ่ณๆบ้กๅRESOURCE_ID
๏ผFHIR ่ณๆบ ID
ๅฆ่ฆๅณ้่ฆๆฑ๏ผ่ซ้ธๆไปฅไธๅ ถไธญไธๅ้ธ้ ๏ผ
curl
ๅท่กไธๅๆไปค๏ผ
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/RESOURCE_TYPE/RESOURCE_ID/$purge"
PowerShell
ๅท่กไธๅๆไปค๏ผ
$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/RESOURCE_TYPE/RESOURCE_ID/$purge" | Select-Object -Expand Content
ๆจๆ่ฉฒๆๆถๅฐๅท่กๆๅ็็ๆ ็ขผ (2xx) ๅ็ฉบ็ฝๅๆใ