创建 FHIR 观察资源。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
Python
在试用此示例之前,请按照使用客户端库的 Cloud Healthcare API 快速入门中的 Python 设置说明进行操作。如需了解详情,请参阅 Cloud Healthcare API Python API 参考文档。
如需向 Cloud Healthcare API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
# Imports the types Dict and Any for runtime type hints.
from typing import Any, Dict # noqa: E402
def create_observation(
project_id: str,
location: str,
dataset_id: str,
fhir_store_id: str,
patient_id: str,
encounter_id: str,
) -> Dict[str, Any]:
"""Creates a new Observation resource in a FHIR store that references an Encounter and Patient resource.
See
https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/healthcare/api-client/v1/fhir
before running the sample.
See
https://googleapis.github.io/google-api-python-client/docs/dyn/healthcare_v1.projects.locations.datasets.fhirStores.fhir.html#create
for the Python API reference.
Args:
project_id: The project ID or project number of the Cloud project you want
to use.
location: The name of the parent dataset's location.
dataset_id: The name of the parent dataset.
fhir_store_id: The name of the FHIR store.
patient_id: The "logical id" of the referenced Patient resource. The ID is
assigned by the server.
encounter_id: The "logical id" of the referenced Encounter resource. The ID
is assigned by the server.
Returns:
A dict representing the created Observation resource.
"""
# Imports the Google API Discovery Service.
from googleapiclient import discovery
api_version = "v1"
service_name = "healthcare"
# Returns an authorized API client by discovering the Healthcare API
# and using GOOGLE_APPLICATION_CREDENTIALS environment variable.
client = discovery.build(service_name, api_version)
# TODO(developer): Uncomment these lines and replace with your values.
# project_id = 'my-project'
# location = 'us-central1'
# dataset_id = 'my-dataset'
# fhir_store_id = 'my-fhir-store'
# patient_id = 'b682d-0e-4843-a4a9-78c9ac64' # replace with the associated Patient resource's ID
# encounter_id = 'a7602f-ffba-470a-a5c1-103f993c6 # replace with the associated Encounter resource's ID
fhir_store_parent = (
f"projects/{project_id}/locations/{location}/datasets/{dataset_id}"
)
fhir_observation_path = (
f"{fhir_store_parent}/fhirStores/{fhir_store_id}/fhir/Observation"
)
observation_body = {
"resourceType": "Observation",
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "8867-4",
"display": "Heart rate",
}
]
},
"status": "final",
"subject": {"reference": f"Patient/{patient_id}"},
"effectiveDateTime": "2019-01-01T00:00:00+00:00",
"valueQuantity": {"value": 80, "unit": "bpm"},
"context": {"reference": f"Encounter/{encounter_id}"},
}
request = (
client.projects()
.locations()
.datasets()
.fhirStores()
.fhir()
.create(
parent=fhir_observation_path,
type="Observation",
body=observation_body,
)
)
# Sets required application/fhir+json header on the googleapiclient.http.HttpRequest.
request.headers["content-type"] = "application/fhir+json;charset=utf-8"
response = request.execute()
print(f"Created Observation resource with ID {response['id']}")
return response
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。