Acessando os Serviços de Dados de Saúde do Azure usando a extensão de cliente REST no Visual Studio Code

Neste artigo, você aprenderá a acessar o Azure Health Data Services usando a extensão de cliente REST no Visual Studio Code.

Instalar a extensão de cliente REST

Selecione o ícone Extensões no painel lateral esquerdo do seu Visual Studio Code e procure "Cliente REST". Localize a extensão do cliente REST e instale.

REST Client VSCode extension

Criar um .http arquivo e definir variáveis

Crie um novo arquivo no Visual Studio Code. Insira uma linha de comando de GET solicitação no arquivo e salve-a como test.http. O sufixo .http de arquivo ativa automaticamente o ambiente do Cliente REST. Selecione Send Request para obter os metadados.

Send Request

Obter valores de aplicativo cliente

Importante

Antes de chamar a API REST do servidor FHIR (além de obter os metadados), você deve concluir o registro do aplicativo. Anote sua ID de locatário do Azure, ID do cliente, segredo do cliente e a URL do serviço.

Embora você possa usar valores como o ID do cliente diretamente em chamadas para a API REST, é uma boa prática definir algumas variáveis para esses valores e usar as variáveis.

Em seu arquivo, inclua as seguintes informações obtidas ao registrar seu test.http aplicativo:

### REST Client
@fhirurl =https://xxx.azurehealthcareapis.com
@clientid =xxx....
@clientsecret =xxx....
@tenantid =xxx....

Obter o token de acesso do Microsoft Entra

Depois de incluir as informações abaixo em seu test.http arquivo, pressione Send Request. Você verá uma resposta HTTP que contém seu token de acesso.

A linha que começa com @name contém uma variável que captura a resposta HTTP que contém o token de acesso. A variável, , @tokené usada para armazenar o token de acesso.

Observação

O grant_type de é usado para obter um token de client_credentials acesso.

### Get access token 
# @name getAADToken 
POST https://login.microsoftonline.com/{{tenantid}}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&resource={{fhirurl}}
&client_id={{clientid}}
&client_secret={{clientsecret}}

### Extract access token from getAADToken request
@token = {{getAADToken.response.body.access_token}}

Get access token

Observação

Nos cenários em que o parâmetro de audiência do serviço FHIR não é mapeado para a URL do ponto de extremidade do serviço FHIR. O valor do parâmetro de recurso deve ser mapeado para o valor de Audiência na folha Autenticação de Serviço FHIR.

GET Dados do paciente FHIR

Agora você pode obter uma lista de pacientes ou um paciente específico com a GET solicitação. A linha com Authorization é a informação de cabeçalho para a GET solicitação. Você também pode enviar PUT ou POST solicitações para criar/atualizar recursos FHIR.

### GET Patient 
GET {{fhirurl}}/Patient/<patientid>
Authorization: Bearer {{token}}

GET Patient

Executar o PowerShell ou a CLI

Você pode executar scripts do PowerShell ou da CLI no Visual Studio Code. Pressione CTRL a ~ tecla e selecione PowerShell ou Bash. Você pode encontrar mais detalhes sobre o Terminal Integrado.

PowerShell no Visual Studio Code

running PowerShell

CLI no Visual Studio Code

running CLI

Solução de problemas

Se você não conseguir obter os metadados, que não exigem token de acesso com base na especificação HL7, verifique se o servidor FHIR está sendo executado corretamente.

Se você não conseguir obter um token de acesso, verifique se o aplicativo cliente está registrado corretamente e se você está usando os valores corretos da etapa de registro do aplicativo.

Se você não conseguir obter dados do servidor FHIR, verifique se o aplicativo cliente (ou a entidade de serviço) recebeu permissões de acesso, como "FHIR Data Contributor" para o servidor FHIR.

Próximas etapas

Neste artigo, você aprendeu como acessar dados do Azure Health Data Services usando a extensão de cliente REST no Visual Studio Code.

Para saber mais sobre como validar recursos FHIR em relação a perfis nos Serviços de Dados de Saúde do Azure, consulte

FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.