"""Public compatibility facade for epicrisis application utilities."""

from app.case_epicrisis.application.cost_ordering import (
    COST_ORDER_VERSION,
    apply_factura_cost_ordering,
    attach_and_sort_costs,
    extract_invoice_cost_lines,
    normalize_money,
    sort_publishable_procedures,
)
from app.case_epicrisis.application.curation import (
    apply_curation_pop_metadata,
    curation_context_payload,
    curation_from_context,
)
from app.case_epicrisis.application.medication_pertinence import (
    MedicationInvoiceState,
    apply_clinical_pertinence_reviews,
    build_medication_glosa_findings,
    evaluate_medication_pertinence,
)
from app.case_epicrisis.application.publication import (
    build_audit_diagnostic_aid_items,
    build_audit_review_items,
    build_publication_projections,
    project_publication_item,
    project_publication_items,
    publication_summary,
)
from app.case_epicrisis.domain.models import (
    AyudaDiagnostica,
    EstadoInterpretacionAyuda,
    EvidenciaDocumentalAyuda,
    IncapacidadClinica,
    PdfPreparationSoatGroup,
    PdfPreparationUserMetadata,
    ProcedimientoClinico,
    ProcedureClassification,
    RecomendacionMedica,
    RecomendacionMedicaCategoria,
    TipoAyudaDiagnostica,
)
from app.case_epicrisis.domain.publication import (
    AUDITOR_ACTIONS,
    EXCLUDED_STATUSES,
    PENDING_STATUSES,
    PUBLICABLE_STATUSES,
    RAG_MIN_MARGIN,
    RAG_MIN_SCORE,
    PublicationEligibility,
    PublicationPolicy,
    evaluate_publication_eligibility,
    is_publishable,
    resolve_rag_automatic,
)
from app.services.clinical_document_projection import (
    get_structured_document_model,
    render_document_analysis_html,
    serialize_analysis_document,
)
from app.services.clinical_processing import (
    extraer_antecedentes_historia,
    extraer_medicamentos_historia,
    extraer_procedimientos_historia,
    formatear_medicamento_canonico,
    normalizar_lista_medicamentos,
)
from app.services.diagnostic_aids_html_legacy import extract_first_html_paragraph_field
from app.services.factura_html_legacy import (
    extract_factura_procedimientos_from_html,
    is_valid_factura_procedimiento,
)
from app.services.historia_medicamentos import reconcile_case_medications

from .cie10 import (
    build_diagnosticos_consolidados,
    extraer_cie10_inline,
    normalize_cie10_entries,
    normalize_clinical_diagnosis_text,
)
from .common import serialize_doc, strip_html_tags
from .context import (
    is_compatible_cached_context,
    normalize_context_payload,
    refresh_diagnostico_context,
)
from .diagnostic_aids import (
    build_ayudas_diagnosticas,
    build_diagnostic_aid_quality_report,
    classify_diagnostic_aid_candidates,
    coerce_ayudas_diagnosticas,
    consolidar_ayudas_diagnosticas,
    evaluar_ayuda_diagnostica_exportable,
    format_ayuda_diagnostica_interpretacion_exportable,
    format_ayuda_diagnostica_nombre_exportable,
    format_ayuda_diagnostica_presentacion,
    merge_soat_results,
    project_ayuda_diagnostica,
    split_ayuda_diagnostica_codigo_nombre,
)
from .factura import (
    _build_factura_procedimiento,
    extraer_imagenes_diagnosticas,
    extraer_imagenes_radiologia,
    extraer_imagenologia_factura,
    extraer_procedimientos_factura,
    normalize_factura_medicamentos,
)
from .medications import (
    RECOMMENDATION_CATEGORY_LABELS,
    build_medication_display_list,
    extract_recomendaciones_medicas,
    group_recomendaciones_medicas_for_view,
)
from .pdf_draft import (
    coerce_pdf_draft,
    coerce_pdf_preparation_user_metadata,
    default_pdf_draft,
)
from .pdf_exports import (
    apply_pdf_preparation_overrides,
    build_clinical_chronology_snapshot,
    build_pdf_chronological_export_blocks,
    build_pdf_export_blocks,
    build_pdf_preparation_procedimientos,
    build_pdf_preparation_source_items,
    build_pdf_primary_ayudas_diagnosticas,
    build_pdf_primary_ayudas_diagnosticas_cronologicos,
    build_pdf_primary_diagnosticos,
    build_pdf_primary_medicamentos,
    build_pdf_primary_procedimientos,
    build_pdf_primary_procedimientos_cronologicos,
    build_pdf_selectable_procedimientos,
    build_pdf_selectable_procedimientos_cronologicos,
    build_procedimientos_clinicos,
    build_selected_pdf_procedimientos,
    build_selected_pdf_procedimientos_cronologicos,
    build_selection_base,
    build_summary_clinical_projection,
    extract_incapacidad_clinica,
    reconcile_pdf_draft,
)


