import { GroupingError } from "./grp-errors.types";
/**
 * Grouping result structure containing CMD and GHM information
 */
export interface GrpResultat2024 {
    /** CMD (Catégorie Majeure de Diagnostic) */
    cmd: string;
    /** GHM (Groupe Homogène de Malades) */
    ghm: string;
    /** Version of the grouping algorithm */
    version: string;
    /** Error/return code */
    cret: string;
}
/**
 * GHS valorisation structure containing all supplement and billing information
 */
export interface GhsValorisation2024 {
    /** GHS code */
    ghs: string;
    /** Number of sessions */
    nbseance: number;
    /** Number of days with supplements */
    nbjxsup: number;
    /** Stay duration below threshold */
    sejxinf: number;
    /** Number of days below threshold */
    nbjxinf: number;
    /** Bed/board/food supplement */
    buhcd: number;
    /** Number of ICU days */
    nbjrea: number;
    /** Number of emergency days */
    nbrep: number;
    /** Number of continuous monitoring days */
    nbjsrc: number;
    /** Number of short stay days from ICU */
    nbjstf_issuderea: number;
    /** Total number of short stay days */
    nbjstf_tot: number;
    /** AC687 supplement count */
    nbac687: number;
    /** AC688 supplement count */
    nbac688: number;
    /** AC689 supplement count */
    nbac689: number;
    /** Number of protontherapy sessions */
    nbprot: number;
    /** Number of innovative therapy sessions */
    nbict: number;
    /** RX1 supplement count */
    nbacRX1: number;
    /** RX2 supplement count */
    nbacRX2: number;
    /** RX3 supplement count */
    nbacRX3: number;
    /** RCMI supplement count */
    nbRCMI: number;
    /** Supplement 9623 count */
    nbactsupp9623: number;
    /** Supplement 9625 count */
    nbactsupp9625: number;
    /** Supplement 9631 count */
    nbactsupp9631: number;
    /** Supplement 9632 count */
    nbactsupp9632: number;
    /** Supplement 9633 count */
    nbactsupp9633: number;
    /** Organ procurement indicator */
    acprlvtorg: number;
    /** Neonatal level A days */
    nbjnna: number;
    /** Neonatal level B days */
    nbjnnb: number;
    /** Neonatal level C days */
    nbjnnc: number;
    /** GHS before innovation */
    ghsavantInnov: string;
    /** Number of hemodialysis sessions */
    nbhd: number;
    /** Number of enteral nutrition type 1 */
    nbent1: number;
    /** Number of enteral nutrition type 2 */
    nbent2: number;
    /** Number of enteral nutrition type 3 */
    nbent3: number;
    /** Number of hyperbaric chamber sessions */
    nbchypb: number;
    /** Number of antepartum days */
    nbantepartum: number;
    /** Number of pediatric radiotherapy sessions */
    nbradiopedia: number;
    /** GHS minor indicator */
    ghsminor: number;
    /** SDC supplement */
    supplSDC: number;
    /** CAR-T Cell supplement */
    supplCarTCell: number;
    /** Avastin flag */
    flagAvastin: number;
    /** Number of pediatric protontherapy sessions */
    nbprotped: number;
}
/**
 * Diagnosis list information
 */
export interface DiagList2024 {
    /** Number of diagnoses */
    nbdiag: number;
    /** List of diagnoses (optional) */
    listdiag?: string;
}
/**
 * Act list information
 */
export interface ActList2024 {
    /** Number of acts */
    nbac: number;
    /** List of acts (optional) */
    listzac?: string;
}
/**
 * RUM-specific information
 */
export interface InfoRum2024 {
    /** ICU marker acts indicator */
    brea: number;
    /** Continuous monitoring indicator */
    bsc: number;
    /** Medical unit authorization type */
    typum: string;
    /** Partial stay duration */
    dsp: number;
}
/**
 * RSS information structure
 */
export interface RssInfo2024 {
    /** Age in years */
    agea: number;
    /** Age in days */
    agej: number;
    /** Total stay duration */
    dstot: number;
    /** Diagnosis list */
    diaglist: DiagList2024;
    /** Act list */
    actlist: ActList2024;
    /** RUM-specific information for each RUM */
    tabval: InfoRum2024[];
    /** Function group signature */
    sigfg: string;
    /** RSS signature */
    sigrss: string;
    /** RSS-GHS-FG signature */
    sigrssghsfg: string;
}
/**
 * Complete result structure for grp_2024_wrapper function
 */
export interface Grp2024Result {
    /** Return code from the grouping operation */
    returnCode: number;
    /** Return code mapped to a GroupingError */
    returnError: GroupingError | null;
    /** Grouping results (CMD, GHM, version, error code) */
    grp_res: GrpResultat2024;
    /** GHS valorisation information */
    ghs_val: GhsValorisation2024;
    /** RSS information */
    rss_inf: RssInfo2024;
}
