Summary
EDLES — the Electronic Data Link to the Examination System — is how a college exchanges examination data with the Department of Higher Education and Training. It is a fixed-width text format, unchanged since specification 02.04 in 2004, and the department’s validator rejects a file that deviates from it in any particular.
skillSYMS builds those files from your own learner records, checks them against the same rules the department applies, and keeps the record of what you sent. It does not transmit anything — the department’s link is e-mail, modem or physical media, so a person still sends the file. That is a deliberate boundary, not a gap.
Find it under Compliance → EDLES.
The four exchanges
The specification defines four exchanges in a cycle, and the module follows them in order:
| What moves | Direction | |
|---|---|---|
| 1 | Programme and offering information — the “timetable” | DHET → you |
| 2 | Candidate entries | you → DHET |
| 3 | Year, practical and internal marks | you → DHET |
| 4 | Results | DHET → you |
Between two and three, the department returns a marks control list naming anything it could not accept. Import that the same way you import a timetable.
Before you can submit anything
Three things must be in place. The EDLES landing page shows which are outstanding.
Your examination centre
DHET identifies your college by a ten-digit centre number, split as province (2), area (2), circuit (2) and centre (4). It goes into the header of every file you send, and its last four characters become the filename.
Go to EDLES → Setup and add it. Two rules are enforced here rather than at the point a submission fails:
- The first two digits of the centre number must equal the province number. A file where these disagree is rejected outright.
- The study group letter decides the filename:
Tfor Engineering Studies (trimester),SorHfor Business Studies (semester),QorYfor NC(V),Gfor GCC.
A multi-campus college adds one centre per campus, each with its own number.
Programme mapping
Say which of your programmes is which NATED instructional programme number — the ten digits DHET publishes, for example 0501118801.
This is never inferred for you. Two qualifications with the same name are routinely different NATED numbers, and a wrong guess here enters real candidates for the wrong programme.
Subject mapping
Say which of your modules is which instructional offering. The NATED offering number is eight digits.
Watch the two ten-digit forms. In the department’s timetable, offering
0008090261is NATED number08090261— two leading digits then the number. On an entry, the same offering is written1080902611— a language digit, the eight NATED digits, then an attendance digit. They look interchangeable and are not. Enter the eight digits and skillSYMS builds each ten-digit form where it belongs.
1. Import the department’s timetable
EDLES → Import from DHET. Drop the file in; you do not have to say what it is. The layout is worked out from the file’s own records, so a file that has been renamed in transit still imports correctly — and if the name and the content disagree, you are told.
A programme and offering file becomes the catalogue for its cycle. That catalogue is the authority for everything after it: which offerings run, whether entries are permitted, how many subjects a programme requires, which subjects may not be taken together, and when each paper is written.
Browse it under EDLES → DHET Catalogue. Each offering lists its papers with the date, time, duration, who assesses it, and the weight it carries towards the subject mark — a written paper at 50% alongside a year mark at 50% is the ordinary ICASS arrangement.
Importing is a read. Nothing is sent, and importing the same file twice is recognised by its content rather than creating a second catalogue.
2. Submit candidate entries
EDLES → Build a Submission, with Candidate entries selected. Choose the cycle (CCYYMM, for example 202611) and the term, then Preview.
A preview builds and checks the file without storing anything, and shows you two lists.
Validation. Every problem the department’s own validator would raise: an identity number whose check digit is wrong, a date of birth that contradicts the identity number, a candidate entered twice, a subject that does not run this cycle, two subjects that may not be taken together, a programme’s minimum not met.
Who could not be included. Every learner left out, by name, grouped by reason — no number to send, no programme mapping, no mapped subjects.
A learner without an SA identity number is entered under the number the department already uses for them. If they have none on record yet, they are entered under their passport, folded into digits the way the department writes it. The preview names each case instead of reporting an invalid identity number. Only a learner with no SA identity number, no DHET candidate number and no passport is left out. This list is the point of the preview. A submission that quietly contains 340 of your 400 candidates is worse than one that refuses to build, because you find the missing sixty in January.
When both lists look right, Generate and keep the file. It is stored, checked and downloadable — and it is not sent.
3. Submit year marks
Same screen, with Year marks selected. Marks come from recorded module achievements.
Choose the type of mark and the paper number. EA — a general year mark, internally assessed — is the ICASS case and the default. The paper number is the paper the mark belongs to as the timetable numbers it.
A learner recorded as absent is written as the marker
999, not as a mark of nought. The two are different facts: a zero counts towards an average and absence does not.
4. Send it, and record that you did
Open the file under EDLES → Files and Download it. Send it to the department the way you normally do, then Mark as sent and record how and when.
That step is a human assertion, and the module treats it as one. It also refuses to record a submission for a file that still has validation errors, because a file the department will reject is not a file that has been submitted. If you genuinely sent one anyway, there is an explicit override, and the record says it was forced.
When the department acknowledges receipt, record that too. A file that has been marked as sent can no longer be deleted — it is the record of what you sent.
Checking a file from another system before you send it
If your entries or marks file comes from somewhere else — most often an old SIMS that is still producing your submissions — open EDLES → Check a File Before Sending and drop it on the page. It is checked against the specification and against the department’s timetable for the file’s own cycle and study group (a Business Studies file ending S26E is checked against H2611, never against the engineering timetable for the same month). Nothing in the file is imported: a file that is still wrong does not become your record of who was entered.
What you get back:
- Errors — what the department’s validator rejects. Each kind is listed once with how many records it affects and what to do about it, then line by line with the candidate’s name and identity number. Fix them in the system that produced the file and export again, or correct them here (below). Never edit an EDLES file in a text editor: every field sits at a fixed position, and one extra character moves everything after it.
- Warnings — the department loads the file, but each is something a registrar should look at, such as an apprentice code of 4 on a business programme (the specification reserves 1–4 for six engineering programmes).
- Notes — observations that never block.
Download report (PDF) gives you the whole thing to hand to whoever corrects the source records, and Findings (CSV) gives every finding as a spreadsheet.
Correcting the file here
If the old system cannot produce a better file in time, press Correct and amend. The page sorts what it found into three groups:
- Automatic corrections — what the specification itself dictates: the province number written as the first two digits of the centre number, the apprentice indicator 5 on programmes that are not among the six engineering ones, subjects packed from the first slot, an exact duplicate record removed. These are ticked; untick any you do not want.
- Suggested corrections — inferred from other data, and shown with the evidence. A birth date that contradicts a valid identity number is suggested from the number, and is ticked only when the learner’s own record in skillSYMS gives the same date. Where the learner record disagrees — as it can when the identity number itself is wrong — the suggestion is left unticked and says so.
- Needs your decision — what only a person can know. A missing population group is chosen from the enrolment form; it is never inferred. A candidate entered for nothing gets subjects ticked from their programme’s list in the timetable, or is withdrawn. A programme the department no longer examines is moved to another — the timetable names the replacement where there is one — with its new subjects, or withdrawn. An invalid identity number is re-typed from the ID document, with the check digit tested as you type.
Amend any record changes any field of any entry, or withdraws it. Each amendment is written at the field’s exact position and width; a value that would not fit — an identity number with a letter in it, a date that does not exist — is refused, and then nothing is built until it is fixed.
Build corrected file and check it makes a new file, never altering the original, and checks it from scratch. The result opens as its own check, marked corrected, linked to the original, with every amendment listed: line, candidate, field, the old value, the new value, whether it was automatic, an accepted suggestion or typed by hand, and the reason. If errors remain, correct again from there. When none remain, certify it; the certificate says the file is a corrected version and lists the amendments.
Correcting the file does not correct your old system. Download the Amendment log (CSV) and make the same changes there, or its next export will repeat every error.
A file with no errors can be certified. If there are warnings you are asked to confirm you have reviewed them; you can add a note. The certificate carries a number (EVC-<centre>-<cycle>-<nnn>), who certified it and when, what it was checked against, and the file’s SHA-256 fingerprint. The fingerprint is the point: change a single character and it no longer matches. Check any copy of the file on the same page and it tells you whether that exact file was certified — or use Download the certified file and send that.
A certificate is skillSYMS’s check, not the department’s acceptance. Only the department’s acknowledgement confirms that the file was received and loaded.
A file cannot be certified if the cycle’s timetable is not loaded. A file can be perfectly formed and still be rejected in full because it enters candidates for programmes the department is not examining, and that can only be seen against the timetable. Import it first under Import from DHET.
5. Read the results, and print the statements
Open EDLES → Examination Results and drop the results file straight onto that screen — you do not have to go through the import page. What comes back tells you three things at once: how many candidates the file holds, how many of them matched a learner record here, and anything the department sent that the specification does not describe.
Each candidate shows their overall outcome and a line per subject, with the subject’s name taken from the departmental timetable for that cycle. Import the timetable first and the statements read as subject names; import it afterwards and they read as eight-digit numbers.
Matching candidates to learner records
Every departmental record carries one thirteen-digit number for the candidate. For a South African that is the identity number. For a candidate without one, the department writes one of two things:
- Their passport, folded into digits. Every letter becomes
0and the number is filled with zeros on the right to thirteen digits. PassportA10794907arrives as0107949070000. - A DHET candidate number of its own, such as
2408010105683. The candidate keeps it from one sitting to the next, and it appears on none of their documents.
Results are attached to a learner automatically when the number matches exactly: the SA identity number, a DHET candidate number already recorded for the learner, or a number typed on their record. A folded passport is also attached automatically, but only when exactly one learner’s passport folds to that number and the surname agrees. Nothing is ever attached on a name alone, because a name match puts somebody’s examination result on a different person’s record.
Once a result is attached, the department’s number is recorded against the learner as their DHET candidate number. Every later results file then links on it by itself, even if their passport is corrected or renewed.
What is still unmatched is usually someone you know under a number the department never told you. There are three ways to deal with it:
- Match to learners re-runs the automatic lookup over everything unmatched, and records the department’s number for results that are already linked. It only fills in blanks, so it is safe to press twice.
- Review unlinked lists every unmatched candidate once, however many programmes they sat, with the learner they most probably are and the reasons: same surname, initials, enrolled here in the programme they sat, no SA identity number on the record. It also shows the reasons against, such as a different SA identity number, results already recorded for that programme and cycle, or a different DHET number already on file. Nothing is ticked to start with. Tick the strong ones selects the clear cases, you check them, and Link ticked attaches them.
- On an unmatched candidate, Choose a learner does the same for one candidate. Linking attaches every result under that number, not only the row you clicked.
The same question is asked from the learner’s side. If unmatched results look like a learner’s, their record says so under Needs attention, and the Statement of Results page shows the results with the same reasons and a button to link them. You can also type a DHET candidate number there, from a printout or from the learner, to record it and link everything under it. Not theirs reverses a link: every result under the number is detached and the number is retired, not deleted.
A cycle where none of the candidates matched is called out on the screen. That is almost never a coincidence — it usually means the identity numbers on your register are not the ones the department holds.
Statements of results
Print statements produces one A4 page per candidate for whatever the screen is currently filtered to — a whole cycle, one programme, or just the candidates you have not matched yet. There is a single-candidate download on every row and on the detail panel. Export CSV gives the same selection as a spreadsheet, one row per subject.
Four rules the statement follows:
- Where an irregularity is active against a subject, no result is listed for it. That is the specification’s rule, not a display choice, and the mark, symbol and outcome are withheld rather than shown with a caveat beside them.
- 999 is not a mark. It means the candidate did not sit the assessment, and it prints as “Absent” — never as a percentage and never as nought.
- A code the department sent that the specification does not define is printed as that code and named as undefined. It is not given a plausible label, because an invented label on an examination result is a false statement about a person.
- Every page says, in the footer, that it is not a certificate. National certificates for these programmes are issued by the Department of Higher Education and Training. The page also carries the departmental filename, the record number within it, and when it was imported, so any statement can be traced back to the bytes that produced it.
What gets kept
Every file, in both directions, is stored byte for byte before anything is read out of it, and every action against it — imported, checked, generated, downloaded, sent, acknowledged — is recorded against the person who did it.
That matters because §4.1 of the specification makes the college liable for the cost of reprocessing caused by its own errors. The stored file is what you answer with, so a download always returns the bytes that were sent, never a regenerated substitute.
Common rejections, and where they surface
| What DHET rejects | Where skillSYMS catches it |
|---|---|
| Identity number fails its check digit | Preview, per candidate |
| Date of birth contradicts the identity number | Preview, per candidate |
| Trailer record count does not match the file | On import and on every check |
| Centre number and province number disagree | When you save the centre |
Province written as letters (GP) instead of its number | On every check |
| No population group code | Preview, per candidate |
| Filename does not match the centre number or the cycle | On every check |
| Candidate entered for no subjects at all | Preview, per candidate |
| Candidate entered for a programme not examined this cycle | Preview, against the catalogue |
| Candidate entered for an offering that does not run | Preview, against the catalogue |
| Two offerings that may not be combined | Preview, against the catalogue |
| A mark for a candidate who was never entered | When checking marks against entries |
The programme record in the timetable carries a “minimum / maximum instructional offerings” pair. It is reported as a note and never treated as an error: minimum equals maximum on every programme the department publishes, and the department’s own reference entries files enter candidates for more subjects than it, so it is not a per-candidate subject limit.