France Numero D Identification Au Repertoire Input
FranceNumeroDIdentificationAuRepertoireInput is a headless input for entering a France numéro d'identification au répertoire (NIR), the unique national healthcare identifier. It renders as <input type="text"> with pattern validation, numeric keyboard hint, and autocomplete disabled to protect sensitive health data. It is the editable companion to FranceNumeroDIdentificationAuRepertoireView.
The NIR is a 15-digit number printed on the Carte Vitale. The display format is X XX XX XX XXX XXX XX (sex, year, month, department, commune, order, control key).
Implementation Notes
- Renders as
<input type="text">with pattern validation - Pattern: X XX XX XX XXX XXX XX (15 digits with spaces)
inputmode="numeric"for mobile numeric keyboardautocomplete="off"to protect sensitive health identifiers- Supports two-way binding on the
valueprop - Companion to FranceNumeroDIdentificationAuRepertoireView
Props
label: string (required) -- accessible label viaaria-labelvalue: string (default: "") -- bindable input valuerequired: boolean (default: false) -- form validationdisabled: boolean (default: false) -- disabled state...restProps: any -- additional HTML attributes spread onto the<input>
Usage
<Field label="Numéro de Sécurité Sociale" required>
<FranceNumeroDIdentificationAuRepertoireInput label="NIR" value={nir} required />
<Hint>Format: X XX XX XX XXX XXX XX (15 digits from your Carte Vitale)</Hint>
<ErrorMessage>Please enter a valid NIR</ErrorMessage>
</Field>
Keyboard Interactions
- Standard text input keyboard behavior
- Users type digits and spaces in the format X XX XX XX XXX XXX XX
ARIA
aria-label={label}-- provides accessible nameinputmode="numeric"hints mobile devices to show a numeric keyboard
When to Use
- Use in clinical or administrative forms to collect a French NIR / Social Security number.
- Use with validation for the NIR identifier format (X XX XX XX XXX XXX XX).
- Use in patient registration workflows where the NIR is required for healthcare reimbursement in France.
When Not to Use
- Do not use for displaying read-only identifiers -- use FranceNumeroDIdentificationAuRepertoireView instead.
- Do not use for general text input -- use TextInput instead.
- Do not use for other national identifiers -- use the corresponding country-specific input component.
Headless
This headless component provides a bare <input type="text"> with aria-label, pattern validation, and inputmode="numeric". The consumer provides all styling.
Styles
The consumer provides all CSS styling. The component renders with a .france-numero-d-identification-au-repertoire-input class for targeting.
Testing
- Verify renders an
<input>with the correct class and type="text" - Verify
aria-labelis set from the label prop - Verify pattern attribute matches NIR format
- Verify
inputmode="numeric"andautocomplete="off" - Verify value binding works
Domain Knowledge
The French NIR (Numéro d'Inscription au Répertoire) is structured as 15 digits: position 1 is sex (1=male, 2=female), positions 2-3 are birth year, 4-5 birth month, 6-7 department code, 8-10 commune INSEE code, 11-13 order number, 14-15 control key (checksum 01-97). For people born abroad, the department code is 99 and the commune code is replaced by a 3-digit country code. Temporary numbers begin with 7 (male) or 8 (female). The number is printed on the Carte Vitale and used for all medical reimbursements.
Related components
france-numero-d-identification-au-repertoire-view— a read-only display of a France numéro d'identification au répertoire (NIR) unique national healthcare identifiertext-input— a single-line text input field <input type="text">
References
- Ameli.fr: https://www.ameli.fr/assure/droits-demarches/principes/numero-securite-sociale