ICVP Demo
WHO ICVP Demonstration
International Certificate of Vaccination or Prophylaxis (ICVP) Demonstration
This web page demonstrates how to build a valid ICVP for yellow fever or polio following the WHO recommendations (WHR reference todo). This web page is divided into 4 steps:
- Understanding the data elements
- Entering typical sample data
- Creating certificate forms in ICVP and IPS formats
- Turning that in a valid VHL QR Code
Data Elements
Minimal data elements required for international travel verification under WHO International Health Regulations (IHR 2005).
This reference shows the specific data fields needed to implement a digital ICVP according to the WHO SMART ICVP Implementation Guide. The ICVP is focused exclusively on border verification for international travel, not comprehensive vaccination tracking.
The Data elements are easiest understood as derived from this form:

1. Certificate Details
Person Level elements for the vaccination certificate
Element | Description | FHIR Type | Required | Content Notes |
---|---|---|---|---|
Name | Person Name. | string | Yes | Person's name in their own natural order |
Date of Birth | YYYY-MM-DD | dateTime | Yes | To Be Resolved: What if the person doesn't know their date of birth? |
Sex | Person's Sex. | code | Optional? | Todo: Is this mandatory? Is it coded, and if so how? Or just any text as the issuer desires? |
Nationality | The Nationality of the person | code | No | To Be resolved: is this about the person, or the issuing authority for the certificate? Does it need to match the certificate? Does it have to coded? Or should it be the national id issuing country? |
National ID | The identity on the document the person holds f | string | No | Number on passport/id card/etc |
Type of ID | Type of identity document. | code | If an Id present | To be resolved: is this coded, and if so how? (and why?) |
Parent or Guardian | If person is a child in source jurisdiction. | code | No | not clear why this is present |
Vaccination Details
Element | Description | FHIR Type | Required | Content Notes |
---|---|---|---|---|
Vaccine Code | Identifies the Vaccine. | Code | Yes | It's not yet decided what coding system will be used. Whatever is used must map cleanly to the WHO PreQual database |
Date of Vaccination | YYYY-MM-DD | date | Yes | |
Clinician Name | Name of Clinician who administered the vaccine. | string | No? | |
Organization ID | Organization that is testifying to the vaccination certificate. | id | No? | What ID? and why? |
Batch Number | Vaccine Batch Number. | String | Yes | It's not clear why this is mandatory |
Certificate Validity period starts | When vaccine is considered to become effective. | date | No | It's not clear why this isn't implied from the date of administration |
Certificate Validity period ends | When vaccine is considered to stop being effective. | date | No |
ICVP Data Entry Form
This form lets you input data for a fake Immunization certificate and then creates a valid travel certificate, but with one important restriction: it is only valid in the development network. In other words, it's not a truly valid certificate. This page is provided for the purpose of helping developers create valid travel certificates. Notes:
- Language: The Form must be completed in English or French per IHR requirements
- WHO Approval: Only vaccines approved by WHO are valid for ICVP, focused on diseases under International Health Regulations (primarily yellow fever, occasionally polio)
- Authorization: All entries must be from WHO-authorized vaccination centers
For complete technical specifications, refer to the WHO SMART ICVP Implementation Guide.
Certificate Forms
ICVP Format
IPS Format
Validation:
QR Code Generation
This section shows the step-by-step process of converting the FHIR Bundle into a QR code for the International Certificate of Vaccination or Prophylaxis (ICVP).
Generation Process
QR code generation steps will appear here...