$member-addoperação para 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á.

$member-addoperação para HealthLake

A $member-add operação FHIR adiciona um membro (paciente) a um recurso do Grupo, especificamente uma Lista de Atribuição de Membros. Essa operação faz parte do Guia de Implementação de Atribuição de DaVinci Membros e apoia o processo de reconciliação para gerenciar as atribuições de membros.

Ponto final da operação

POST [base]/datastore/{datastoreId}/r4/Group/{groupId}/$member-add Content-Type: application/json

Parameters

A operação aceita um recurso de parâmetros FHIR com as seguintes combinações de parâmetros:

Opções de parâmetros

Você pode usar uma das seguintes combinações de parâmetros:

Opção 1: ID de membro + NPI do provedor

memberId + providerNpi

memberId + providerNpi + attributionPeriod

Opção 2: Referência do paciente + Referência do provedor

patientReference + providerReference

patientReference + providerReference + attributionPeriod

Detalhes do parâmetro

ID do membro (opcional)

O identificador do membro a ser adicionado ao Grupo.

Tipo: Identificador

Sistema: Sistema de identificação de pacientes

{ "name": "memberId", "valueIdentifier": { "system": "http://example.org/patient-id", "value": "patient-new" } }
ProviderNPI (opcional)

O Identificador Nacional do Provedor (NPI) do provedor atribuído.

Tipo: Identificador

Sistema: http://terminology.hl7. org/CodeSystem/NPI

{ "name": "providerNpi", "valueIdentifier": { "system": "http://terminology.hl7.org/CodeSystem/NPI", "value": "1234567890" } }
Referência do paciente (opcional)

Referência direta ao recurso do paciente a ser adicionado.

Tipo: Referência

{ "name": "patientReference", "valueReference": { "reference": "Patient/patient-123" } }
Referência do provedor (opcional)

Referência direta ao recurso do provedor.

Tipo: Referência

{ "name": "providerReference", "valueReference": { "reference": "Practitioner/provider-456" } }
Período de atribuição (opcional)

O período de tempo durante o qual o paciente é atribuído ao provedor.

Tipo: Período

{ "name": "attributionPeriod", "valuePeriod": { "start": "2024-07-15", "end": "2025-07-14" } }

Exemplos de solicitações

Usando ID de membro e NPI do provedor

{ "resourceType": "Parameters", "parameter": [ { "name": "memberId", "valueIdentifier": { "system": "http://example.org/patient-id", "value": "patient-new" } }, { "name": "providerNpi", "valueIdentifier": { "system": "http://terminology.hl7.org/CodeSystem/NPI", "value": "1234567890" } }, { "name": "attributionPeriod", "valuePeriod": { "start": "2024-07-15", "end": "2025-07-14" } } ] }

Usando referências de pacientes e provedores

{ "resourceType": "Parameters", "parameter": [ { "name": "patientReference", "valueReference": { "reference": "Patient/patient-123" } }, { "name": "providerReference", "valueReference": { "reference": "Practitioner/provider-456" } }, { "name": "attributionPeriod", "valuePeriod": { "start": "2024-07-15", "end": "2025-07-14" } } ] }

Formato de resposta

Resposta de adição bem-sucedida

HTTP Status: 200 OK Content-Type: application/fhir+json { "resourceType": "OperationOutcome", "issue": [ { "severity": "success", "code": "informational", "details": { "text": "Member Patient/patient-new successfully added to the Member Attribution List." } } ] }

Respostas de erro

Sintaxe de solicitação inválida

Status HTTP: 400 Solicitação inválida

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "invalid", "details": { "text": "Invalid parameter combination provided" } } ] }
Recurso não encontrado

Status HTTP: 404 não encontrado

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "not-found", "details": { "text": "Resource not found." } } ] }
Conflito de versão

Status HTTP: 409 Conflito

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "conflict", "details": { "text": "Resource version conflict detected" } } ] }
Status de atribuição inválido

Status HTTP: 422 Entidade não processável

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "business-rule", "details": { "text": "Cannot add member to Attribution List with status 'final'. Status must be 'draft' or 'open'." } } ] }

Regras de negócios

Validação do status de atribuição

A operação só pode ser realizada quando o Status de Atribuição do Grupo é:

  • draft

  • open

As operações não são permitidas quando o status éfinal.

Prevenção de membros duplicados

O sistema evita a adição de membros duplicados com base na combinação exclusiva de:

  • Identificador de membro

  • Identificador do pagador

  • Identificador de cobertura

Validação do período de cobertura

Quando um attributionPeriod é fornecido, ele deve estar dentro dos limites do período de cobertura do membro. O sistema irá:

  • Pesquise o recurso de cobertura do membro

  • Use a cobertura mais recente (versionID mais alta) se existirem várias

  • Valide que o período de atribuição não exceda o período de cobertura

Validação de referência

Quando a ID e a referência são fornecidas para o mesmo recurso (paciente ou profissional), o sistema valida que elas correspondem ao mesmo recurso.

Quando os campos ID e reference.identifier são fornecidos para o mesmo recurso (paciente ou provedor), ocorre um erro.

Autenticação e autorização

A operação requer autorização SMART on FHIR para:

  • Permissões de leitura - Para validar recursos de pacientes, provedores e grupos

  • Permissões de pesquisa - Para encontrar recursos por identificador

  • Atualizar permissões - Para modificar o recurso do Grupo

Comportamento operacional

Atualizações de recursos
  • Atualiza o ID da versão do recurso do grupo

  • Cria uma entrada de histórico com o estado original do recurso antes da operação

  • Adiciona informações do membro à matriz group.Member com:

    • Referência do paciente em entity.reference

    • Período de atribuição em período

    • Cobertura e informações do provedor em campos de extensão

Passos de validação
  • Validação de parâmetros - Garante combinações de parâmetros válidas

  • Existência de recursos - Valida a existência de recursos para pacientes, provedores e grupos

  • Status de atribuição - confirma que o status do grupo permite modificações

  • Verificação duplicada - Impede a adição de membros existentes

  • Validação da cobertura - Garante que o período de atribuição esteja dentro dos limites da cobertura

Limitações

  • Todos os recursos referenciados devem existir no mesmo armazenamento de dados

  • A operação só funciona com recursos do Grupo de Lista de Atribuição de Membros

  • Os períodos de atribuição devem estar dentro dos limites de cobertura

  • Não é possível modificar grupos com status “final”