Skip to content

fix(PACS): modifica Dicom Accession Number#2227

Merged
silviroa merged 1 commit intomasterfrom
fix/alternative-id-pacs
May 5, 2026
Merged

fix(PACS): modifica Dicom Accession Number#2227
silviroa merged 1 commit intomasterfrom
fix/alternative-id-pacs

Conversation

@Pela2silveira
Copy link
Copy Markdown
Contributor

@Pela2silveira Pela2silveira commented Apr 27, 2026

Requerimiento

Corrección de inconsistencias en la generación de datos DICOM para integración PACS, y unificación del criterio de identificación de pacientes entre PACS y HL7v2.

Funcionalidad desarrollada

  1. Accession Number determinista: reemplaza Date.now() por base64url(ObjectId de la prestación) — mismo accession para la misma prestación, cabe exactamente en VR SH (16 chars), reversible.

  2. Other Patient ID (00101002) corregido: cuando el paciente tiene documento, el ID alternativo es siempre el "otro" identificador — DNI si usoIdDNI=false, sufijo del ObjectId si usoIdDNI=true. Antes siempre se enviaba el sufijo del ObjectId independientemente del flag.

  3. ID sintético para pacientes sin DNI: cuando usoIdDNI=true y el paciente no tiene documento, se genera un ID con el mismo patrón que HL7v2: E{numeroIdentificacion} o sufijo del ObjectId, más sexo y primeras 5 letras del apellido. Cabe en hl7v2(15 chars). El sufijo completo del ObjectId queda en otherPatientId (00101002) para reconciliación.

  4. Guardado del identificador PACS en el paciente: al sincronizar el worklist, se persiste el ID PACS generado en paciente.identificadores con entidad ANDESPACS, siguiendo el mismo patrón que HL7v2. Permite lookup cruzado y auditoría del ID asignado.

  5. Informe PDF linkea por Accession Number con el worklist: 00080050 en el informe ahora usa el valor guardado en metadata (pacs-accessionNumber) en lugar del conceptId del tipo de prestación, permitiendo correlación correcta entre worklist y estudio.

  6. Nombre del profesional en informe en formato DICOM estándar: DICOMInforme usa buildDicomName (APELLIDO^NOMBRE) consistente con el worklist. Antes usaba apellido, nombre con coma.

  7. fix(HL7v2): normalización de entidad en comparación de identificadores: se agrega normalizeIdentifierEntity para ignorar espacios en blanco al buscar identificadores existentes en paciente.identificadores, evitando duplicados por diferencias de formato (absorbe el PR fix(hl7v2): remove empty char in hl7v2 id #2229).

UserStories llegó a completarse

  • Si
  • No

Requiere actualizaciones en la base de datos

  • Si
  • No

@silviroa silviroa force-pushed the fix/alternative-id-pacs branch from 97a2ef0 to 748cb0a Compare May 5, 2026 11:18
@silviroa silviroa merged commit 22acddc into master May 5, 2026
2 checks passed
@silviroa silviroa deleted the fix/alternative-id-pacs branch May 5, 2026 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants