API: `POST /course-registrations` with `dryRun=true`, then without dryRun in a controlled dev DB · DB: `MKQDK`: `NgayThem`, `MaUser`, `NgayDoiNhom`, `UserDoiNhom`, `SessionDK`, `HocPhiTamTinh`; `KToHoc`: `IDToHoc`, `NHHK`, `NhomTo`, `IDMH`, `IDToHocP`, `SiSoTKB`,
S3 · Result snapshot
Result snapshot
API: `GET /students/{studentId}/course-registrations` should include result/status fields if implemented · DB: `DDTBHP`: `IDCongDiem`, `IDSourceDiem`, `IDMH`, `IDSV`, `NHHK`, `KyThi`, `SoTinChi`, `DiemKT`, `DiemThi`, `DiemHP`, `DiemChuHP`, `DiemHPCalc`, `DatHP`, `KhgCong
S4 · True gaps
True gaps
Mã
Họ tên
Lớp/Ngành
Trạng thái
Ghi chú
SV22010001
Nguyễn Văn An
CNTT-K18-01
Đang học
QĐ/2025/810
SV22010015
Trần Thị Bình
CNTT-K18-02
Tạm dừng
QĐ/2025/811
SV22010028
Lê Minh Châu
KT-K18-01
Đang học
QĐ/2025/812
SV22010042
Phạm Quốc Dũng
QTKD-K18-01
Nghỉ luôn
QĐ/2025/813
SV22010057
Hoàng Thu Hà
NN-K18-03
Đang học
QĐ/2025/814
SV22010063
Vũ Đức Khoa
CNTT-K18-01
Tốt nghiệp
QĐ/2025/815
API: OpenAPI only has generic request/response schema; final payload keys for add/drop/change group still need implementation detail · DB: `CommonSrm.GetSVCoDKMH` / `GetMHSVDangKy` behavior is cited but method-level filtering rules are not available