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+providerNpimemberId+providerNpi+attributionPeriod - Opção 2: Referência do paciente + Referência do provedor
-
patientReference+providerReferencepatientReference+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 é:
draftopen
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”