Esta página explica como criar, atualizar, aplicar patches, ver, listar, obter e eliminar 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).
Os exemplos de REST nesta página funcionam com um arquivo FHIR R4 e não é garantido que funcionem se estiver a usar um arquivo FHIR DSTU2 ou STU3. Se estiver a usar um arquivo FHIR DSTU2 ou STU3, consulte a documentação FHIR oficial para obter informações sobre como converter os exemplos para a versão FHIR que está a usar.
Os exemplos de Go, Java, Node.js e Python funcionam com um arquivo FHIR STU3.
Criar um recurso FHIR
Antes de poder criar recursos FHIR, tem de criar uma loja FHIR.
Os exemplos de REST e Python mostram como criar os seguintes recursos FHIR:
- Um recurso Patient (DSTU2, STU3, R4, e R5)
- Um recurso Encounter (DSTU2, STU3, R4 e R5) para o paciente
- Um recurso Observation (DSTU2, STU3, R4, e R5) para o Encounter
Os exemplos para todos os outros idiomas mostram como criar um recurso FHIR genérico.
Para mais informações, consulte
projects.locations.datasets.fhirStores.fhir.create
.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Java, Node.js e Python funcionam com arquivos FHIR STU3.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
Corpo JSON do pedido:
{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
cat > request.json << 'EOF' { "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" } EOF
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Deve receber uma resposta JSON semelhante à seguinte:
Go
Java
Node.js
Python
Depois de criar o recurso Patient, crie um recurso Encounter para descrever uma interação entre o paciente e um profissional de saúde.
No campo PATIENT_ID, substitua o ID da resposta devolvida pelo servidor quando criou o recurso Patient.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. O exemplo do Python funciona com lojas FHIR STU3.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- PATIENT_ID: a resposta devolvida pelo servidor quando criou o recurso Patient
Corpo JSON do pedido:
{ "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 o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Deve receber uma resposta JSON semelhante à seguinte:
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da Cloud Healthcare API com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Python Cloud Healthcare API.
Para se autenticar na Cloud Healthcare API, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Depois de criar o recurso Encounter, crie um recurso Observation associado ao recurso Encounter. O recurso Observation fornece uma medição da frequência cardíaca do paciente em batimentos por minuto (BPM) (80
em bpm
).
Os seguintes exemplos de REST funcionam com lojas FHIR R4. O exemplo do Python funciona com lojas FHIR STU3.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- PATIENT_ID: o ID na resposta devolvida pelo servidor quando criou o recurso Patient
- ENCOUNTER_ID: o ID na resposta devolvida pelo servidor quando criou o recurso Encounter
Corpo JSON do pedido:
{ "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 o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Deve receber uma resposta JSON semelhante à seguinte:
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da Cloud Healthcare API com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Python Cloud Healthcare API.
Para se autenticar na Cloud Healthcare API, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Crie condicionalmente um recurso FHIR
A amostra curl
seguinte 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 e R5).
Pode usar a criação condicional para evitar a criação de recursos FHIR duplicados. Por exemplo, cada recurso de paciente num servidor FHIR tem normalmente um identificador exclusivo, como um número de registo médico (MRN). Para criar um novo recurso Patient e garantir que não existe nenhum recurso Patient com o mesmo MRN, crie condicionalmente o novo recurso através de uma consulta de pesquisa. A Cloud Healthcare API cria o novo recurso apenas se não existirem correspondências para a consulta de pesquisa.
A resposta do servidor depende do número de recursos que corresponderam à consulta de pesquisa:
Correspondências | Código de resposta HTTP | Comportamento |
---|---|---|
Zero | 201 CREATED |
Cria o novo recurso. |
Uma | 200 OK |
Não cria um novo recurso. |
Mais do que um | 412 Precondition Failed |
Não cria um novo recurso e devolve um erro "search criteria are not selective enough" . |
Para usar a interação create
condicional em vez da interação create
, especifique um cabeçalho HTTP If-None-Exist
que contenha uma consulta de pesquisa FHIR no seu pedido:
If-None-Exist: FHIR_SEARCH_QUERY
Na Cloud Healthcare API v1, as operações condicionais usam exclusivamente o parâmetro de pesquisa, se existir para o tipo de recurso FHIR, para determinar que recursos FHIR correspondem a uma consulta de pesquisa condicional.identifier
REST
O exemplo seguinte mostra como criar um recurso Observation através de um cabeçalho HTTP If-None-Exist: identifier=my-code-system|ABC-12345
. A Cloud Healthcare API
cria o recurso se e apenas se não existir nenhum recurso Observation que corresponda
à 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 seguinte mostra intencionalmente um pedido com falha. Para ver a resposta de um pedido bem-sucedido, consulte o artigo Criar um recurso FHIR.
Se vários recursos Observation corresponderem à consulta, a API Cloud Healthcare devolve a seguinte resposta e o pedido de criação condicional falha:
{
"issue": [
{
"code": "conflict",
"details": {
"text": "ambiguous_query"
},
"diagnostics": "search criteria are not selective enough",
"severity": "error"
}
],
"resourceType": "OperationOutcome"
}
Atualizar um recurso FHIR
Os exemplos seguintes mostram como usar o método projects.locations.datasets.fhirStores.fhir.update
para atualizar um recurso FHIR. O método implementa a norma FHIR
de interação de atualização
(DSTU2,
STU3,
R4,
e R5).
Quando atualiza um recurso, atualiza todo o conteúdo do recurso. Isto contrasta com a aplicação de patches a um recurso, que atualiza apenas parte de um recurso.
Se o FHIR store tiver o valor
enableUpdateCreate
definido, o pedido é tratado como um upsert (atualização ou inserção) que atualiza o recurso se existir ou o insere através do ID especificado no pedido, se não existir.
O corpo do pedido tem de conter um recurso FHIR codificado em JSON e os cabeçalhos do pedido têm de conter Content-Type: application/fhir+json
. O recurso tem de conter um elemento id
com um valor idêntico ao ID no caminho REST do pedido.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Java, Node.js e Python funcionam com arquivos FHIR STU3.
REST
Os exemplos seguintes mostram como atualizar os batimentos por minuto (BPM) num recurso de observação.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- OBSERVATION_ID: o ID do recurso Observation
- PATIENT_ID: o ID do recurso Patient
- ENCOUNTER_ID: o ID do recurso Encounter
- BPM_VALUE: o valor de batimentos por minuto (BPM) no recurso Observation atualizado
Corpo JSON do pedido:
{ "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 o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Explorador de APIs
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Go
Node.js
Python
Atualizar condicionalmente um recurso FHIR
Os exemplos seguintes mostram como chamar o método
projects.locations.datasets.fhirStores.fhir.conditionalUpdate
para atualizar um recurso FHIR que corresponde a uma consulta de pesquisa, em vez de identificar o recurso pelo respetivo ID. O método implementa a
interação de atualização condicional da norma FHIR
(DSTU2,
STU3,
R4,
e R5).
Só é possível aplicar uma atualização condicional a um recurso FHIR de cada vez.
A resposta devolvida do servidor depende do número de correspondências que ocorrem com base nos critérios de pesquisa:
- Uma correspondência: o recurso é atualizado com êxito ou é devolvido um erro.
- Mais de uma correspondência: o pedido devolve um erro
412 Precondition Failed
. - Nenhuma correspondência com um
id
: se os critérios de pesquisa identificarem zero correspondências, o corpo do pedido fornecido contiver umid
e a loja FHIR tiverenableUpdateCreate
definido comotrue
, o recurso FHIR é criado com oid
no corpo do pedido. - Zero correspondências sem um
id
: se os critérios de pesquisa identificarem zero correspondências e o corpo do pedido fornecido não contiver umid
, o recurso FHIR é criado com um ID atribuído pelo servidor como se o recurso tivesse sido criado usandoprojects.locations.datasets.fhirStores.fhir.create
.
O corpo do pedido tem de conter um recurso FHIR codificado em JSON e os cabeçalhos do pedido têm de conter Content-Type: application/fhir+json
.
Na Cloud Healthcare API v1, as operações condicionais usam exclusivamente o parâmetro de pesquisa, se existir para o tipo de recurso FHIR, para determinar que recursos FHIR correspondem a uma consulta de pesquisa condicional.identifier
REST
O exemplo seguinte mostra como enviar um pedido PUT
usando curl
e o
PowerShell para editar um recurso Observation usando o identificador da Observation
(ABC-12345
em my-code-system
). A Observation fornece uma medição dos
batimentos cardíacos por minuto (BPM) de um paciente.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- PATIENT_ID: o ID do recurso Patient
- ENCOUNTER_ID: o ID do recurso Encounter
- BPM_VALUE: o valor de batimentos por minuto (BPM) no recurso Observation
Corpo JSON do pedido:
{ "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 o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Explorador de APIs
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Aplicar patches a um recurso FHIR
Os exemplos seguintes mostram como chamar o método
projects.locations.datasets.fhirStores.fhir.patch
para aplicar um patch a um recurso FHIR. O método implementa a interação de patch da norma FHIR (DSTU2, STU3, R4 e R5).
Quando aplica um patch a um recurso, atualiza parte do recurso aplicando as operações especificadas num documento JSON Patch.
O pedido tem de conter um documento de patch JSON e os cabeçalhos do pedido têm de conter Content-Type: application/json-patch+json
.
Os exemplos seguintes mostram como
aplicar um patch a um recurso Observation. A observação dos batimentos cardíacos por minuto (BPM) de um paciente é atualizada através da operação de patch replace
.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Java, Node.js e Python funcionam com arquivos FHIR STU3.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- OBSERVATION_ID: o ID do recurso Observation
- BPM_VALUE: o valor de batimentos por minuto (BPM) no recurso Observation corrigido
Corpo JSON do pedido:
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Deve receber uma resposta JSON semelhante à seguinte:
Go
Java
Node.js
Python
Executar um pedido PATCH
num pacote FHIR
Pode especificar um pedido PATCH
num pacote FHIR (apenas FHIR R4).
A execução de um pedido PATCH
num pacote FHIR permite-lhe aplicar patches a muitos recursos FHIR de uma só vez, em vez de ter de fazer pedidos de patches individuais para cada recurso FHIR.
Para fazer um pedido PATCH
num pacote, especifique as seguintes informações num objeto resource
no pedido:
- Um campo
resourceType
definido comoBinary
- Um campo
contentType
definido comoapplication/json-patch+json
- O corpo da correção codificado em base64
Certifique-se de que o objeto resource
tem o seguinte aspeto:
"resource": {
"resourceType": "Binary",
"contentType": "application/json-patch+json",
"data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K"
}
O exemplo seguinte mostra o corpo da correção que foi codificado em base64 no campo data
:
[
{
"op": "replace",
"path": "/birthdate",
"value": "1990-01-01"
}
]
Os exemplos seguintes mostram como usar um pedido PATCH
num pacote para aplicar patches ao recurso Patient que criou em Criar um recurso FHIR para ter um valor birthDate
de 1990-01-01
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados principal
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- PATIENT_ID: o ID de um recurso Patient existente
Corpo JSON do pedido:
{ "type": "transaction", "resourceType": "Bundle", "entry": [ { "request": { "method": "PATCH", "url": "Patient/PATIENT_ID" }, "resource": { "resourceType": "Binary", "contentType": "application/json-patch+json", "data": "WyB7ICJvcCI6ICJyZXBsYWNlIiwgInBhdGgiOiAiL2JpcnRoRGF0ZSIsICJ2YWx1ZSI6ICIxOTkwLTAxLTAxIiB9IF0K" } } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro 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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Deve receber uma resposta JSON semelhante à seguinte:
Aplicar patches condicionalmente a um recurso FHIR
Os exemplos seguintes mostram como chamar o método
projects.locations.datasets.fhirStores.fhir.conditionalPatch
para aplicar uma correção a um recurso FHIR que corresponda a uma consulta de pesquisa, em vez de
identificar o recurso pelo respetivo ID. O método implementa a interação de patch condicional da norma FHIR (DSTU2, STU3, R4 e R4).
Uma correção condicional só pode ser aplicada a um recurso de cada vez. Se os critérios de pesquisa identificarem mais do que uma correspondência, o pedido devolve um erro 412 Precondition Failed
.
Na Cloud Healthcare API v1, as operações condicionais usam exclusivamente o parâmetro de pesquisa, se existir para o tipo de recurso FHIR, para determinar que recursos FHIR correspondem a uma consulta de pesquisa condicional.identifier
REST
Os exemplos seguintes mostram como enviar um pedido PATCH
para editar um recurso Observation se o identificador da Observation for ABC-12345
em my-code-system
.
A observação dos batimentos cardíacos por minuto (BPM) de um paciente é
atualizada através da operação de patch replace
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- BPM_VALUE: o valor de batimentos por minuto (BPM) no recurso Observation
Corpo JSON do pedido:
[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
cat > request.json << 'EOF' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] EOF
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
@' [ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ] '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Explorador de APIs
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Obter um recurso FHIR
Os exemplos seguintes mostram como obter o conteúdo de um recurso FHIR.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Java, Node.js e Python funcionam com arquivos FHIR STU3.
Consola
Na Google Cloud consola, aceda à página Visualizador de FHIR.
Na lista pendente FHIR Store, selecione um conjunto de dados e, de seguida, selecione uma FHIR Store no conjunto de dados.
Para filtrar a lista de tipos de recursos, pesquise os tipos de recursos que quer apresentar.
Clique no campo Tipo de recurso.
Na lista pendente Propriedades apresentada, selecione Tipo de recurso.
Introduza um tipo de recurso.
Para pesquisar outro tipo de recurso, selecione OU na lista pendente Operadores apresentada e, em seguida, introduza outro tipo de recurso.
Na lista de tipos de recursos, selecione o tipo de recurso do recurso cujo conteúdo quer obter.
Na tabela de recursos apresentada, selecione ou pesquise um recurso.
REST
Os exemplos seguintes mostram como usar o método projects.locations.datasets.fhirStores.fhir.read
para obter os detalhes do recurso Observation
criado numa secção anterior.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- OBSERVATION_ID: o ID do recurso Observation
Para enviar o seu pedido, 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
Explorador de APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Go
Java
Node.js
Python
Obtenha todos os detalhes dos recursos de Encounter
Os exemplos seguintes mostram como ver detalhes sobre um recurso Encounter e todos os recursos relacionados com o Encounter.
O método implementa a operação FHIR estendida
Encounter-everything
definida nas seguintes versões do FHIR:
REST
Use o método projects.locations.datasets.fhirStores.fhir.Encounter-everything
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: a localização do conjunto de dadosDATASET_ID
: o ID do conjunto de dadosFHIR_STORE_ID
: o ID da loja FHIRENCOUNTER_ID
: o ID do recurso Encounter
Para enviar o seu pedido, 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 contentor do Cloud Storage público gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/
.
Obter todos os recursos do compartimento de pacientes
Os exemplos seguintes mostram como obter todos os recursos associados a um compartimento de paciente específico (DSTU2, STU3, R4 e R5).
Para mais informações, consulte
projects.locations.datasets.fhirStores.fhir.Patient-everything
.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Java, Node.js e Python funcionam com arquivos FHIR STU3.
curl
Para obter os recursos num compartimento de pacientes, faça um pedido GET
e
especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- O ID do paciente
- Uma chave de acesso
O exemplo seguinte mostra um pedido GET
com 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 o pedido for bem-sucedido, o servidor devolve uma resposta semelhante ao exemplo seguinte 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 obter os recursos num compartimento de pacientes, faça um pedido GET
e
especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- O ID do paciente
- Uma chave de acesso
O exemplo seguinte mostra um pedido GET
através do 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 o pedido for bem-sucedido, o servidor devolve uma resposta semelhante ao exemplo seguinte 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
Obter recursos de compartimento de pacientes filtrados por tipo ou data
Os exemplos seguintes mostram como obter todos os recursos associados a um
compartimento do paciente (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
.
Os seguintes exemplos de REST funcionam com lojas FHIR R4.
curl
Para obter os recursos num compartimento de paciente de um tipo especificado e desde uma data especificada, faça um pedido GET
e especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- O ID do paciente
- Uma string de consulta que contém uma lista de tipos de recursos separada por vírgulas e a data de início
- Uma chave de acesso
O exemplo seguinte mostra um pedido GET
com 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 o pedido for bem-sucedido, o servidor devolve todos os recursos que correspondem aos critérios especificados no formato JSON.
PowerShell
Para obter os recursos num compartimento de paciente de um tipo especificado e desde uma data especificada, faça um pedido GET
e especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- O ID do paciente
- Uma string de consulta que contém uma lista de tipos de recursos separada por vírgulas e a data de início
- Uma chave de acesso
O exemplo seguinte mostra um pedido GET
através do 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 o pedido for bem-sucedido, o servidor devolve todos os recursos que correspondem aos critérios especificados no formato JSON.
Indicar versões de recursos FHIR
Pode listar as versões do histórico de um recurso FHIR, incluindo a versão atual e todas as versões eliminadas. Isto permite-lhe fazer o seguinte:
- Acompanhe as alterações aos registos dos pacientes, aos medicamentos ou aos planos de cuidados.
- Se um recurso FHIR contiver dados incorretos, pode ver as versões do histórico para determinar quando os dados incorretos foram introduzidos e recuperar as informações corretas.
- Garantir a conformidade regulamentar através da disponibilização de trilhos de auditoria completos.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Java, Node.js e Python funcionam com arquivos FHIR STU3.
Consola
Na Google Cloud consola, aceda à página Visualizador de FHIR.
No menu FHIR store, selecione um conjunto de dados e, de seguida, selecione uma FHIR store no conjunto de dados.
Para filtrar a lista de tipos de recursos FHIR, pesquise os tipos de recursos que quer apresentar.
Clique no campo Tipo de recurso.
Na lista pendente Propriedades apresentada, selecione Tipo de recurso.
Introduza um tipo de recurso FHIR.
Na lista de tipos de recursos FHIR, selecione um tipo de recurso.
Na tabela de recursos FHIR apresentada, selecione ou pesquise um recurso.
Para ver e comparar versões históricas do recurso FHIR, clique no separador Vista geral e, de seguida, faça o seguinte:
- Para ver as versões anteriores do recurso FHIR, na mesma linha que ID da versão, clique em Ver versões anteriores. No painel Selecionar uma versão do recurso, selecione a versão e, de seguida, clique em Confirmar. Os dados na versão são preenchidos nos separadores Vista geral, Elementos e JSON.
- Para comparar duas versões do recurso FHIR, na mesma linha que ID da versão, clique em Comparar versões de recursos. No painel Selecione versões de recursos para comparar, selecione duas versões de recursos e, de seguida, clique em Confirmar. As duas versões do recurso são apresentadas numa vista de comparação, com a primeira versão que selecionou do lado esquerdo e a segunda versão do lado direito.
REST
Use o método projects.locations.datasets.fhirStores.fhir.history
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: a localização do conjunto de dadosDATASET_ID
: o conjunto de dados principal do FHIR storeFHIR_STORE_ID
: o ID da loja FHIRRESOURCE_TYPE
: o tipo de recurso FHIRRESOURCE_ID
: o ID do recurso FHIR
Para enviar o seu pedido, escolha uma destas opções:
curl
Os exemplos seguintes mostram como listar todas as versões de um recurso Observation. A observação foi atualizada uma vez após a sua criação original para alterar 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 seguintes mostram como listar todas as versões de um recurso Observation. A observação foi atualizada uma vez após a sua criação original para alterar 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
Obter uma versão de recurso FHIR
Os exemplos seguintes mostram como obter uma versão específica de um recurso FHIR.
Para encontrar uma versão específica, pode listar as versões do recurso FHIR
e, em seguida, ver as informações dessa versão. O ID da versão está contido no campo "versionId"
. Por exemplo, veja o seguinte corpo JSON onde os IDs das versões do recurso Observation em Listar versões de recursos FHIR estão realçados:
{ "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 seguintes usam os recursos criados em Criar um recurso FHIR e mostram como ver um recurso Observation. Os exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Node.js e Python funcionam com arquivos FHIR STU3.
Consola
Na Google Cloud consola, aceda à página Visualizador de FHIR.
No menu FHIR store, selecione um conjunto de dados e, de seguida, selecione uma FHIR store no conjunto de dados.
Para filtrar a lista de tipos de recursos FHIR, pesquise os tipos de recursos que quer apresentar.
Clique no campo Tipo de recurso.
Na lista pendente Propriedades apresentada, selecione Tipo de recurso.
Introduza um tipo de recurso FHIR.
Na lista de tipos de recursos FHIR, selecione um tipo de recurso.
Na tabela de recursos FHIR apresentada, selecione ou pesquise um recurso.
Para ver uma versão específica do recurso FHIR, faça o seguinte:
- Clique no separador Vista geral.
- Na mesma linha que ID da versão, clique em Ver versões anteriores.
- No painel Selecionar uma versão do recurso, selecione a versão e, de seguida, clique em Confirmar. Os dados na versão são preenchidos nos separadores Vista geral, Elementos e JSON.
REST
Use o método projects.locations.datasets.fhirStores.fhir.vread
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: a localização do conjunto de dadosDATASET_ID
: o conjunto de dados principal do FHIR storeFHIR_STORE_ID
: o ID da loja FHIRRESOURCE_TYPE
: o tipo de recurso FHIRRESOURCE_ID
: o ID do recurso FHIRRESOURCE_VERSION
: a versão do recurso FHIR
Para enviar o seu pedido, escolha uma destas opções:
curl
Os exemplos seguintes mostram como listar todas as versões de um recurso Observation. A observação foi atualizada uma vez após a sua criação original para alterar 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 seguintes mostram como listar todas as versões de um recurso Observation. A observação foi atualizada uma vez após a sua criação original para alterar 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
Eliminar um recurso FHIR
Os exemplos seguintes mostram como chamar o método
projects.locations.datasets.fhirStores.fhir.delete
para eliminar um recurso FHIR de observação.
Independentemente de a operação ser bem-sucedida ou não, o servidor devolve um
200 OK
código de estado HTTP. Para verificar se o recurso foi eliminado com êxito, pesquise ou obtenha o recurso e veja se existe.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Java, Node.js e Python funcionam com arquivos FHIR STU3.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- OBSERVATION_ID: o ID do recurso Observation
Para enviar o seu pedido, 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
Explorador de APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Go
Java
Node.js
Python
Elimine condicionalmente um recurso FHIR
Na Cloud Healthcare API v1, as operações condicionais usam exclusivamente o parâmetro de pesquisa, se existir para o tipo de recurso FHIR, para determinar que recursos FHIR correspondem a uma consulta de pesquisa condicional.identifier
Um recurso FHIR corresponde à consulta ?identifier=my-code-system|ABC-12345
se e apenas se o identifier.system
do recurso for my-code-system
e o respetivo identifier.value
for ABC-12345
. Se um recurso FHIR corresponder à consulta, a Cloud Healthcare API elimina o recurso.
Se a consulta usar o parâmetro de pesquisa identifier
e encontrar vários recursos FHIR, a Cloud Healthcare API devolve um erro "412 - Condition not selective enough"
.
Para eliminar individualmente os recursos, siga estes passos:
- Pesquise cada recurso para obter o respetivo ID exclusivo atribuído pelo servidor.
- Elimine individualmente cada recurso através do ID.
Os exemplos seguintes mostram como eliminar condicionalmente um recurso FHIR que corresponda a uma consulta de pesquisa, em vez de identificar o recurso FHIR pelo respetivo ID.
A consulta de pesquisa corresponde e elimina um recurso Observation através do identificador da observação (ABC-12345
em my-code-system
).
REST
Use o método projects.locations.datasets.fhirStores.fhir.conditionalDelete
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: a localização do conjunto de dadosDATASET_ID
: o conjunto de dados principal do FHIR storeFHIR_STORE_ID
: o ID da loja FHIR
Para enviar o seu pedido, 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
Explorador de APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
Deve receber um código de estado de êxito (2xx) e uma resposta vazia.
Elimine versões históricas de um recurso FHIR
Os exemplos seguintes mostram como eliminar todas as versões do histórico de um recurso FHIR
usando o método projects.locations.datasets.fhirStores.fhir.Resource-purge
.
A chamada do método projects.locations.datasets.fhirStores.fhir.Resource-purge
está limitada a utilizadores (autor da chamada) com a função roles/healthcare.fhirStoreAdmin
. Os utilizadores com a função roles/healthcare.fhirResourceEditor
não podem chamar o método. Para permitir que um autor da chamada elimine versões do histórico de um recurso FHIR:
- Certifique-se de que o autor da chamada tem a função
roles/healthcare.fhirStoreAdmin
. - Crie uma função do IAM personalizada
com a autorização
healthcare.fhirResources.purge
e atribua a função ao autor da chamada.
Os exemplos usam os recursos criados em Criar um recurso FHIR e mostram como eliminar as versões históricas de um recurso Observation.
Os seguintes exemplos de REST funcionam com lojas FHIR R4. Os exemplos de Go, Java, Node.js e Python funcionam com arquivos FHIR STU3.
REST
Use o método projects.locations.datasets.fhirStores.fhir.Resource-purge
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: a localização do conjunto de dadosDATASET_ID
: o conjunto de dados principal do FHIR storeFHIR_STORE_ID
: o ID da loja FHIRRESOURCE_TYPE
: o tipo de recurso FHIRRESOURCE_ID
: o ID do recurso FHIR
Para enviar o seu pedido, 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
Deve receber um código de estado de êxito (2xx) e uma resposta vazia.