frontend
    Preparing search index...

    Type Alias ExamResult

    type ExamResult = {
        _links: Record<string, ApiLink>;
        candidate: {
            first_name: string;
            id: number;
            ihk_exam_number: string;
            last_name: string;
            specialization: string;
        };
        committee_assessments: {
            component_key: string;
            determined_at: string;
            dissent: { member_id: number; statement: string }[];
            id: number;
            participant_member_ids: number[];
            points: string;
            rationale: string | null;
            revision: number;
            status: "current" | "superseded";
            vote: { abstain: number[]; no: number[]; yes: number[] };
        }[];
        communications: {
            communicated_at: string;
            external_document_reference: string
            | null;
            external_document_status: string | null;
            id: number;
            method: string;
            status: "current" | "obsolete";
        }[];
        correction_open: boolean;
        corrections: {
            id: number;
            reason: string;
            reopening_reference: string
            | null;
            status: "open" | "completed";
        }[];
        current_calculation: | null
        | {
            grade: string;
            id: number;
            passed: boolean;
            path: {
                inputs: { key: string; kind: string; points: string; weight: string }[];
                rounded_total: string;
                threshold_basis: string;
                unrounded_total: string;
            };
            total_points: string;
            version: number;
        };
        current_determination: ExamResult["determinations"][number]
        | null;
        day_revisions?: Record<string, number>;
        determinations: {
            confirmation_member_ids: number[];
            determined_at: string;
            dissent: { member_id: number; statement: string }[];
            id: number;
            participant_member_ids: number[];
            revision: number;
            status: "current" | "superseded";
            vote: { abstain: number[]; no: number[]; yes: number[] };
        }[];
        disclosures: {
            component_key: string;
            disclosed_at: string;
            disclosed_by_member_id: number;
        }[];
        exports: {
            export_kind: "machine"
            | "human";
            generated_at: string;
            id: number;
            result_determination_id: number | null;
            status: "draft" | "determined" | "superseded";
        }[];
        external_results: {
            area_key: string;
            confirmed_by_member_id: number
            | null;
            correction_reason: string | null;
            determining_authority: string;
            grade: string | null;
            id: number;
            points: string;
            professional_status: string;
            recorded_by_member_id: number;
            revision: number;
            source_reference: string;
            status: "unconfirmed" | "confirmed" | "replaced";
        }[];
        id: number;
        individual_assessment_counts: {
            component_key: string;
            draft: number;
            submitted: number;
        }[];
        individual_assessments: {
            assessor_member_id: number;
            change_reason: string
            | null;
            component_key: string;
            criterion_key: string;
            id: number;
            normalized_points: string;
            rationale: string | null;
            raw_points: string;
            revision: number;
            status: "draft" | "submitted" | "withdrawn" | "superseded";
            submitted_at: string | null;
        }[];
        legacy_status: string
        | null;
        model_version: {
            id: number;
            ihk: string;
            model_key: string;
            occupation: string;
            retention_rule_reference: string;
            retention_years: number;
            rules: AssessmentModelRules;
            specialization: string | null;
            valid_from: string;
            valid_until: string | null;
            version: number;
        };
        participants: number[];
        permissions: {
            assess_own: boolean;
            communicate: boolean;
            confirm_record: boolean;
            coordinate_correction: boolean;
            determine_component: boolean;
            determine_result: boolean;
            disclose: boolean;
            manage_external: boolean;
            manage_retention: boolean;
        };
        retention: | null
        | {
            hold_reason: string
            | null;
            legal_hold: boolean;
            period_start: string | null;
            retain_until: string | null;
            rule_reference: string;
        };
        round_candidate_id: number;
        state: | "incomplete"
        | "calculation_ready"
        | "determined"
        | "communicated"
        | string;
        version: number;
    }
    Index
    _links: Record<string, ApiLink>
    candidate: {
        first_name: string;
        id: number;
        ihk_exam_number: string;
        last_name: string;
        specialization: string;
    }
    committee_assessments: {
        component_key: string;
        determined_at: string;
        dissent: { member_id: number; statement: string }[];
        id: number;
        participant_member_ids: number[];
        points: string;
        rationale: string | null;
        revision: number;
        status: "current" | "superseded";
        vote: { abstain: number[]; no: number[]; yes: number[] };
    }[]
    communications: {
        communicated_at: string;
        external_document_reference: string | null;
        external_document_status: string | null;
        id: number;
        method: string;
        status: "current" | "obsolete";
    }[]
    correction_open: boolean
    corrections: {
        id: number;
        reason: string;
        reopening_reference: string | null;
        status: "open" | "completed";
    }[]
    current_calculation:
        | null
        | {
            grade: string;
            id: number;
            passed: boolean;
            path: {
                inputs: { key: string; kind: string; points: string; weight: string }[];
                rounded_total: string;
                threshold_basis: string;
                unrounded_total: string;
            };
            total_points: string;
            version: number;
        }
    current_determination: ExamResult["determinations"][number] | null
    day_revisions?: Record<string, number>
    determinations: {
        confirmation_member_ids: number[];
        determined_at: string;
        dissent: { member_id: number; statement: string }[];
        id: number;
        participant_member_ids: number[];
        revision: number;
        status: "current" | "superseded";
        vote: { abstain: number[]; no: number[]; yes: number[] };
    }[]
    disclosures: {
        component_key: string;
        disclosed_at: string;
        disclosed_by_member_id: number;
    }[]
    exports: {
        export_kind: "machine" | "human";
        generated_at: string;
        id: number;
        result_determination_id: number | null;
        status: "draft" | "determined" | "superseded";
    }[]
    external_results: {
        area_key: string;
        confirmed_by_member_id: number | null;
        correction_reason: string | null;
        determining_authority: string;
        grade: string | null;
        id: number;
        points: string;
        professional_status: string;
        recorded_by_member_id: number;
        revision: number;
        source_reference: string;
        status: "unconfirmed" | "confirmed" | "replaced";
    }[]
    id: number
    individual_assessment_counts: {
        component_key: string;
        draft: number;
        submitted: number;
    }[]
    individual_assessments: {
        assessor_member_id: number;
        change_reason: string | null;
        component_key: string;
        criterion_key: string;
        id: number;
        normalized_points: string;
        rationale: string | null;
        raw_points: string;
        revision: number;
        status: "draft" | "submitted" | "withdrawn" | "superseded";
        submitted_at: string | null;
    }[]
    legacy_status: string | null
    model_version: {
        id: number;
        ihk: string;
        model_key: string;
        occupation: string;
        retention_rule_reference: string;
        retention_years: number;
        rules: AssessmentModelRules;
        specialization: string | null;
        valid_from: string;
        valid_until: string | null;
        version: number;
    }
    participants: number[]
    permissions: {
        assess_own: boolean;
        communicate: boolean;
        confirm_record: boolean;
        coordinate_correction: boolean;
        determine_component: boolean;
        determine_result: boolean;
        disclose: boolean;
        manage_external: boolean;
        manage_retention: boolean;
    }
    retention:
        | null
        | {
            hold_reason: string
            | null;
            legal_hold: boolean;
            period_start: string | null;
            retain_until: string | null;
            rule_reference: string;
        }
    round_candidate_id: number
    state:
        | "incomplete"
        | "calculation_ready"
        | "determined"
        | "communicated"
        | string
    version: number