Registry entry

Norway Application for a Driving Licence/Competence Certificate, incl. Health Self-Declaration — Søknad om førerkort/kompetansebevis

Statens vegvesen's (the Norwegian Public Roads Administration) combined application form for a driving licence and/or competence certificate (kompetansebevis, e.g. for professional goods/passenger transport or emergency-vehicle driving), "Søknad om førerkort og kompetansebevis / Egenerklæring om helse" ("Application for driving licence and competence certificate / Health self-declaration"). The form covers six mutually-exclusive application types (first-time licence, class extension, renewal, exchange of a foreign licence, return of a confiscated licence, or a competence certificate), a checklist of up to 20 driving-licence classes plus 3 competence-certificate types the applicant is requesting, an optional declaration of an existing foreign driving licence, and a mandatory 17-question health self-declaration (Egenerklæring om helse) covering vision, neurological, cardiovascular, psychiatric, and other conditions relevant to fitness to drive — the answers to which determine what medical certificate, if any, must be obtained and presented separately at the trafikkstasjon (traffic station) before a licence is issued (this downstream medical-certificate requirement is described on the form's own second page but is not itself a field on this form, since it is a separate document obtained from a doctor/optician, not entered here). This closes Norway's DMV vertical (the registry's 35th jurisdiction, opened via Business Formation in GOV-2314/GOV-2316; National ID closed via GOV-2323); Norway's only remaining open vertical is Visa (UDI form GP7028), per this registry's own pre-scouted CATALOG.md backlog. Submitting this application is a citizen action performed directly at a trafikkstasjon or via Statens vegvesen's own online channels; this schema does not submit the application itself, and the live source (vegvesen.no) is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Kingdom of Norway or Statens vegvesen.

Registry entry

no/vegvesen/soknad-om-forerkort-og-kompetansebevis

Jurisdiction
Norway · national
Version
1.0.0
Verification
draft

Authoritative source "Søknad om førerkort og kompetansebevis / Egenerklæring om helse", a 2-page fillable AcroForm PDF published unauthenticated by Statens vegvesen. Page 2 is entirely informational (medical-certificate requirements and general application guidance) and carries no form widgets.

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

