Nesta página, explicamos como concluir as seguintes tarefas:
- Configure cabeçalhos HTTP personalizados em solicitações para a API Cloud Healthcare.
Use os Registros de auditoria do Cloud para pesquisar solicitações e as os cabeçalhos HTTP para fazer o seguinte:
- Saber quem enviou uma solicitação e quando.
- Simplifique a implantação e a depuração descobrindo qual solicitação causou uma um erro específico.
Para mais informações sobre o uso dos Registros de auditoria do Cloud na API Cloud Healthcare, consulte Como visualizar os Registros de auditoria do Cloud.
Métodos configuráveis
É possível configurar cabeçalhos HTTP personalizados para os métodos da API Cloud Healthcare nos seguintes recursos REST:
projects.locations
projects.locations.datasets
projects.locations.dicomStores
projects.locations.dicomStores.studies
projects.locations.dicomStores.studies.series
projects.locations.dicomStores.studies.series.instances
projects.locations.dicomStores.studies.series.instances.frames
projects.locations.datasets.fhirStores
projects.locations.datasets.fhirStores.fhir
projects.locations.datasets.hl7V2Stores
projects.locations.datasets.hl7V2Stores.messages
projects.locations.datasets.operations
Configurar cabeçalhos HTTP personalizados
Há dois tipos de cabeçalhos HTTP personalizados que podem ser especificados em solicitações da API Cloud Healthcare e visualizados nos registros de auditoria. É possível usar cada tipo exclusivamente ou combiná-los.
Geração de registros de IDs personalizados. É possível especificar o cabeçalho HTTP
X-Request-Id
personalizado atribuir um ID personalizado a cada solicitação e depois pesquisar nos registros de auditoria para uma solicitação que contém o ID. Para fornecer um ID personalizado, especifique o cabeçalho HTTP personalizado no seguinte formato:X-Request-Id: REQUEST_ID
Especifique um valor exclusivo para REQUEST_ID em cada solicitação.
Maior parte da programação linguagens têm uma maneira de gerar IDs aleatórios que você pode usar para criar o ID da solicitação. Por exemplo, o Python O módulo
uuid
tem umuuid.uuid4()
que pode ser usada para gerar IDs automaticamente para cada solicitação. A API Cloud Healthcare não gera IDs de solicitação.Geração de registros de metadados. É possível incluir outras informações de metadados em cabeçalhos HTTP personalizados usando o cabeçalho
X-Goog-Healthcare-Audit-IDENTIFIER
. O cabeçalho identifica exclusivamente o tipo de informações de metadados.Os metadados são armazenados no registro de auditoria de cada solicitação. Para fornecer informações de metadados, especificar um ou mais cabeçalhos HTTP personalizados no o seguinte formato:
X-Goog-Healthcare-Audit-IDENTIFIER: VALUE
Substitua IDENTIFIER por um identificador legível por humanos. Substitua VALUE por um valor para os metadados. É possível especificar vários valores em uma lista separada por vírgulas usando a seguinte sintaxe:
X-Goog-Healthcare-Audit-IDENTIFIER: VALUE_1, VALUE_2, VALUE_n ...
Exemplo:
X-Goog-Healthcare-Audit-MyIdentifier: Value1, Value2, Value3
Também é possível especificar vários cabeçalhos HTTP personalizados com os próprios valores exclusivos:
X-Goog-Healthcare-Audit-MyIdentifier1: Value1, Value2 X-Goog-Healthcare-Audit-MyIdentifier2: Value3
Acessar os registros de auditoria nos Registros de auditoria do Cloud
Consulte Ver registros.
Exemplo
O exemplo a seguir demonstra um cenário em que você especifica cabeçalhos HTTP
personalizados em uma
solicitação fhir.create
.
Suponha que você esteja realizando um estudo e tenha um aplicativo para dispositivos móveis
chamado PatientApp
para pacientes. Os pacientes do estudo são divididos em
duas coortes: Cohort1
e Cohort2
. Para identificar cada solicitação
de Cohort1
com um ID exclusivo e o nome do aplicativo para dispositivos móveis,
especifique os seguintes cabeçalhos HTTP personalizados em cada solicitação:
X-Request-Id: REQUEST_ID X-Goog-Healthcare-Audit-AppName: PatientApp X-Goog-Healthcare-Audit-CohortName: Cohort1
Os cabeçalhos HTTP personalizados são exibidos no campo metadata
do registro de auditoria de cada solicitação
nos Registros de auditoria do Cloud.
O exemplo a seguir mostra como usar curl
para criar um novo recurso de paciente em um armazenamento
FHIR. A solicitação contém os seguintes cabeçalhos HTTP personalizados:
X-Request-Id: 123
X-Goog-Healthcare-Audit-AppName: PatientApp
X-Goog-Healthcare-Audit-CohortName: Cohort1
Antes de enviar a solicitação, substitua o seguinte:
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o conjunto de dados pai do armazenamento de FHIR
- FHIR_STORE_ID: o ID de armazenamento de FHIR
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Request-Id: 123" \ -H "X-Goog-Healthcare-Audit-AppName: PatientApp" \ -H "X-Goog-Healthcare-Audit-CohortName: Cohort1" \ --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"
A saída é esta:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
Se você pesquisar a solicitação nos Registros de auditoria do Cloud, será assim:
{ logName: "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_write" protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" metadata: { X-Request-Id: [123] X-Goog-Healthcare-Audit-AppName: ["PatientApp"] X-Goog-Healthcare-Audit-CohortName: ["Cohort1"] } ... } ... }