Skip to content

Consolidar constantes y helpers duplicados en módulo FHIR mapping #34

@AIOjPINEDA

Description

@AIOjPINEDA

Objetivo

Reducir duplicación en el módulo FHIR del backend consolidando constantes y patrones repetidos.

Contexto

Hallazgos F2.1 y F2.2 de spec 003. Hay duplicación en dos áreas:

Constantes *_SOURCE_IDENTIFIER_SYSTEM

Las constantes ENCOUNTER_SOURCE_IDENTIFIER_SYSTEM, CONDITION_SOURCE_IDENTIFIER_SYSTEM, MEDICATION_REQUEST_SOURCE_IDENTIFIER_SYSTEM y ALLERGY_INTOLERANCE_SOURCE_IDENTIFIER_SYSTEM viven solo en clinical_mapping.py pero deberían centralizarse en base_mapping.py junto con las de Patient y Practitioner.

Patrón _build_coding_concept

El patrón {"text": ..., "coding": [...]} se construye de forma idéntica en condition_to_fhir_resource, medication_request_to_fhir_resource y allergy_intolerance_to_fhir_resource.

Cambios requeridos

  1. Mover las 4 constantes clínicas a base_mapping.py
  2. En clinical_mapping.py, importar desde base_mapping
  3. Extraer helper _build_coding_concept() y reemplazar los 3 bloques inline

Criterios de aceptación

  • Todas las constantes *_SOURCE_IDENTIFIER_SYSTEM viven en base_mapping.py
  • clinical_mapping.py importa en lugar de redefinir
  • _build_coding_concept elimina la triplicación
  • Tests existentes pasan sin cambios

Verificación

cd backend && source .venv/bin/activate && pytest tests/unit/test_fhir_base_mapping.py tests/unit/test_hapi_clinical_etl.py -v --tb=short

Referencia

  • docs/specs/003-refactor-plan/spec.md — F2.1, F2.2

Metadata

Metadata

Assignees

Labels

priority:lowDeseable, sin deadlinetype:architectureDeuda técnica, patrones, estructura

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions