candidate
candidate: {
first_name: string;
id: number;
ihk_exam_number: string;
last_name: string;
specialization: string;
}
committee_assessments
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
communications: {
communicated_at: string;
external_document_reference: string | null;
external_document_status: string | null;
id: number;
method: string;
status: "current" | "obsolete";
}[]
correction_open
correction_open: boolean
corrections
corrections: {
id: number;
reason: string;
reopening_reference: string | null;
status: "open" | "completed";
}[]
current_calculation
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;
}
Optionalday_revisions
day_revisions?: Record<string, number>
determinations
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
disclosures: {
component_key: string;
disclosed_at: string;
disclosed_by_member_id: number;
}[]
exports
exports: {
export_kind: "machine" | "human";
generated_at: string;
id: number;
result_determination_id: number | null;
status: "draft" | "determined" | "superseded";
}[]
external_results
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";
}[]
individual_assessment_counts
individual_assessment_counts: {
component_key: string;
draft: number;
submitted: number;
}[]
individual_assessments
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
legacy_status: string | null
model_version
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
participants: number[]
permissions
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
retention:
| null
| {
hold_reason: string
| null;
legal_hold: boolean;
period_start: string | null;
retain_until: string | null;
rule_reference: string;
}
round_candidate_id
round_candidate_id: number
state
state:
| "incomplete"
| "calculation_ready"
| "determined"
| "communicated"
| string