57 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

  • applicantFullName string required

    The applicant's full name.

    length: 0–200classification: pii
  • nationalIdNumber string required

    The applicant's 11-digit Norwegian fødselsnummer (national identity number).

    patternclassification: sensitive-pii
  • address string required

    The applicant's street address.

    length: 0–200classification: pii
  • postalCode string required

    The applicant's 4-digit Norwegian postal code.

    patternclassification: pii
  • postTown string required

    The applicant's post town.

    length: 0–200classification: pii
  • phoneNumber string optional

    The applicant's phone number.

    length: 0–30classification: pii
  • mobileNumber string optional

    The applicant's mobile number, used for SMS notifications about the application (e.g. when a photo or exam booking is ready).

    length: 0–30classification: pii
  • email string optional

    The applicant's email address, used for email notifications about the application.

    length: 0–200classification: pii
  • preferredWrittenForm enum optional

    The applicant's preferred written standard of Norwegian (Bokmål or Nynorsk) for correspondence about this application.

    enum: bokmal | nynorsk
  • applicationType enum required

    The form's own mutually-exclusive choice of what this application is for. "exchange_of_foreign_licence" is the form's "Innbytte av utenlandsk førerkort" (exchange of a foreign licence for a Norwegian one); "return_of_confiscated_licence" is "Tilbakelevering" (return of a confiscated Norwegian or foreign licence, gating the confiscation-detail fields below).

    enum: first_time | extension | renewal | exchange_of_foreign_licence | return_of_confiscated_licence | competence_certificate
  • licenceClassAM145 boolean optional

    Requesting licence class AM145 (light two-wheeled moped, for applicants born before 1 January 1985).

  • licenceClassAM146 boolean optional

    Requesting licence class AM146 (light two-wheeled moped, for applicants born on or after 1 January 1985).

  • licenceClassAM147 boolean optional

    Requesting licence class AM147 (three- and four-wheeled moped).

  • licenceClassS boolean optional

    Requesting licence class S (belted/tracked motorcycle or snowmobile).

  • licenceClassT boolean optional

    Requesting licence class T (tractor).

  • licenceClassA1 boolean optional

    Requesting licence class A1 (light motorcycle).

  • licenceClassA2 boolean optional

    Requesting licence class A2 (medium-weight motorcycle).

  • licenceClassA boolean optional

    Requesting licence class A (motorcycle, unrestricted).

  • licenceClassB1 boolean optional

    Requesting licence class B1 (four-wheeled motorcycle/quadricycle).

  • licenceClassB boolean optional

    Requesting licence class B (passenger car or van).

  • licenceClassB96 boolean optional

    Requesting licence class B96 (trailer combination for class B, with a combined vehicle-and-trailer weight of 3,501-4,250 kg).

  • licenceClassBE boolean optional

    Requesting licence class BE (trailer for class B, above the B96 weight threshold).

  • licenceClassC1 boolean optional

    Requesting licence class C1 (light lorry, 3,500-7,500 kg).

  • licenceClassC1E boolean optional

    Requesting licence class C1E (trailer for class C1).

  • licenceClassC boolean optional

    Requesting licence class C (lorry).

  • licenceClassCE boolean optional

    Requesting licence class CE (trailer for class C).

  • licenceClassD1 boolean optional

    Requesting licence class D1 (minibus).

  • licenceClassD1E boolean optional

    Requesting licence class D1E (trailer for class D1).

  • licenceClassD boolean optional

    Requesting licence class D (bus).

  • licenceClassDE boolean optional

    Requesting licence class DE (trailer for class D).

  • competenceGoodsTransport boolean optional

    Requesting a competence certificate for professional goods-transport driving.

  • competencePassengerTransport boolean optional

    Requesting a competence certificate for professional passenger-transport driving.

  • competenceEmergencyVehicle boolean optional

    Requesting a competence certificate for emergency-vehicle driving (code 160).

  • hasForeignLicence boolean required

    Whether the applicant already holds a driving licence issued by another country.

  • foreignLicenceClassAndCountry string optional

    The licence class(es) held and the country that issued the foreign licence, entered as free text. The source form stacks two captions — "Førerkort for klasse" (licence class) and "Utstedt av (land)" (issued by (country)) — over a single wide answer box, so both are modelled here as one combined field rather than two.

    length: 0–200classification: pii
  • foreignLicenceIssuedDate date optional

    The date the foreign driving licence was issued.

  • foreignLicenceValidUntil date optional

    The expiry date of the foreign driving licence, if it has one.

  • confiscatedByAuthority string optional

    The police district in Norway, or the authority in another country, that confiscated the licence being applied for return of.

    length: 0–200classification: pii
  • confiscatedFromDate date optional

    The date the licence was confiscated from.

  • confiscatedToDate date optional

    The date the confiscation period runs to, if a fixed end date was set.

  • healthQuestion1VisualAcuity boolean required

    "Do you have reduced visual acuity, or need glasses or contact lenses?" (Har du nedsatt synsstyrke, behov for briller eller linser?)

    classification: health
  • healthQuestion2DoubleVisionOrNightVision boolean required

    "Have you had double vision in the last three months, problems driving in the dark or in changing light conditions, or reduced peripheral vision in one or both eyes?" (Har du hatt dobbeltsyn siste tre måneder, problemer ved kjøring i mørke eller ved vekslende lysforhold, eller nedsatt sidesyn på ett eller begge øyne?)

    classification: health
  • healthQuestion3TrafficOrientation boolean required

    "Do you have problems orienting yourself in traffic or assessing traffic situations?" (Har du problemer med å orientere deg i trafikken eller bedømme trafikkbildet?)

    classification: health
  • healthQuestion4NeurologicalDisease boolean required

    "Do you have, or have you had, a neurological disease?" (Har du eller har du hatt nevrologisk sykdom?)

    classification: health
  • healthQuestion5Fainting5Years boolean required

    "Have you had fainting episodes, seizures, or other episodes of reduced consciousness in the last 5 years?" (Har du hatt besvimelsestilfeller, krampeanfall eller andre episoder med nedsatt bevissthet de siste 5 år?)

    classification: health
  • healthQuestion6FaintingOrEpilepsy10Years boolean required

    "Have you had fainting episodes, seizures, or other episodes of reduced consciousness in the last 10 years, or have you used medication for epilepsy in the same period?" (Har du hatt besvimelsestilfeller, krampeanfall eller andre episoder med nedsatt bevissthet de siste 10 år, eller har du brukt legemidler mot epilepsi i samme periode?)

    classification: health
  • healthQuestion7SleepApnea boolean required

    "Do you have obstructive sleep apnea syndrome (snoring disease) or another sleep disorder?" (Har du obstruktivt søvnapne syndrom (snorkesyke) eller annen søvnsykdom?)

    classification: health
  • healthQuestion8CardiovascularDisease boolean required

    "Do you have, or have you had, cardiovascular disease?" (Har du eller har du hatt hjerte-/karsykdom?)

    classification: health
  • healthQuestion9Diabetes boolean required

    "Do you have diabetes?" (Har du diabetes?)

    classification: health
  • healthQuestion10MentalDisorderOrImpairment boolean required

    "Do you have, or have you had, a serious mental disorder, or do you have a mental impairment that could affect your driving?" (Har du eller har du hatt en alvorlig psykisk lidelse, eller har du en psykisk svekkelse som kan påvirke kjøringen din?)

    classification: health
  • healthQuestion11Adhd boolean required

    "Do you have ADHD?" (Har du ADHD?)

    classification: health
  • healthQuestion12MedicationAffectingDriving boolean required

    "Do you use medication that could affect your driving?" (Bruker du legemidler som kan påvirke kjøringen din?)

    classification: health
  • healthQuestion13SubstanceMisuse boolean required

    "Do you misuse alcohol or other intoxicants, or have you had such misuse in the last three years?" (Misbruker du alkohol eller andre rusmidler, eller har du hatt slikt misbruk i løpet av de siste tre år?)

    classification: health
  • healthQuestion14ImpairedLungFunction boolean required

    "Do you have impaired lung function?" (Har du svekket lungefunksjon?)

    classification: health
  • healthQuestion15SevereKidneyFailure boolean required

    "Do you have, or have you had, severe kidney failure?" (Har du eller har du hatt alvorlig nyresvikt?)

    classification: health
  • healthQuestion16ReducedLimbMobility boolean required

    "Do you have reduced mobility in an arm or leg?" (Har du nedsatt førlighet i arm eller ben?)

    classification: health
  • healthQuestion17OtherHealthCondition boolean required

    "Are there other health conditions that could impair your ability to drive?" (Er det andre helsemessige forhold som kan svekke din kjøreevne?)

    classification: health

