Nesta página, explicamos como criar, atualizar, corrigir, visualizar, listar, recuperar e excluir recursos FHIR.
Um recurso FHIR pode conter dados sobre um paciente, um dispositivo, uma observação e muito mais. Para uma lista completa de recursos FHIR, consulte o Índice de recursos FHIR (DSTU2, STU3, R4 ou R5).
As amostras REST nesta página funcionam com um armazenamento de FHIR R4 e não têm garantia de trabalho se você estiver usando um armazenamento de FHIR DSTU2 ou STU3. Se você estiver usando um armazenamento de FHIR DST2 ou STU3, consulte a documentação oficial do FHIR para informações sobre como converter as amostras para a versão do FHIR que você está usando.
As amostras em Go, Java, Node.js e Python funcionam com um armazenamento de FHIR STU3.
Como criar um recurso FHIR
Antes de criar recursos FHIR, é necessário criar um armazenamento FHIR.
Os exemplos em REST e Python mostram como criar os seguintes recursos FHIR:
- Um recurso de paciente (DSTU2, STU3, R4 e R5)
- Um recurso de encontro (DSTU2, STU3, R4 e R5) (links em inglês) para o paciente
- Um recurso de observação (DSTU2, STU3, R4 e R5) (links em inglês) para o encontro
As amostras para todas as outras linguagens mostram como criar um recurso FHIR genérico.
Para ver mais informações, consulte projects.locations.datasets.fhirStores.fhir.create
.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. As amostras em Go, Java, Node.js e Python funcionam com armazenamentos FHIR STU3.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
Corpo JSON da solicitação:
{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } EOF
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação 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
Você receberá uma resposta JSON semelhante a esta:
Go
Java
Node.js
Python
Depois de criar o recurso do paciente, crie um recurso de encontro para descrever uma interação entre o paciente e um profissional.
No campo PATIENT_ID, substitua o ID da resposta retornada pelo servidor quando o recurso "Patient" foi criado.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. A amostra em Python funciona com os armazenamentos FHIR STU3.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
- PATIENT_ID: a resposta retornada pelo servidor quando você criou o recurso "Paciente".
Corpo JSON da solicitação:
{ "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" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
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
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "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
Depois execute o comando a seguir para enviar a solicitação 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
Você receberá uma resposta JSON semelhante a esta:
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido da API Cloud Healthcare: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Healthcare Python.
Para autenticar na API Cloud Healthcare, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Depois de criar o recurso de encontro, crie um recurso de observação associado a ele. O recurso "Observation" fornece uma medição da frequência cardíaca do paciente em batimentos por minuto (BPM) (80
em bpm
).
As amostras REST a seguir funcionam com armazenamentos FHIR R4. A amostra em Python funciona com os armazenamentos FHIR STU3.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
- PATIENT_ID: o ID na resposta retornada pelo servidor quando você criou o recurso "Patient"
- ENCOUNTER_ID: o ID na resposta retornada pelo servidor quando você criou o recurso "Encounter"
Corpo JSON da solicitação:
{ "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" } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
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
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "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
Depois execute o comando a seguir para enviar a solicitação 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
Você receberá uma resposta JSON semelhante a esta:
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido da API Cloud Healthcare: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Healthcare Python.
Para autenticar na API Cloud Healthcare, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar condicionalmente um recurso FHIR
O exemplo de curl
a seguir mostra como usar o método
projects.locations.datasets.fhirStores.fhir.create
para criar condicionalmente um recurso FHIR. O método implementa a interação condicional create
do FHIR (DSTU2, STU3, R4, R5).
É possível usar a criação condicional para evitar a criação de recursos FHIR duplicados. Por exemplo, cada recurso de paciente em um servidor FHIR geralmente tem um identificador exclusivo, como um número de registro médico (MRN). Para criar um recurso de paciente e garantir que não haja outro com o mesmo MRN, crie condicionalmente o novo recurso usando uma consulta de pesquisa. A API Cloud Healthcare cria o novo recurso somente se não houver correspondências para a consulta de pesquisa.
A resposta do servidor depende de quantos recursos corresponderam à consulta de pesquisa:
Corresponde a | Código de resposta HTTP | Comportamento |
---|---|---|
Zero | 201 CREATED |
Cria o novo recurso. |
One | 200 OK |
Não cria um novo recurso. |
Mais de um | 412 Precondition Failed |
Não cria um novo recurso e retorna um erro "search criteria are not selective enough" . |
Para usar a interação condicional create
em vez da create
,
especifique um cabeçalho HTTP If-None-Exist
que contenha uma consulta de pesquisa FHIR
na sua solicitação:
If-None-Exist: FHIR_SEARCH_QUERY
Na API Cloud Healthcare v1, as operações condicionais usam exclusivamente o parâmetro de pesquisa identifier
, se ele existir para o tipo de recurso FHIR, para determinar quais recursos FHIR correspondem a uma consulta de pesquisa condicional.
REST
O exemplo a seguir mostra como criar um recurso de observação usando um
cabeçalho HTTP If-None-Exist: identifier=my-code-system|ABC-12345
. A API Cloud Healthcare
cria o recurso somente se nenhum recurso de observação corresponder
à consulta identifier=my-code-system|ABC-12345
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/fhir+json" \ -H "If-None-Exist: identifier=my-code-system|ABC-12345" \ -d @request.json \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation"
O exemplo de saída a seguir mostra intencionalmente uma solicitação com falha. Para ver a resposta de uma solicitação bem-sucedida, consulte Como criar um recurso de FHIR.
Se vários recursos de observação corresponderem à consulta, a API Cloud Healthcare vai retornar a seguinte resposta, e a solicitação de criação condicional vai falhar:
{
"issue": [
{
"code": "conflict",
"details": {
"text": "ambiguous_query"
},
"diagnostics": "search criteria are not selective enough",
"severity": "error"
}
],
"resourceType": "OperationOutcome"
}
Como atualizar um recurso FHIR
Os exemplos a seguir mostram como usar o método projects.locations.datasets.fhirStores.fhir.update
para atualizar um recurso FHIR. O método implementa a interação de atualização padrão FHIR (DSTU2, STU3, R4 e R5).
Ao atualizar um recurso, você atualiza todo o conteúdo do recurso. Isso é diferente do patch de um recurso, que atualiza apenas parte dele.
Se o armazenamento de FHIR tiver enableUpdateCreate
definido, a solicitação será tratada como um upsert (atualização ou inserção) que atualizará o recurso se ele existir ou o inserirá usando o ID especificado, caso não exista.
O corpo da solicitação precisa ter um recurso FHIR codificado em JSON e os cabeçalhos da solicitação precisam ter Content-Type: application/fhir+json
. O recurso precisa ter um elemento id
com um valor idêntico ao ID no caminho REST da solicitação.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. As amostras em Go, Java, Node.js e Python funcionam com armazenamentos FHIR STU3.
REST
Os exemplos a seguir mostram como atualizar os batimentos por minuto (BPM) em um recurso de observação.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
- OBSERVATION_ID: o ID do recurso de observação
- PATIENT_ID: o ID do recurso "Paciente"
- ENCOUNTER_ID: o ID do recurso "Encounter"
- BPM_VALUE: o valor de batimentos por minuto (BPM) no recurso "Observation" atualizado.
Corpo JSON da solicitação:
{ "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" } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
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
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "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
Depois execute o comando a seguir para enviar a solicitação 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
Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta:
Go
Node.js
Python
Como atualizar condicionalmente um recurso FHIR
Os exemplos a seguir mostram como chamar o método projects.locations.datasets.fhirStores.fhir.conditionalUpdate
para atualizar um recurso FHIR que corresponda a uma consulta de pesquisa, em vez de identificar o recurso pelo ID. O método implementa a interação de atualização condicional padrão FHIR (DSTU2, STU3, R4 e R5).
Uma atualização condicional só pode ser aplicada a um recurso FHIR por vez.
A resposta retornada pelo servidor depende de quantas correspondências houver com base nos critérios de pesquisa:
- Uma correspondência: o recurso foi atualizado ou um erro foi retornado.
- Mais de uma correspondência: a solicitação retorna um erro
412 Precondition Failed
. - Nenhuma correspondência é feita com um
id
: se os critérios de pesquisa identificarem zero correspondências, o corpo da solicitação fornecido tiver umid
e o armazenamento FHIRenableUpdateCreate
estiver definido comotrue
, o recurso FHIR será criado com oid
no corpo da solicitação. - Nenhuma correspondência sem um
id
: se os critérios de pesquisa identificarem zero correspondências e o corpo da solicitação fornecido não tiver umid
, o recurso FHIR será criado com um ID atribuído pelo servidor como se o recurso fosse criado usandoprojects.locations.datasets.fhirStores.fhir.create
.
O corpo da solicitação precisa ter um recurso FHIR codificado em JSON e os cabeçalhos da solicitação precisam ter Content-Type: application/fhir+json
.
Na API Cloud Healthcare v1, as operações condicionais usam exclusivamente o parâmetro de pesquisa identifier
, se ele existir para o tipo de recurso FHIR, para determinar quais recursos FHIR correspondem a uma consulta de pesquisa condicional.
REST
O exemplo a seguir mostra como enviar uma solicitação PUT
usando curl
e o PowerShell para editar um recurso de observação que usa o identificador de observação (ABC-12345
em my-code-system
). A observação fornece uma medição dos batimentos cardíacos por minuto (BPM) de um paciente.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
- PATIENT_ID: o ID do recurso "Paciente"
- ENCOUNTER_ID: o ID do recurso "Encounter"
- BPM_VALUE: o valor de batimentos por minuto (BPM) no recurso "Observation".
Corpo JSON da solicitação:
{ "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" } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
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
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "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
Depois execute o comando a seguir para enviar a solicitação 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
Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta:
Corrigir um recurso FHIR
Os exemplos a seguir mostram como chamar o método projects.locations.datasets.fhirStores.fhir.patch
para corrigir um recurso FHIR. O método implementa a interação de patch padrão FHIR (DSTU2, STU3, R4 e R5).
Ao corrigir um recurso, você atualiza parte dele aplicando as operações especificadas em um documento de patch JSON.
A solicitação precisa ter um documento de patch JSON e os cabeçalhos de solicitação precisam conter Content-Type: application/json-patch+json
.
Os exemplos a seguir mostram como
corrigir um recurso de observação. A observação dos batimentos cardíacos por minuto (BPM) de um paciente é atualizada usando a operação de patch replace
.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. As amostras em Go, Java, Node.js e Python funcionam com armazenamentos FHIR STU3.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
- OBSERVATION_ID: o ID do recurso de observação
- BPM_VALUE: o valor de batimentos por minuto (bpm) no recurso Observation corrigido.
Corpo JSON da solicitação:
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação 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
Você receberá uma resposta JSON semelhante a esta:
Go
Java
Node.js
Python
Executar uma solicitação PATCH
em um pacote FHIR
É possível especificar uma solicitação PATCH
em um pacote FHIR (somente FHIR R4).
Executar uma solicitação PATCH
em um pacote FHIR permite corrigir vários recursos FHIR de uma vez, em vez de precisar fazer solicitações de correção individuais para cada recurso.
Para fazer uma solicitação PATCH
em um pacote, especifique as seguintes informações em
um objeto resource
na solicitação:
- Um campo
resourceType
definido comoBinary
- Um campo
contentType
definido comoapplication/json-patch+json
- O corpo do patch codificado em base64
Verifique se o objeto resource
tem esta aparência:
"resource": {
"resourceType": "Binary",
"contentType": "application/json-patch+json",
"data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K"
}
Confira a seguir o corpo do patch que foi codificado em base64 no campo data
:
[
{
"op": "replace",
"path": "/birthdate",
"value": "1990-01-01"
}
]
Os exemplos a seguir mostram como usar uma solicitação PATCH
em um pacote para adicionar um patch ao recurso de paciente criado em Como criar um recurso FHIR e ter um valor birthDate
de 1990-01-01
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do Google Cloud projeto
- LOCATION: o local do conjunto de dados pai
- DATASET_ID: o conjunto de dados pai do armazenamento de FHIR
- FHIR_STORE_ID: o ID de armazenamento de FHIR
- PATIENT_ID: o ID de um recurso Patient existente
Corpo JSON da solicitação:
{ "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
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
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "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
Depois execute o comando a seguir para enviar a solicitação 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
Você receberá uma resposta JSON semelhante a esta:
Corrigir condicionalmente um recurso FHIR
Os exemplos a seguir mostram como chamar o método projects.locations.datasets.fhirStores.fhir.conditionalPatch
para fazer patch de um recurso FHIR que corresponda a uma consulta de pesquisa, em vez de identificar o recurso pelo ID. O método implementa a interação de patch condicional padrão FHIR (DSTU2, STU3, R4 e R4).
Um patch condicional só pode ser aplicado a um recurso por vez. Se os critérios de pesquisa identificarem mais de uma correspondência, a solicitação retornará um erro 412 Precondition Failed
.
Na API Cloud Healthcare v1, as operações condicionais usam exclusivamente o parâmetro de pesquisa identifier
, se ele existir para o tipo de recurso FHIR, para determinar quais recursos FHIR correspondem a uma consulta de pesquisa condicional.
REST
Os exemplos a seguir mostram como enviar uma solicitação PATCH
para editar um recurso de observação se o identificador da observação for ABC-12345
em my-code-system
.
A observação dos batimentos cardíacos por minutos (BPM) de um paciente é atualizada usando a operação de patch replace
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
- BPM_VALUE: o valor de batimentos por minuto (BPM) no recurso "Observation".
Corpo JSON da solicitação:
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação 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
Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta:
Como conseguir um recurso FHIR
Os exemplos a seguir mostram como conseguir o conteúdo de um recurso FHIR.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. As amostras em Go, Java, Node.js e Python funcionam com armazenamentos FHIR STU3.
Console
No console Google Cloud , acesse a página Visualizador FHIR.
Na lista suspensa Armazenamento de FHIR, selecione um conjunto de dados e, em seguida, selecione um armazenamento de FHIR no conjunto de dados.
Para filtrar a lista de tipos de recursos, pesquise os que você quer exibir.
Clique no campo Resource Type.
Na lista suspensa Propriedades, selecione Tipo de recurso.
Insira um tipo de recurso.
Para procurar outro tipo de recurso, selecione OU na lista suspensa Operadores exibida e insira outro tipo de recurso.
Na lista de tipos de recursos, selecione o tipo em que você quer receber o conteúdo.
Na tabela de recursos exibida, selecione ou procure um recurso.
REST
Os exemplos a seguir mostram como usar o método projects.locations.datasets.fhirStores.fhir.read
para receber os detalhes do recurso de observação criado em uma seção anterior.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
- OBSERVATION_ID: o ID do recurso de observação
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
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
Execute o seguinte comando:
$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
Abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta:
Go
Java
Node.js
Python
Receber todos os detalhes do recurso "Encounter"
Os exemplos a seguir mostram como visualizar detalhes sobre um recurso de encontro e todos os recursos relacionados a ele.
O método implementa a operação estendida do FHIR
Encounter-everything
definida nas seguintes versões do FHIR:
REST
Use o método projects.locations.datasets.fhirStores.fhir.Encounter-everything
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: o local do conjunto de dados;DATASET_ID
: o ID do conjunto de dados;FHIR_STORE_ID
: o ID de armazenamento de FHIRENCOUNTER_ID
: o ID do recurso "Encounter"
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
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
Execute o seguinte comando:
$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
, que é um recurso sintético no bucket público do Cloud Storage gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/
.
Como conseguir todos os recursos de compartimento de pacientes
Os exemplos a seguir mostram como conseguir todos os recursos associados a um determinado compartimento de pacientes (DSTU2, STU3, R4 e R5).
Para mais informações, consulte projects.locations.datasets.fhirStores.fhir.Patient-everything
.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. As amostras em Go, Java, Node.js e Python funcionam com armazenamentos FHIR STU3.
curl
Para receber os recursos de um compartimento de pacientes, faça uma solicitação GET
e especifique as informações a seguir:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- O ID do paciente
- Um token de acesso
O exemplo a seguir mostra uma solicitação GET
usando curl
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything"
Se a solicitação for bem-sucedida, o servidor retornará uma resposta semelhante à seguinte amostra no formato 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
Para receber os recursos de um compartimento de pacientes, faça uma solicitação GET
e especifique as informações a seguir:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- O ID do paciente
- Um token de acesso
O exemplo a seguir mostra uma solicitação GET
usando o PowerShell:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything' | ConvertTo-Json
Se a solicitação for bem-sucedida, o servidor retornará uma resposta semelhante à seguinte amostra no formato 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
Como filtrar recursos de compartimento de pacientes filtrados por tipo ou data
Os exemplos a seguir mostram como acessar todos os recursos associados a um
compartimento
de pacientes (R4)
específico, filtrado por uma lista de tipos e desde uma data e hora especificadas.
Para mais informações, consulte projects.locations.datasets.fhirStores.fhir.Patient-everything
.
As amostras REST a seguir funcionam com armazenamentos FHIR R4.
curl
Para receber os recursos em um compartimento de pacientes de um tipo especificado e desde uma data especificada, faça uma solicitação GET
e especifique as seguintes informações:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- O ID do paciente
- Uma string de consulta que contém uma lista de tipo de recurso e data de início separados por vírgulas.
- Um token de acesso
O exemplo a seguir mostra uma solicitação GET
usando curl
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything?_type=RESOURCE_TYPES&_since=DATE"
Se a solicitação for bem-sucedida, o servidor retornará todos os recursos que correspondem aos critérios especificados no formato JSON.
PowerShell
Para receber os recursos em um compartimento de pacientes de um tipo especificado e desde uma data especificada, faça uma solicitação GET
e especifique as seguintes informações:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- O ID do paciente
- Uma string de consulta que contém uma lista de tipo de recurso e data de início separados por vírgulas.
- Um token de acesso
O exemplo a seguir mostra uma solicitação GET
usando o PowerShell:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything?_type=RESOURCE_TYPES&_since=DATE' | ConvertTo-Json
Se a solicitação for bem-sucedida, o servidor retornará todos os recursos que correspondem aos critérios especificados no formato JSON.
Como listar versões de recursos FHIR
É possível listar as versões históricas de um recurso FHIR, incluindo a versão atual e as excluídas. Isso permite que você faça o seguinte:
- Acompanhe mudanças em registros de pacientes, medicamentos ou planos de tratamento.
- Se um recurso FHIR tiver dados incorretos, você poderá conferir as versões históricas para determinar quando os dados incorretos foram inseridos e recuperar as informações corretas.
- Garanta a conformidade regulamentar fornecendo registros de auditoria completos.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. As amostras em Go, Java, Node.js e Python funcionam com armazenamentos FHIR STU3.
Console
No console Google Cloud , acesse a página Visualizador FHIR.
No menu Armazenamento de FHIR, selecione um conjunto de dados e, em seguida, selecione um armazenamento de FHIR no conjunto de dados.
Para filtrar a lista de tipos de recursos FHIR, pesquise os que você quer exibir.
Clique no campo Tipo de recurso.
Na lista suspensa Propriedades, selecione Tipo de recurso.
Insira um tipo de recurso FHIR.
Na lista de tipos de recursos FHIR, selecione um tipo.
Na tabela de recursos FHIR exibida, selecione ou procure um recurso.
Para ver e comparar versões históricas do recurso FHIR, clique na guia Visão geral e faça o seguinte:
- Para ver as versões históricas do recurso FHIR, na mesma linha de ID da versão, clique em Ver versões históricas. No painel Selecionar uma versão do recurso, escolha a versão e clique em Confirmar. Os dados da versão são preenchidos nas guias Visão geral, Elementos e JSON.
- Para comparar duas versões do recurso FHIR, na mesma linha de ID da versão, clique em Comparar versões de recursos. No painel Selecionar versões de recursos para comparar, escolha duas versões de recursos e clique em Confirmar. As duas versões do recurso são mostradas em uma visualização de comparação, com a primeira versão selecionada à esquerda e a segunda à direita.
REST
Use o método projects.locations.datasets.fhirStores.fhir.history
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: o local do conjunto de dados;DATASET_ID
: o conjunto de dados pai do armazenamento de FHIRFHIR_STORE_ID
: o ID de armazenamento de FHIRRESOURCE_TYPE
: o tipo de recurso FHIRRESOURCE_ID
: o ID do recurso FHIR
Para enviar a solicitação, escolha uma destas opções:
curl
Os exemplos a seguir mostram como listar todas as versões de um recurso de observação. A observação foi atualizada uma vez após a criação original para mudar os batimentos cardíacos por minuto (BPM) do paciente.Execute o seguinte comando:
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
Os exemplos a seguir mostram como listar todas as versões de um recurso de observação. A observação foi atualizada uma vez após a criação original para mudar os batimentos cardíacos por minuto (BPM) do paciente.Execute o seguinte comando:
$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
Como recuperar uma versão de recurso FHIR
Os exemplos a seguir mostram como recuperar uma versão específica de um recurso FHIR.
Para encontrar uma versão específica, liste as versões do recurso FHIR e confira as informações dessa versão. O ID da versão está no campo
"versionId"
. Por exemplo, confira o corpo JSON a seguir, em que os IDs de versão do recurso de observação em Como listar versões de recursos FHIR estão em destaque:
{ "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" }, ... }
Os exemplos a seguir usam os recursos criados em Como criar um recurso FHIR e mostram como visualizar um recurso de observação. As amostras REST funcionam com armazenamentos FHIR R4. As amostras em Go, Node.js e Python funcionam com os armazenamentos FHIR STU3.
Console
No console Google Cloud , acesse a página Visualizador FHIR.
No menu Armazenamento de FHIR, selecione um conjunto de dados e, em seguida, selecione um armazenamento de FHIR no conjunto de dados.
Para filtrar a lista de tipos de recursos FHIR, pesquise os que você quer exibir.
Clique no campo Tipo de recurso.
Na lista suspensa Propriedades, selecione Tipo de recurso.
Insira um tipo de recurso FHIR.
Na lista de tipos de recursos FHIR, selecione um tipo.
Na tabela de recursos FHIR exibida, selecione ou procure um recurso.
Para conferir uma versão específica do recurso FHIR, faça o seguinte:
- Clique na guia Visão geral.
- Na mesma linha de ID da versão, clique em Ver versões anteriores.
- No painel Selecionar uma versão do recurso, escolha a versão e clique em Confirmar. Os dados da versão são preenchidos nas guias Visão geral, Elementos e JSON.
REST
Use o método projects.locations.datasets.fhirStores.fhir.vread
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: o local do conjunto de dados;DATASET_ID
: o conjunto de dados pai do armazenamento de FHIRFHIR_STORE_ID
: o ID de armazenamento de FHIRRESOURCE_TYPE
: o tipo de recurso FHIRRESOURCE_ID
: o ID do recurso FHIRRESOURCE_VERSION
: a versão do recurso FHIR
Para enviar a solicitação, escolha uma destas opções:
curl
Os exemplos a seguir mostram como listar todas as versões de um recurso de observação. A observação foi atualizada uma vez após a criação original para mudar os batimentos cardíacos por minuto (BPM) do paciente.Execute o seguinte comando:
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
Os exemplos a seguir mostram como listar todas as versões de um recurso de observação. A observação foi atualizada uma vez após a criação original para mudar os batimentos cardíacos por minuto (BPM) do paciente.Execute o seguinte comando:
$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
Como excluir um recurso FHIR
Os exemplos a seguir mostram como chamar o método
projects.locations.datasets.fhirStores.fhir.delete
para excluir um recurso FHIR de observação.
Independentemente de a operação ser bem-sucedida ou falhar, o servidor retorna um código de status HTTP 200 OK
. Para verificar se o recurso foi excluído, pesquise ou consiga o recurso e veja se ele existe.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. As amostras em Go, Java, Node.js e Python funcionam com armazenamentos FHIR STU3.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu Google Cloud projeto
- 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
- OBSERVATION_ID: o ID do recurso de observação
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
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
Execute o seguinte comando:
$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
Abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta:
Go
Java
Node.js
Python
Excluir condicionalmente um recurso FHIR
Na API Cloud Healthcare v1, as operações condicionais usam exclusivamente o parâmetro de pesquisa identifier
, se ele existir para o tipo de recurso FHIR, para determinar quais recursos FHIR correspondem a uma consulta de pesquisa condicional.
Um recurso FHIR corresponde à consulta ?identifier=my-code-system|ABC-12345
se e somente se o identifier.system
do recurso for my-code-system
e o identifier.value
for ABC-12345
. Se um recurso FHIR corresponder à consulta, a API Cloud Healthcare vai excluir o recurso.
Se a consulta usar o parâmetro de pesquisa identifier
e corresponder a vários recursos FHIR, a API Cloud Healthcare vai retornar um erro "412 - Condition not selective enough"
.
Para excluir os recursos individualmente, siga estas etapas:
- Pesquise cada recurso para receber o ID exclusivo atribuído pelo servidor.
- Exclua cada recurso individualmente usando o ID.
Os exemplos a seguir mostram como excluir condicionalmente um recurso FHIR que corresponda a uma consulta de pesquisa, em vez de identificar o recurso pelo ID.
A consulta de pesquisa corresponde e exclui um recurso de observação usando o identificador da observação (ABC-12345
em my-code-system
).
REST
Use o método projects.locations.datasets.fhirStores.fhir.conditionalDelete
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: o local do conjunto de dados;DATASET_ID
: o conjunto de dados pai do armazenamento de FHIRFHIR_STORE_ID
: o ID de armazenamento de FHIR
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
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
Execute o seguinte comando:
$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
Abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.
Excluir versões históricas de um recurso FHIR
Os exemplos a seguir mostram como excluir todas as versões históricas de um recurso FHIR usando o método projects.locations.datasets.fhirStores.fhir.Resource-purge
.
Para chamar o método projects.locations.datasets.fhirStores.fhir.Resource-purge
, é necessário que o usuário (autor da chamada) tenha o papel roles/healthcare.fhirStoreAdmin
. Usuários com o papel roles/healthcare.fhirResourceEditor
não podem chamar o método. Para permitir que um autor da chamada exclua versões históricas de um recurso FHIR:
- Verifique se o autor da chamada tem o papel
roles/healthcare.fhirStoreAdmin
. - Crie um papel personalizado do IAM com a permissão
healthcare.fhirResources.purge
e atribua o papel ao autor da chamada.
As amostras usam os recursos criados em Como criar um recurso FHIR e mostram como excluir as versões de um recurso de observação.
As amostras REST a seguir funcionam com armazenamentos FHIR R4. As amostras em Go, Java, Node.js e Python funcionam com armazenamentos FHIR STU3.
REST
Use o método projects.locations.datasets.fhirStores.fhir.Resource-purge
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: o local do conjunto de dados;DATASET_ID
: o conjunto de dados pai do armazenamento de FHIRFHIR_STORE_ID
: o ID de armazenamento de FHIRRESOURCE_TYPE
: o tipo de recurso FHIRRESOURCE_ID
: o ID do recurso FHIR
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
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
execute o seguinte comando:
$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
Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.