__all__ = [
    "COST_ORDER_VERSION",
    "RECOMMENDATION_CATEGORY_LABELS",
    "AUDITOR_ACTIONS",
    "EXCLUDED_STATUSES",
    "PENDING_STATUSES",
    "PUBLICABLE_STATUSES",
    "RAG_MIN_MARGIN",
    "RAG_MIN_SCORE",
    "PublicationEligibility",
    "PublicationPolicy",
    "_build_factura_procedimiento",
    "AyudaDiagnostica",
    "EstadoInterpretacionAyuda",
    "EvidenciaDocumentalAyuda",
    "IncapacidadClinica",
    "MedicationInvoiceState",
    "PdfPreparationSoatGroup",
    "PdfPreparationUserMetadata",
    "ProcedimientoClinico",
    "ProcedureClassification",
    "RecomendacionMedica",
    "RecomendacionMedicaCategoria",
    "TipoAyudaDiagnostica",
    "apply_clinical_pertinence_reviews",
    "apply_curation_pop_metadata",
    "apply_factura_cost_ordering",
    "apply_pdf_preparation_overrides",
    "attach_and_sort_costs",
    "build_ayudas_diagnosticas",
    "build_diagnostic_aid_quality_report",
    "classify_diagnostic_aid_candidates",
    "consolidar_ayudas_diagnosticas",
    "build_audit_review_items",
    "build_audit_diagnostic_aid_items",
    "build_publication_projections",
    "build_diagnosticos_consolidados",
    "build_medication_display_list",
    "build_medication_glosa_findings",
    "build_pdf_export_blocks",
    "build_clinical_chronology_snapshot",
    "build_summary_clinical_projection",
    "build_pdf_chronological_export_blocks",
    "build_pdf_preparation_procedimientos",
    "build_pdf_preparation_source_items",
    "build_pdf_primary_ayudas_diagnosticas",
    "build_pdf_primary_ayudas_diagnosticas_cronologicos",
    "build_pdf_primary_diagnosticos",
    "build_pdf_primary_medicamentos",
    "build_pdf_primary_procedimientos",
    "build_pdf_primary_procedimientos_cronologicos",
    "build_pdf_selectable_procedimientos",
    "build_pdf_selectable_procedimientos_cronologicos",
    "build_procedimientos_clinicos",
    "build_selected_pdf_procedimientos",
    "build_selected_pdf_procedimientos_cronologicos",
    "build_selection_base",
    "coerce_ayudas_diagnosticas",
    "coerce_pdf_draft",
    "coerce_pdf_preparation_user_metadata",
    "curation_context_payload",
    "curation_from_context",
    "default_pdf_draft",
    "evaluar_ayuda_diagnostica_exportable",
    "evaluate_medication_pertinence",
    "extract_factura_procedimientos_from_html",
    "extract_first_html_paragraph_field",
    "extract_invoice_cost_lines",
    "extract_incapacidad_clinica",
    "extract_recomendaciones_medicas",
    "evaluate_publication_eligibility",
    "extraer_antecedentes_historia",
    "extraer_cie10_inline",
    "extraer_imagenes_diagnosticas",
    "extraer_imagenes_radiologia",
    "extraer_imagenologia_factura",
    "extraer_medicamentos_historia",
    "extraer_procedimientos_factura",
    "extraer_procedimientos_historia",
    "format_ayuda_diagnostica_interpretacion_exportable",
    "format_ayuda_diagnostica_nombre_exportable",
    "format_ayuda_diagnostica_presentacion",
    "split_ayuda_diagnostica_codigo_nombre",
    "formatear_medicamento_canonico",
    "get_structured_document_model",
    "group_recomendaciones_medicas_for_view",
    "is_valid_factura_procedimiento",
    "is_compatible_cached_context",
    "merge_soat_results",
    "normalize_clinical_diagnosis_text",
    "normalizar_lista_medicamentos",
    "normalize_cie10_entries",
    "normalize_context_payload",
    "is_publishable",
    "resolve_rag_automatic",
    "publication_summary",
    "project_publication_item",
    "project_publication_items",
    "project_ayuda_diagnostica",
    "normalize_factura_medicamentos",
    "normalize_money",
    "reconcile_case_medications",
    "reconcile_pdf_draft",
    "refresh_diagnostico_context",
    "render_document_analysis_html",
    "serialize_analysis_document",
    "serialize_doc",
    "sort_publishable_procedures",
    "strip_html_tags",
]
