Usando autorização refinada com um SMART no armazenamento de dados habilitado para FHIR HealthLake - AWS HealthLake

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando autorização refinada com um SMART no armazenamento de dados habilitado para FHIR HealthLake

Os escopos por si só não fornecem a especificidade necessária sobre quais dados um solicitante está autorizado a acessar em um armazenamento de dados. O uso de autorização refinada permite um nível mais alto de especificidade ao conceder acesso a um SMART no armazenamento de dados habilitado para FHIR. HealthLake Para usar uma autorização refinada, defina FineGrainedAuthorizationEnabled igual a True no IdentityProviderConfiguration parâmetro da sua solicitação. CreateFHIRDatastore

Se você habilitou a autorização refinada, seu servidor de autorização retornará um fhirUser escopo id_token junto com o token de acesso. Isso permite que as informações sobre o usuário sejam recuperadas pelo aplicativo do cliente. O aplicativo cliente deve tratar a fhirUser declaração como o URI de um recurso FHIR representando o usuário atual. Pode ser Patient, Practitioner ou RelatedPerson. A resposta do servidor de autorização também inclui um user/ escopo que define quais dados o usuário pode acessar. Isso usa a sintaxe definida para escopos relacionados aos escopos específicos de recursos do FHIR:

user/(fhir-resource | '*').('read' | 'write' | '*')

A seguir estão exemplos de como a autorização refinada pode ser usada para especificar ainda mais os tipos de recursos FHIR relacionados ao acesso a dados.

  • Quando fhirUser é uma Practitioner autorização refinada determina a coleção de pacientes que o usuário pode acessar. fhirUserO acesso é permitido apenas para os pacientes em que o paciente se refere ao fhirUser como clínico geral.

    Patient.generalPractitioner : [{Reference(Practitioner)}]
  • Quando fhirUser é um Patient ou RelatedPerson e o paciente referenciado na solicitação é diferente dofhirUser, uma autorização refinada determina o acesso fhirUser do paciente solicitado. O acesso é permitido quando há um relacionamento especificado no Patient recurso solicitado.

    Patient.link.other : {Reference(Patient|RelatedPerson)}