Verification record

Candidate selection

GOV-2330 ("GovSchema Standard Research") is the latest firing of this registry's recurring standard-research routine. CATALOG.md's own "Known Gaps & Opportunities" section (item 8) named two open Norway candidates left over from the GOV-2316 parent cycle after GOV-2323 closed National ID:

  • DMV: Statens vegvesen's driving-licence application, ~82 widgets (pre-scout estimate).
  • Visa: UDI's form GP7028, ~328 widgets, disclosed by the pre-scout as UDI's legacy/paper fallback rather than its primary online-portal path, with an open question over whether the paper specimen is still genuinely accepted.

The DMV candidate was picked: it is roughly a quarter the size of GP7028, has no live-portal-vs-paper-fallback question mark, and closing it leaves Norway at 5 of 6 verticals (only Visa open), mirroring this cycle's own "prefer deepening an existing jurisdiction's genuine open gap" convention.

Source

  • URL: https://www.vegvesen.no/globalassets/forerkort/ta-forerkort/soknad-om-forerkort-og-kompetansebevis-egenerklaering-om-helse.pdf
  • Fetched fresh this session with a plain HTTP GET: HTTP 200, 223,986 bytes, genuine %PDF-1.6 header, no login/CAPTCHA/WAF gate.
  • Document: "Søknad om førerkort og kompetansebevis / Egenerklæring om helse" (Application for driving licence and competence certificate / Health self-declaration), 2 pages.

