Registry entry
Application for a National Identity Card (Form "B", DRP 1,7,8)
The Department for Registration of Persons' (DRP) combined "Form 'B'" (DRP 1,7,8) — "Application for an Identity Card under sections 9, 16 and 17 of the Registration of Persons Act, No 32 of 1968". A single, trilingual (Sinhala/Tamil/English) 8-page specimen, fetched directly and unauthenticated from the department's own domain, that covers first-time issuance as well as duplicate/replacement, information-change, and validity-renewal requests for an existing card in one form (Part One, Items 1-11 plus the Declaration). A genuine, fully extractable English text layer confirmed via pdfjs-dist (0 AcroForm Widget annotations — a flat, non-fillable print specimen, not an AcroForm), cross-checked against rendered page images (pdfjs-dist legacy build + node-canvas, with the bundled standard-fonts data supplied) to resolve every checkbox group's printed layout and to confirm the top-of-form District/D.S. Division/G.N. Number routing box is a genuine applicant-facing field, visually distinct from the shaded 'FOR OFFICE USE' panel (Identity Card No., Registration Officer's Code & Initials) directly beneath it. Item 10 (Purpose of Application) and everything gated on it are modelled optional per the form's own instruction that cage 10 is completed only when a duplicate/change/renewal/replacement is requested. Item 8.2's printed sub-heading reads 'Postal Address', but the form's own instructions manual (instruction vi) describes this same cage as a different *current residence* address rather than a mailing address — a genuine discrepancy between the printed field heading and the instructions manual's prose, disclosed here rather than silently resolved by inference; this schema follows the printed heading. Neither the conditional birth-abroad citizenship fields (Items 7.6-7.8) nor the citizenship/dual-citizenship certificate fields (Item 9) have an applicant-fillable gating checkbox anywhere on the form, so both are modelled optional with the conditional context recorded in each field's own `description`, consistent with this registry's `lk/imm` (Sri Lankan passport) precedent for the same pattern. Models the instructions manual's own printed Item 10 supporting-documents checklist (pages 6-8 of this same PDF) as `documents[]` — unlike `lk/imm`, whose separate instructions PDF was a zero-text scanned image, this form's instructions are part of the same extractable specimen. Part Two (Certifying Officer attestation), Part Three (Acknowledgment slip), the payment/fee-receipt page (page 5, a physical stamp/receipt-affixing panel with no printed fee amount), and the applicant's/officer's own signature or left-thumb-impression are all staff-only or physical artifacts, out of scope, consistent with this registry's general practice of not modelling fee amounts or signature/biometric capture. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Sri Lanka or the Department for Registration of Persons.
Registry entry
lk/drp/application-for-a-national-identity-card
Authoritative source Form "B" (DRP 1,7,8) — Application for an Identity Card under sections 9, 16 and 17 of the Registration of Persons Act, No 32 of 1968
Machine access
- Schema document
registry/lk/drp/application-for-a-national-identity-card/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/lk/drp/application-for-a-national-identity-card/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
45 fields, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Fields
-
districtstring requiredAdministrative district of the office handling this application, entered in the routing box printed above the shaded 'FOR OFFICE USE' panel (confirmed via rendered page 1: this box is a plain applicant-facing text field, visually distinct from the 'IDENTITY CARD NO.'/'REGISTRATION OFFICER'S CODE & INITIALS' office-only panel directly beneath it).
length: 0–50 -
dsDivisionstring requiredDivisional Secretariat (D.S.) Division of the office handling this application, part of the same top-of-form routing box as `district`.
length: 0–50 -
gnNumberAndDivisionstring requiredGrama Niladhari (G.N.) number and division of the office handling this application, part of the same top-of-form routing box as `district`.
length: 0–50 -
nameSinhalaTamilFamilyNamestring optionalItem 1. The instructions manual (page 6) states: 'If there is no family name or surname leave the cage blank' — modelled as optional accordingly.
length: 0–60classification: pii -
nameSinhalaTamilGivenNamestring requiredItem 1. The applicant's given name, written in Sinhala or Tamil characters per the form's own instruction ('Cage 1 should be filled in Sinhala or Tamil characters').
length: 0–60classification: pii -
nameSinhalaTamilSurnamestring optionalItem 1. Per the instructions manual, left blank if the applicant has no surname/father's name to record.
length: 0–60classification: pii -
nameEnglishFamilyNamestring optionalItem 2. The English-block-letter transliteration of `nameSinhalaTamilFamilyName`; left blank under the same no-family-name instruction.
length: 0–60classification: pii -
nameEnglishGivenNamestring requiredItem 2. The English-block-letter transliteration of `nameSinhalaTamilGivenName`, per instruction ii: 'The Name written in Sinhala or Tamil Characters in Cage 1 should be written in English block letters in cage 2.'
length: 0–60classification: pii -
nameEnglishSurnamestring optionalItem 2. The English-block-letter transliteration of `nameSinhalaTamilSurname`.
length: 0–60classification: pii -
identityCardFamilyNamestring optionalItem 3. Only completed if the name to appear on the Identity Card is different from the name given in Item 1, per instruction iii, which also requires supporting documents proving the different name if it differs from the Birth Certificate.
length: 0–60classification: pii -
identityCardGivenNamestring optionalItem 3. See `identityCardFamilyName`.
length: 0–60classification: pii -
identityCardSurnamestring optionalItem 3. See `identityCardFamilyName`.
length: 0–60classification: pii -
sexenum requiredItem 4. The applicant's sex as printed on the form (two checkboxes: Female, Male — visually confirmed via rendered page 2).
enum: female | maleclassification: pii -
civilStatusenum requiredItem 5. The applicant's civil status (four checkboxes: Married, Single, Widowed, Divorced — visually confirmed via rendered page 2).
enum: married | single | widowed | divorced -
professionstring optionalItem 6. No printed requiredness cue; left optional, consistent with this registry's `lk/imm` precedent for the same field on Sri Lanka's passport application.
length: 0–100 -
dateOfBirthdate requiredItem 7.1. Printed as separate comb boxes (Y Y Y Y M M D D); modelled here as a single canonical ISO date.
-
birthCertificateNumberstring optionalItem 7.2. No printed requiredness cue; an applicant relying instead on a Probable Age Certificate (see `documents[]`) may have none.
length: 0–20 -
placeOfBirthstring requiredItem 7.3. Completed in accordance with the Birth Certificate, per instruction v.
length: 0–100 -
birthDivisionstring optionalItem 7.4. The D.S. Division in which the applicant's birth was registered.
length: 0–60 -
birthDistrictstring optionalItem 7.5. The district in which the applicant's birth was registered.
length: 0–60 -
countryOfBirthstring optionalItem 7.6, printed under the heading 'If the applicant is born outside of Sri Lanka, details of Citizenship Certificate issued under Section 5(2) of the Citizenship Act, No.18 of 1948'. Applicable only to applicants born outside Sri Lanka; the form itself has no separate applicant-fillable gating checkbox for this, so it is modelled as optional rather than wired to a fabricated condition — a consuming agent can derive applicability from context.
length: 0–60 -
cityOfBirthAbroadstring optionalItem 7.7. See `countryOfBirth`.
length: 0–60 -
section52CitizenshipCertificateNumberstring optionalItem 7.8. The number of the Citizenship Certificate issued under Section 5(2) of the Citizenship Act, No.18 of 1948, for an applicant born outside Sri Lanka to at least one Sri Lankan parent. Distinct from `citizenshipCertificateNumber` (Item 9.1), which covers citizenship-by-registration/dual-citizenship generally.
length: 0–20 -
permanentAddressHouseNameOrNumberstring requiredItem 8.1. Per instruction vi: 'In cage 8.1 permanent address should be written.'
length: 0–100classification: pii -
permanentAddressBuildingNamestring optionalItem 8.1. Only applicable if the applicant's house is part of a named building/scheme/estate.
length: 0–100classification: pii -
permanentAddressRoadStreetLanestring requiredItem 8.1.
length: 0–100classification: pii -
permanentAddressVillageCitystring requiredItem 8.1.
length: 0–100classification: pii -
permanentAddressPostalCodestring requiredItem 8.1. Sri Lankan postal codes are 5 digits.
patternclassification: pii -
postalAddressHouseNameOrNumberstring optionalItem 8.2, printed under the heading 'Postal Address'. Judgment call disclosed in VERIFICATION.md: the form's own instructions manual (instruction vi) describes cage 8.2 as a *different current residence* ('Cage 8.2 should be filled only if the applicant is residing in a different address other than the address indicated in 8.1'), which does not exactly match the printed 'Postal Address' sub-heading directly above it — this schema follows the printed field heading rather than resolving the discrepancy by inference.
length: 0–100classification: pii -
postalAddressBuildingNamestring optionalItem 8.2. See `postalAddressHouseNameOrNumber` for the printed-heading-vs-instructions discrepancy disclosed in VERIFICATION.md.
length: 0–100classification: pii -
postalAddressRoadStreetLanestring optionalItem 8.2.
length: 0–100classification: pii -
postalAddressVillageCitystring optionalItem 8.2.
length: 0–100classification: pii -
postalAddressPostalCodestring optionalItem 8.2.
patternclassification: pii -
citizenshipCertificateNumberstring optionalItem 9.1, printed under 'Details of Citizenship Certificate/Dual Citizenship Certificate (strike off whichever is inapplicable)'. Per instruction vii (page 7), applicable only to applicants who hold dual citizenship or received Sri Lankan citizenship by registration; the form has no separate applicant-fillable gating checkbox for this, so it is modelled as optional rather than wired to a fabricated condition.
length: 0–20 -
citizenshipCertificateIssueDatedate optionalItem 9.2. See `citizenshipCertificateNumber`.
-
purposeOfApplicationenum optionalItem 10. Per the form's own instruction ('If the duplicate of the Identity Card is applied for, please complete cage No.10') this whole item, and everything gated on it below, applies only when the applicant is requesting a duplicate, change, renewal, or replacement of an existing card rather than a first-time issuance — left optional accordingly. Visually confirmed via rendered page 3: four independent tick-boxes, one per option.
enum: lost | changes | renewal-of-validity | damaged-defaced-illegible -
lastOrCurrentIdentityCardNumberstring optionalItem 10.5. Required whenever a duplicate/change/renewal/replacement is being requested (Item 10 completed). Also corresponds to the number the Declaration's item 4 asks the applicant to hand over to the certifying officer ('I hereby hand over the Identity Card bearing number.../Police report obtained in lieu of the lost Identity Card bearing number...') — modelled once here rather than as a duplicate field.
length: 0–20classification: sensitive-pii -
dateOfIssueOfLastIdentityCarddate optionalItem 10.6. See `lastOrCurrentIdentityCardNumber`.
-
policeStationNamestring optionalItem 10.7, printed under 'Details of the police report or other document pertaining to the lost Identity Card'. Applicable specifically when Item 10.1 (lost) is selected.
length: 0–100 -
policeReportIssueDatedate optionalItem 10.7. See `policeStationName`.
-
residenceTelephoneNumberstring optionalItem 11.1. No printed requiredness cue.
length: 0–15classification: pii -
mobileTelephoneNumberstring optionalItem 11.1. No printed requiredness cue.
length: 0–15classification: pii -
emailstring optionalItem 11.2.
patternlength: 0–100classification: pii -
previousApplicationMadeboolean requiredDeclaration item 5: 'I declare that I have/have not made any other application previous to this application (strike off whichever is inapplicable).'
-
declarationDatedate requiredThe date the applicant signs the Declaration, printed above the applicant's signature/left-thumb-impression block on page 4. Printed as separate comb boxes (Y Y Y Y M M D D).
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-13maturity.level:structural-reference
This is GovSchema Standard Research cycle GOV-2753. It closes Sri Lanka's National ID & Civic Documents vertical, bringing Sri Lanka to 2 of 6 verticals (Passport, authored GOV-2716 via lk/imm; National ID, this schema).
Source verification (independently re-derived)
- URL:
https://drp.gov.lk/en/assets/formats/application.pdf - Fetched independently via
curl:- HTTP 200,
Content-Type: application/pdf,Content-Length: 608,290bytes,Last-Modified: Sat, 16 Sep 2023 16:29:03 GMT. sha256:da659f8c67ddb335111e13e91fd493843ab44b5bed7b3d952fe52726b21b73f6(computed viasha256sumon the freshly-downloaded file).
- HTTP 200,
- The department's own homepage (
drp.gov.lk/en/) returned HTTP 403 to a directcurlfetch in this environment, with and without a browserUser-Agentheader — consistent with generic bot-mitigation on the marketing site, not a login/authentication gate on the form itself, which this same domain's/en/assets/formats/path serves with no such restriction (confirmed reachable both before this cycle and independently re-fetched during it). - Parsed with
pdfjs-dist@3.11.174(legacy build):getTextContent()across all 8 pages returns a full, clean, genuinely extractable trilingual (Sinhala/Tamil/English) text layer — not a scanned image.getFieldObjects()returnsnull— 0 AcroForm fields. This is a flat print-and-fill specimen, not a fillable PDF form, unlike this registry'slk/imm(Sri Lankan passport) schema, which is a genuine AcroForm.
Rendering (visual cross-check)
Pages 1-5 were rendered to PNG via pdfjs-dist@3 legacy build + canvas@3 (freshly installed for this cycle), with the bundled standard_fonts data directory supplied as standardFontDataUrl — without it this specimen's non-embedded base fonts render every glyph blank, a known gotcha for non-AcroForm specimens using standard (non-embedded) fonts. Visual confirmation resolved several ambiguities that the text layer alone could not:
- The top-of-page-1 District/D.S. Division/G.N. Number-and-Division box is a genuine applicant-facing text field, visually distinct from the shaded "FOR OFFICE USE" panel (Identity Card No., Registration Officer's Code & Initials) directly beneath it. Modelled as three required fields (
district,dsDivision,gnNumberAndDivision); the office-only panel is excluded fromfields[]. - Items 1-3 (Name in Full, Sinhala/Tamil; Name in Full, English Block Letters; Name to appear in Identity Card if different) are each a three-row Family Name/Name/Surname comb-box grid, confirmed via render.
- Item 4 (Sex) and Item 5 (Civil Status) are independent per-option tick-boxes (2 and 4 options respectively), each modelled as a single-choice
enum— a disclosed judgment call over the form's own one-checkbox-per-option layout, consistent with this registry's general practice of modelling clear single-choice printed intent asenumrather than one boolean per checkbox. - Item 8's two address blocks (8.1 "Permanent Address", 8.2 "Postal Address") each break into the same five sub-fields: house name/number, building/condominium/scheme name, road/street/lane/place/garden, village/city, and postal code.
- Item 10's four purpose-of-application tick-boxes (10.1 lost, 10.2 changes, 10.3 renew validity, 10.4 damaged/defaced/illegible) and the conditional 10.5-10.7 fields (last/lost card number, date of issue, police report details).
- Page 5 ("Details of the Payments made" plus a "FOR OFFICE USE ONLY / Notes" panel) is confirmed entirely office/payment-processing — a physical stamp/certificate/receipt-affixing panel with no printed fee amount anywhere on the form — and is out of scope, consistent with this registry's practice of not modelling fee amounts that aren't printed as a single authoritative figure.
- Page 4's Declaration and signature/left-thumb-impression block, and Part Two (Certifying Officer attestation) and Part Three (Acknowledgment slip, pages 4/8) are staff-only or physical artifacts, out of scope.
Document structure and scope
- Items 1-3's Family Name/Surname sub-fields are optional. The instructions manual states plainly: "If there is no family name or surname leave the cage blank" — only the "Name" sub-field of each item is modelled required.
- **Item 8.2's printed sub-heading reads "Postal Address," but the instructions manual (instruction vi) describes this same cage as a different current residence address** ("Cage 8.2 should be filled only if the applicant is residing in a different address other than the address indicated in 8.1"), not a mailing address — a genuine discrepancy between the printed field heading and the instructions manual's own prose, disclosed here rather than silently resolved by inference. This schema follows the form's own printed field heading ("Postal Address").
- Items 7.6-7.8 (Country of Birth / City / Section 5(2) Citizenship Certificate No., for applicants born outside Sri Lanka) and Item 9 (Citizenship/Dual Citizenship Certificate Number and Date of Issue) have no applicant-fillable gating checkbox anywhere on the form — no "born outside Sri Lanka" or "I hold dual citizenship" checkbox exists to condition on. Both blocks are modelled optional, with the conditional context recorded in each field's own
descriptionrather than a fabricatedrequiredWhenreferencing a non-existent field — consistent with this registry'slk/immprecedent for the same pattern (that schema's Items 19 father/mother NIC fields). - Item 10 (Purpose of Application) and everything gated on it (10.5-10.7) are modelled optional, per the form's own instruction: "If the duplicate of the Identity Card is applied for, please complete cage No.10."
lastOrCurrentIdentityCardNumberanddateOfIssueOfLastIdentityCardarerequiredWhenpurposeOfApplicationis any of the four printed options;policeStationNameandpoliceReportIssueDatearerequiredWhenpurposeOfApplicationequals"lost"specifically, since the police-report block is only relevant to a lost card. - The Declaration's item 4 blank identity-card-number line ("I hereby hand over the Identity Card bearing number.../Police report obtained in lieu of the lost Identity Card bearing number...") was cross-checked against Item 10.5 ("Lost or last obtained Identity Card Number") and found to reference the same underlying value — modelled once as
lastOrCurrentIdentityCardNumberrather than as two duplicate fields, a disclosed judgment call. - Comb-style character-box grids on this flat (non-AcroForm) specimen are a handwriting aid, not an enforced technical constraint (unlike an AcroForm's own
combflag with a printedcharLimit, as seen inlk/imm).maxLengthvalues on this schema are therefore reasonable editorial estimates, not extracted metadata — disclosed as a judgment call rather than presented as a form-derived constraint. - This form has no printed required-field asterisk markup anywhere. Requiredness was assigned per this registry's established practice: core/unconditional identity, birth, and permanent-address fields are marked
required; fields with an explicit "if any"/no-cue/conditional character are left optional — consistent withlk/imm's own precedent for the same no-asterisk pattern (e.g.professionleft optional there and here, for the same reason). documents[]is modelled from this same PDF's own printed instructions manual (pages 6-8, Item 10, sub-items i-viii) — unlikelk/imm, whose separate "Instructions to Passport Applicants" PDF was a zero-text scanned image and could not be used as adocuments[]source, this form's instructions are pages of the same extractable specimen. 10documents[]entries are modelled: photographs (identity-document, required); birth certificate/probable age certificate copy (supporting-evidence, required as the baseline case); a birth-registration search affidavit (alternative to the birth certificate); a marriage certificate copy (only if a married woman wants her husband's name shown); a citizenship/dual-citizenship certificate copy; a priesthood ordination certificate copy; a disrobe certificate copy; a religious-authority confirmation certificate copy; a Divisional Secretary's late-application report; and a police report for a lost card (requiredWhenpurposeOfApplicationequals"lost", the one document entry with a genuine gating field to condition on).- Part Two (Certifying Officer attestation), Part Three (Acknowledgment slip), the payment/fee-receipt page, and the applicant's/officer's own signature or left-thumb-impression are staff-only or physical artifacts, out of scope.
Validation runs
node tools/validate.mjs registry/lk/drp/application-for-a-national-identity-card/1.0.0/schema.json— passes.node tools/validate-ajv.mjs registry/lk/drp/application-for-a-national-identity-card/1.0.0/schema.json— passes (draft 2020-12, spec v0.3 meta-schema).- A from-scratch conformance-checker script (scratch, not committed — evaluates
required/requiredWhen/validation.pattern/maxLength/enumagainst each fixture) found: bothvalid-*.jsonscenarios raise 0 errors; each of 8mutation-control-*.jsonfixtures raises exactly 1 error. Seeconformance/lk/drp/application-for-a-national-identity-card/1.0.0/.
Out of scope, disclosed
- Page 5 ("Details of the Payments made" / "FOR OFFICE USE ONLY") — physical stamp/receipt-affixing panel, no printed fee amount; office/payment processing only.
- Part Two (Certifying Officer attestation) and Part Three (Acknowledgment slip) — staff-only.
- Applicant's/officer's own signature or left-thumb impression, and photograph placement/scanning-panel instructions — physical artifacts.
- Item 8.2's printed heading ("Postal Address") vs. the instructions manual's description of the same cage (a different current residence address) — a genuine specimen discrepancy, disclosed rather than resolved by inference; this schema follows the printed heading.
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Department for Registration of Persons or any government. The authoritative source is always the live government form and its official instructions.