$member-addoperación para HealthLake - AWS HealthLake

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

$member-addoperación para HealthLake

La $member-add operación del FHIR añade a un miembro (paciente) a un recurso del grupo, específicamente a una lista de atribuciones de miembros. Esta operación forma parte de la Guía de implementación de las atribuciones de DaVinci los miembros y apoya el proceso de conciliación para gestionar las atribuciones de los miembros.

Operation Endpoint

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

Parameters

La operación acepta un recurso de parámetros del FHIR con las siguientes combinaciones de parámetros:

Opciones de parámetros

Puede utilizar una de las siguientes combinaciones de parámetros:

Opción 1: ID de miembro + NPI del proveedor

memberId + providerNpi

memberId + providerNpi + attributionPeriod

Opción 2: referencia del paciente + referencia del proveedor

patientReference + providerReference

patientReference + providerReference + attributionPeriod

Detalles de los parámetros

ID de miembro (opcional)

El identificador del miembro que se va a añadir al grupo.

Tipo: identificador

Sistema: sistema de identificación de pacientes

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

El identificador nacional de proveedores (NPI) del proveedor atribuido.

Tipo: identificador

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

{ "name": "providerNpi", "valueIdentifier": { "system": "http://terminology.hl7.org/CodeSystem/NPI", "value": "1234567890" } }
Referencia del paciente (opcional)

Referencia directa al recurso para pacientes que se va a añadir.

Tipo: Referencia

{ "name": "patientReference", "valueReference": { "reference": "Patient/patient-123" } }
ProviderReference (opcional)

Referencia directa al recurso del proveedor.

Tipo: Referencia

{ "name": "providerReference", "valueReference": { "reference": "Practitioner/provider-456" } }
Período de atribución (opcional)

El período de tiempo durante el cual se atribuye el paciente al proveedor.

Tipo: Periodo

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

Ejemplos de solicitudes

Uso de la identificación de miembro y el NPI del proveedor

{ "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" } } ] }

Uso de referencias de pacientes y proveedores

{ "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 respuesta

Respuesta de adición exitosa

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." } } ] }

Respuestas de error

Sintaxis de solicitud no válida

Estado HTTP: 400 solicitud incorrecta

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

Estado HTTP: 404 no encontrado

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "not-found", "details": { "text": "Resource not found." } } ] }
Conflicto de versiones

Estado HTTP: 409 Conflicto

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "conflict", "details": { "text": "Resource version conflict detected" } } ] }
Estado de atribución no válido

Estado HTTP: 422 Entidad inprocesable

{ "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'." } } ] }

Reglas de negocio

Validación del estado de la atribución

La operación solo se puede realizar cuando el estado de atribución del grupo es:

  • draft

  • open

No se permiten operaciones cuando el estado esfinal.

Prevención de miembros duplicados

El sistema evita la adición de miembros duplicados en función de la combinación única de:

  • Identificador de miembro

  • Identificador del pagador

  • Identificador de cobertura

Validación del período de cobertura

Cuando attributionPeriod se proporciona uno, debe estar dentro de los límites del período de cobertura del miembro. El sistema hará lo siguiente:

  • Busque el recurso de cobertura del miembro

  • Usa la cobertura más reciente (el VersionID más alto) si existen múltiples

  • Valide que el período de atribución no exceda el período de cobertura

Validación de referencia

Cuando se proporcionan tanto la identificación como la referencia para el mismo recurso (paciente o proveedor), el sistema valida que corresponden al mismo recurso.

Cuando se proporcionan los campos ID y reference.identifier para el mismo recurso (paciente o proveedor), se produce un error.

Autenticación y autorización

La operación requiere la autorización de SMART on FHIR para:

  • Permisos de lectura: para validar los recursos de pacientes, proveedores y grupos

  • Permisos de búsqueda: para buscar recursos por identificador

  • Permisos de actualización: para modificar el recurso del grupo

Comportamiento operativo

Actualizaciones de recursos
  • Actualiza el ID de versión del recurso del grupo

  • Crea una entrada en el historial con el estado original del recurso antes de la operación

  • Añade la información de los miembros a la matriz group.Member con:

    • Referencia del paciente en entity.reference

    • Período de atribución en período

    • Información sobre la cobertura y el proveedor en los campos de extensión

Pasos de validación
  • Validación de parámetros: garantiza la validez de las combinaciones de parámetros

  • Existencia de recursos: valida la existencia de recursos para pacientes, proveedores y grupos

  • Estado de atribución: confirma que el estado del grupo permite modificaciones

  • Verificación duplicada: impide añadir miembros existentes

  • Validación de la cobertura: garantiza que el período de atribución esté dentro de los límites de cobertura

Limitaciones

  • Todos los recursos a los que se hace referencia deben estar en el mismo almacén de datos

  • La operación solo funciona con los recursos del grupo de listas de atribución de miembros

  • Los períodos de atribución deben estar dentro de los límites de cobertura

  • No se pueden modificar los grupos con el estado «final»