Extraction technique

pdfjs-dist v6.1.200 (legacy/build/pdf.js, installed fresh to a disposable /tmp directory) was used via page.getAnnotations() per page:

  • Page 1: 82 Widget annotations — all of them. Tx text fields for the applicant-info block and the foreign-licence/confiscation detail rows; Btn checkbox fields for the written-form preference, the application-type choice, the 23-item licence-class/competence checklist, the foreign-licence Ja/Nei pair, and 17 Ja/Nei radio-button pairs (34 widgets) for the health self-declaration.
  • Page 2: 0 Widget annotations — entirely informational prose (medical certificate requirements by licence class, general application guidance), confirmed by a full page.getTextContent() read of both pages.
  • doc.getFieldObjects() cross-check: 65 distinct field names — the 82 raw widgets collapse to 65 because each of the 17 health questions shares one AcroForm field name across its Ja/Nei radio-button pair (radioButton: true, distinct buttonValues "ja"/"nei"), matching this cycle's own hand-count of 82 - 17 = 65 exactly.

page.getTextContent() output (with each item's x/y transform) was used to recover the full text of all 17 numbered health questions — the source PDF's own field names for these are just "Egenerklæring om helse - N", not the question text itself, so the questions were read directly off the page and matched to each field by their shared y-coordinate band.

Field mapping (65 field names → 57 fields, 0 documents[])

  1. Written-form preference (ønsket målform - bokmål / ønsket målform - nynorsk, 2 Btn widgets) → single preferredWrittenForm enum field (bokmal / nynorsk), the same checkbox-pair-to-enum collapse this registry has used repeatedly for a form's own single either/or choice implemented as independent checkboxes.
  2. Application-type choice (Førerkort første gang / Utvidelse / Fornyelse / Innbytte av / Tilbakelevering / Kompetansebevis, 6 Btn widgets under the heading "Søknaden gjelder:") → single applicationType enum field. The form's own heading and single-row layout make clear only one applies per submission.
  3. Foreign-licence Ja/Nei pair (Ja / Nei, 2 generically-named Btn widgets under "Har du et førerkort fra et annet land?") → single hasForeignLicence boolean, gating three detail fields via visibleWhen/requiredWhen.
  4. Licence-class/competence checklist (23 Btn widgets: AM145 through DE, plus yrkessjåfør godstransport / yrkessjåfør persontransport / utrykning kode 160) — kept as 23 independent boolean fields, one per checkbox, rather than collapsed to a single enum or an array. Unlike the two choices above, this checklist is genuinely multi-selectable (an applicant can request several classes/trailer combinations in one application, e.g. B + BE, or C1 + C1E), and this registry's spec (spec/v0.3/govschema.schema.json, $defs/field/properties/type) has no array field type — confirmed by grepping every schema.json currently in registry/ for a "type": "array" field, which returns zero hits. Independent booleans are therefore this spec's correct expression of a multi-select checkbox group, not a workaround.
  5. 17 health self-declaration questions (Egenerklæring om helse - 1 through - 17, each a Ja/Nei radio-button pair sharing one field name) → 17 independent boolean fields (healthQuestion1... through healthQuestion17...), each required: true per the form's own instruction ("Les grundig gjennom spørsmålene nedenfor før du besvarer spørsmålene" — read through the questions carefully before answering them) and classification: "health" per GSP-0006.

Every other widget maps one-to-one to a schema field: the 8 applicant-info text fields, the foreign-licence detail block (3 fields, gated on hasForeignLicence), and the confiscated-licence detail block (3 fields, gated on applicationType == return_of_confiscated_licence).

0 documents[] entries is a disclosed structural fact, not an oversight, matching this registry's fi/vero/50a-earned-income-and-deductions precedent: neither page contains a "vedlegg" (attachment) checklist or any attachment-related field or instruction (confirmed by grepping the full getTextContent() output of both pages for "vedlegg"/"attach", zero hits). The medical certificates the health-declaration answers may trigger (described in detail on page 2) are a separate downstream requirement obtained from a doctor/optician and presented later at the trafikkstasjon, not an attachment to this form itself.

Disclosed exclusion

One widget, field name "Har du et førerkort fra et annet land" (Tx, rect spanning the full row width x: 155.0-571.8, y: 493.3-507.7), is excluded from this schema. Its field name is the question text itself ("Do you have a driving licence from another country?"), reused verbatim as an internal AcroForm field name — but visually it sits as a stray, full-width text box positioned above the three real answer fields for that section (utfyllende opplysninger i feltene til høyre / Utstedt dato / Gyldig til, all at a distinct, lower y-band, 471.6-485.5), not aligned with any of the two caption lines ("Førerkort for klasse" / "Utstedt av (land)") it visually overlaps. No rendering could be produced to confirm what, if anything, this box is meant to capture beyond what the three real fields already collect (the same headless-Chromium/pdfjs-dist+node-canvas rendering gap this registry's no/brreg cycle (GOV-2316) already hit on a different Norwegian specimen), so it is treated as a forms-authoring artifact — a duplicate or leftover text layer — rather than guessed at, following this registry's convention of disclosing rather than silently resolving a genuine ambiguity (the same treatment no/brreg's stray Check Box84 widget received).

Conformance run

Two mock scenarios were authored with valid synthetic (non-real) data and checked against a disposable checker script evaluating every field's required/requiredWhen/visibleWhen/validation (pattern, enum, maxLength, date) and both crossFieldValidation rules:

  • first-time-car-licence-minimal.json — a first-time class-B (car) applicant, no foreign licence, all 17 health questions answered false (no conditions declared). 0 errors.
  • renewal-multi-class-with-foreign-licence.json — a renewal application requesting classes B, BE, and C1 simultaneously, an existing foreign licence declared with issue/expiry dates, and two health questions (healthQuestion1VisualAcuity, healthQuestion9Diabetes) answered true. 0 errors.

Two mutation controls were also run against the second fixture: (1) setting hasForeignLicence: true while deleting foreignLicenceIssuedDate correctly raised exactly 1 error (requiredWhen violation); (2) setting foreignLicenceIssuedDate to a date after foreignLicenceValidUntil correctly raised exactly 1 error (the foreignLicenceValidUntilNotBeforeIssuedDate crossFieldValidation rule).

Both fixtures also pass node tools/validate.mjs and node tools/validate-ajv.mjs (structural + meta-schema conformance) for the schema document itself; registry-index.json was regenerated via npm run build-index and the full registry re-validated with all documents passing.

Disclosed judgment calls

  • foreignLicenceClassAndCountry combines two source captions ("Førerkort for klasse" and "Utstedt av (land)") that sit stacked over a single wide answer widget on the source form into one free-text field, rather than splitting them into two, since only one widget exists to capture both.
  • confiscatedToDate and foreignLicenceValidUntil are left optional even when their sibling start-date field is required, since both represent an open-ended end date the form does not always require (a confiscation or a foreign licence may have no fixed end date).
  • Norway now stands at 5 of 6 verticals (Passport is a confirmed dead-end per the GOV-2316 cycle's own screening; Taxes is confirmed fully-digital/pre-filled with no downloadable form). Visa (UDI form GP7028) is Norway's only remaining open vertical.

View the raw record (VERIFICATION.md)

Version history

  • 1.0.0 draft latest this page has verification record schema.json

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Statens vegvesen (the Norwegian Public Roads Administration) or any government. The authoritative source is always the live government form and its official instructions.