Nesta página, explicamos como criar, editar, visualizar e excluir armazenamentos de recursos rápidos de interoperabilidade de saúde (FHIR, na sigla em inglês). A versão de um armazenamento FHIR pode ser DSTU2, STU3 ou R4.
Como criar um armazenamento FHIR
Antes de criar um armazenamento FHIR, você precisa criar um conjunto de dados.
Os exemplos a seguir mostram como criar um armazenamento FHIR usando o
método
projects.locations.datasets.fhirStores.create
.
Console
Para criar um armazenamento de FHIR, siga estas etapas:
- No Console do Cloud, acesse a página "Conjuntos de dados".
- Abra o conjunto de dados em que você quer criar um armazenamento FHIR.
- Clique em Criar armazenamento de dados.
- Insira um nome de sua escolha que seja exclusivo no conjunto de dados. Se o nome não for exclusivo, a criação do armazenamento de FHIR falhará.
- Selecione FHIR como o tipo de armazenamento de dados.
- Escolha a versão para o armazenamento FHIR: DSTU2, STU3 ou R4.
-
Se você quiser configurar um tópico do Pub/Sub para o armazenamento FHIR, digite o nome do tópico.
Ao especificar um tópico do Pub/Sub, insira o URI qualificado para o tópico, conforme mostrado no exemplo a seguir:
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- Clique em Criar
O novo armazenamento de FHIR aparece na lista.
gcloud
Para criar um armazenamento FHIR no conjunto de dados, execute o comando gcloud healthcare fhir-stores create
.
- O ID de armazenamento FHIR precisa ser exclusivo no conjunto de dados. Pode ser qualquer string Unicode de 1 a 256 caracteres que consiste em números, letras, sublinhados, traços e pontos.
- Para definir a versão FHIR, especifique o argumento
--version
opcional. Isso define a versão FHIR comoDSTU2
,STU3
ouR4
. Se você não especificar esse argumento, a versão será definida comoSTU3
por padrão.
Para notificar um tópico do Pub/Sub sobre alterações no armazenamento de FHIR, especifique um nome de tópico do Pub/Sub usando o argumento
Ao especificar um tópico do Pub/Sub, insira o URI qualificado para o tópico, conforme mostrado no exemplo a seguir:--pubsub-topic
.projects/PROJECT_ID/topics/PUBSUB_TOPIC
O exemplo a seguir mostra como criar um armazenamento de FHIR.
gcloud healthcare fhir-stores create FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --version=FHIR_STORE_VERSION \ [--pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC]
Se a solicitação for bem-sucedida, o prompt de comando exibirá a seguinte mensagem:
Created fhirStore [FHIR_STORE_ID].
API
Para criar um armazenamento FHIR, use o método projects.locations.datasets.fhirStores.create
.
curl
Para criar um armazenamento FHIR, faça uma solicitação POST
e especifique as seguintes informações:
- O nome do conjunto de dados pai.
- Um nome para o armazenamento FHIR. O nome do armazenamento FHIR precisa ser exclusivo no conjunto de dados pai. Pode ser qualquer string Unicode de 1 a 256 caracteres que consiste em números, letras, sublinhados, traços e pontos.
- A versão do armazenamento FHIR:
DSTU2
,STU3
ouR4
. - Um token de acesso.
O exemplo a seguir mostra uma solicitação POST
usando curl
.
Como opção, é possível configurar um tópico existente do Pub/Sub que receberá notificações da API Cloud Healthcare referentes a alterações no armazenamento FHIR. Consulte Como editar um armazenamento de FHIR para informações sobre como configurar o tópico do Pub/Sub.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'version': 'FHIR_STORE_VERSION' }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID"
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "version": "FHIR_STORE_VERSION" }
PowerShell
Para criar um armazenamento FHIR, faça uma solicitação POST
e especifique as seguintes informações:
- O nome do conjunto de dados pai.
- Um nome para o armazenamento FHIR. O nome do armazenamento FHIR precisa ser exclusivo no conjunto de dados pai. Pode ser qualquer string Unicode de 1 a 256 caracteres que consiste em números, letras, sublinhados, traços e pontos.
- A versão do armazenamento FHIR:
DSTU2
,STU3
ouR4
. - Um token de acesso.
O exemplo a seguir mostra uma solicitação POST
usando o Windows PowerShell.
Como opção, é possível configurar um tópico existente do Pub/Sub que receberá notificações da API Cloud Healthcare referentes a alterações no armazenamento FHIR. Consulte Como editar um armazenamento de FHIR para informações sobre como configurar o tópico do Pub/Sub.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'version': 'FHIR_STORE_VERSION' }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID" | Select-Object -Expand Content
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "version": "FHIR_STORE_VERSION" }
Go
Java
Node.js
Python
Como editar um armazenamento FHIR
Os exemplos a seguir mostram como fazer as seguintes alterações em um armazenamento FHIR:
- Edite o tópico Pub/Sub que receberá notificações da API Cloud Healthcare referentes a alterações no armazenamento FHIR.
- Edite os rótulos. Os rótulos são pares de chave-valor que ajudam você a organizar seus recursos do Google Cloud.
projects/PROJECT_ID/topics/PUBSUB_TOPICPara que as notificações funcionem, você precisa conceder permissões adicionais para a conta de serviço do Agente de serviço do Cloud Healthcare. Para mais informações, consulte Permissões do Pub/Sub para armazenamento DICOM, FHIR e HL7v2.
Console
O Console do Cloud não é compatível com a edição de tópicos ou rótulos do Pub/Sub. Em vez disso, use curl
, Windows PowerShell ou a linguagem de sua preferência.
gcloud
Para atualizar o armazenamento FHIR, execute o comando gcloud healthcare fhir-stores update
.
O exemplo a seguir mostra como atualizar o tópico do Pub/Sub para o armazenamento FHIR. A ferramenta gcloud
não é compatível com a edição de rótulos.
gcloud healthcare fhir-stores update FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC
Se a solicitação for bem-sucedida, o prompt de comando exibirá os detalhes do armazenamento de FHIR, incluindo o novo nome do tópico:
Updated fhirStore [FHIR_STORE_ID]. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhir-stores/FHIR_STORE_ID notificationConfig: pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC version: FHIR_STORE_VERSION
API
Para editar um armazenamento FHIR, use o método projects.locations.datasets.fhirStores.patch
.
curl
Para editar um armazenamento FHIR, faça uma solicitação PATCH
e especifique as seguintes informações:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- Os metadados a serem atualizados
- Uma máscara de atualização
- Um token de acesso
O exemplo a seguir mostra uma solicitação PATCH
usando curl
.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'notificationConfig': { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC' }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=notificationConfig,labels"
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } 'version': FHIR_STORE_VERSION }
PowerShell
Para editar um armazenamento FHIR, faça uma solicitação PATCH
e especifique as seguintes informações:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- Os metadados a serem atualizados
- Uma máscara de atualização
- Um token de acesso
O exemplo a seguir mostra uma solicitação PATCH
usando o Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'notificationConfig': { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC' }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=notificationConfig,labels" | Select-Object -Expand Content
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } 'version': FHIR_STORE_VERSION }
Go
Java
Node.js
Python
Como ver detalhes do armazenamento FHIR
Os exemplos a seguir mostram como conseguir detalhes sobre um armazenamento de FHIR.
Console
Para ver os detalhes de um armazenamento FHIR, siga estas etapas:
- No Console do Cloud, acesse a página "Conjuntos de dados".
- Clique no código do conjunto de dados que contém o armazenamento FHIR.
- Clique no nome do armazenamento FHIR.
gcloud
Para ver detalhes sobre um armazenamento FHIR, execute o comando gcloud healthcare fhir-stores describe
.
O exemplo a seguir mostra como conseguir detalhes sobre um armazenamento FHIR.
gcloud healthcare fhir-stores describe FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Se a solicitação for bem-sucedida, o prompt de comando exibirá os detalhes do armazenamento de FHIR:
name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhir-stores/FHIR_STORE_ID version: FHIR_STORE_VERSION
API
Para ver detalhes sobre um armazenamento de FHIR, use o método projects.locations.datasets.fhirStores.get
.
curl
Para ver detalhes sobre um armazenamento FHIR, faça uma solicitação GET
e especifique as seguintes informações:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- 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"
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "version": FHIR_STORE_VERSION }
Se você tiver configurado algum campo no recurso FhirStore
, ele também aparecerá na resposta.
PowerShell
Para ver detalhes sobre um armazenamento FHIR, faça uma solicitação GET
e especifique as seguintes informações: o nome do conjunto de dados pai, o nome do armazenamento FHIR, um token de acesso.
Na amostra a seguir, você verá uma solicitação GET
usando o Windows PowerShell.
$cred = gcloud auth application-default 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" | Select-Object -Expand Content
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "version": FHIR_STORE_VERSION }
Se você tiver configurado algum campo no recurso FhirStore
, ele também aparecerá na resposta.
Go
Java
Node.js
Python
Como listar os armazenamentos FHIR em um conjunto de dados
Os exemplos a seguir mostram como listar os armazenamentos de FHIR em um conjunto de dados.
Console
Para visualizar os armazenamentos de dados em um conjunto de dados:
- No Console do Cloud, acesse a página "Conjuntos de dados".
- Clique no código do conjunto de dados cujos armazenamentos de dados você quer visualizar.
gcloud
Para listar os armazenamentos de FHIR em um conjunto de dados, execute o comando gcloud healthcare fhir-stores list
.
gcloud healthcare fhir-stores list --dataset=DATASET_ID
Se a solicitação for bem-sucedida, o prompt de comando listará os armazenamentos FHIR:
ID LOCATION TOPIC FHIR_STORE_ID LOCATION projects/PROJECT_ID/topics/PUBSUB_TOPIC
API
Para listar os armazenamentos de FHIR em um conjunto de dados, use o método projects.locations.datasets.fhirStores.list
.
curl
Para listar os armazenamentos de FHIR em um conjunto de dados, faça uma solicitação GET
e especifique as seguintes informações:
- O nome do conjunto de dados
- 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"
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "fhirStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID" }, { ... } ] }
Se você tiver configurado algum campo no recurso FhirStore
, ele também aparecerá na resposta.
PowerShell
Para listar os armazenamentos de FHIR em um conjunto de dados, faça uma solicitação GET
e especifique as seguintes informações:
- O nome do conjunto de dados
- Um token de acesso
O exemplo a seguir mostra uma solicitação GET
usando o Windows PowerShell.
$cred = gcloud auth application-default 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" | Select-Object -Expand Content
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "fhirStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID" }, { ... } ] }
Se você tiver configurado algum campo no recurso FhirStore
, ele também aparecerá na resposta.
Go
Java
Node.js
Python
Como conseguir os recursos ou a declaração de conformidade de um armazenamento FHIR
Os exemplos a seguir mostram como conseguir os recursos (STU3 ou R4) ou conformidade (DSTU2) para um armazenamento FHIR.
As informações nos recursos ou na declaração de conformidade refletem as configurações no armazenamento FHIR. Por exemplo, se FhirStore.enableUpdateCreate
estiver definido como true
, isso será refletido no campo CapabilityStatement.rest.resource.updateCreate
da instrução de recursos.
A tabela a seguir mostra o método da API Cloud Healthcare para receber os recursos ou a declaração de conformidade de um armazenamento FHIR e a interação de especificação FHIR equivalente:
Método da API Cloud Healthcare | Interação de especificação FHIR |
---|---|
projects.locations.datasets.fhirStores.fhir.capabilities |
Recursos (STU3 ou R4) ou conformance (DSTU2) |
Console
O Console do Cloud não é compatível com a obtenção dos recursos ou da declaração de conformidade. Em vez disso, use curl
, Windows PowerShell ou a linguagem de sua preferência.
gcloud
A ferramenta gcloud
não é compatível com a obtenção dos recursos ou da declaração de conformidade. Em vez disso, use curl
, Windows PowerShell ou a linguagem de sua preferência.
API
Para conseguir os recursos ou a declaração de conformidade de um armazenamento FHIR, use o método projects.locations.datasets.fhirStores.fhir.capabilities
.
curl
Para receber os recursos ou a declaração de conformidade de um armazenamento FHIR, faça uma solicitação GET
e especifique as seguintes informações:
- O nome do conjunto de dados
- O nome do armazenamento FHIR
- 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/metadata"
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "acceptUnknown": "both", "date": "2018-01-01", "description": "FHIR capability statement for the FHIR store specified by the request.", "experimental": true, "fhirVersion": "FHIR_VERSION", "format": [ "json" ], "id": "FHIR_STORE_ID", "kind": "instance", "patchFormat": [ "application/json-patch+json" ], "publisher": "Google", "resourceType": "CapabilityStatement", ... "status": "draft", "url": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "version": "20180101" }
PowerShell
Para receber os recursos ou a declaração de conformidade de um armazenamento FHIR, faça uma solicitação GET
e especifique as seguintes informações:
- O nome do conjunto de dados
- O nome do armazenamento FHIR
- Um token de acesso
O exemplo a seguir mostra uma solicitação GET
usando o Windows PowerShell.
$cred = gcloud auth application-default 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/metadata" | ConvertTo-Json
Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:
{ "acceptUnknown": "both", "date": "2018-01-01", "description": "FHIR capability statement for the FHIR store specified by the request.", "experimental": true, "fhirVersion": "FHIR_VERSION", "format": [ "json" ], "id": "FHIR_STORE_ID", "kind": "instance", "patchFormat": [ "application/json-patch+json" ], "publisher": "Google", "resourceType": "CapabilityStatement", ... "status": "draft", "url": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "version": "20180101" }
Go
Java
Node.js
Python
Como excluir um armazenamento FHIR
Os exemplos a seguir mostram como excluir um armazenamento de FHIR.
Console
Para excluir um armazenamento de dados:
- No Console do Cloud, acesse a página "Conjuntos de dados".
- Abra o conjunto de dados clicando no código dele.
- Selecione o armazenamento de dados que você quer excluir e clique em Excluir.
- Para confirmar, digite o nome do armazenamento de dados e clique em Excluir.
gcloud
Para excluir um armazenamento FHIR, execute o comando gcloud healthcare fhir-stores delete
:
Execute o comando
delete
.gcloud healthcare fhir-stores delete FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Para confirmar, digite Y.
Se a solicitação for bem-sucedida, o prompt de comando exibirá a seguinte mensagem:
Deleted fhirStore [FHIR_STORE_ID].
API
Para excluir um armazenamento FHIR, use o método projects.locations.datasets.fhirStores.delete
.
curl
Para excluir um armazenamento FHIR, faça uma solicitação DELETE
e especifique as seguintes informações:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- Um token de acesso
Na amostra a seguir, você verá uma solicitação DELETE
usando curl
.
curl -X DELETE \ -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"
Se a solicitação for bem-sucedida, o servidor retornará o corpo de resposta vazio no formato JSON:
{}
PowerShell
Para excluir um armazenamento FHIR, faça uma solicitação DELETE
e especifique as seguintes informações:
- O nome do conjunto de dados pai
- O nome do armazenamento FHIR
- Um token de acesso
Na amostra a seguir, você verá uma solicitação DELETE
usando o Windows PowerShell.
$cred = gcloud auth application-default 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" | Select-Object -Expand Content
Se a solicitação for bem-sucedida, o servidor retornará o corpo de resposta vazio no formato JSON:
{}
Go
Java
Node.js
Python
A seguir
Saiba como criar e trabalhar com recursos FHIR.