---
title: "Immunization UI Mapping"
canonical: "https://wiki.patientsknowbest.com/space/api/5287968804/Immunization%20UI%20Mapping"
format: markdown
---
The table below details how and where your FHIR resource data appears in the PKB UI.

| **FHIR resource** | **Description** | **Required or Optional** | **Present in UI? (Y/N)** | **UI label (if present)** | **Screenshot** |
| --- | --- | --- | --- | --- | --- |
| id | Logical id of the immunization record. | Required | N |  |  |
| identifier[] | External identifier for this record. | Optional | N |  |  |
| meta | Resource metadata (version, tags, profiles). | Optional | N |  |  |
| status | The status of the vaccine | Required | Y | **Status:**<br>Note:  All statuses are displayed in the UI without any filtering or sorting. | ![image-20260619-104054.png](media://aa4a9877-4363-46b2-9e78-ab6d1bfd200b)<br>![image-20260619-104358.png](media://590e5edc-0072-4351-a9dc-fadeaf992c18) |
| statusReason | Reason for error or non-administration. | Optional | N |  |  |
| vaccineCode.text | Vaccine product administered. | Required | Y | The vaccine name is shown as title of vaccine information<br>Note:** **If both the `vaccineCode.text` and `vaccineCode.coding` are present, PKB displays `vaccineCode.text` | ![image-20260619-103230.png](media://3aed68b8-c4c8-4fd5-8006-492fdbaeef6d) |
| vaccineCode.coding | Vaccine code | Required | Y (unless the vaccineCode.text field is also included) | The vaccine name is shown as title of vaccine information<br>Note:<br>- If both the `vaccineCode.text` and `vaccineCode.coding` are present, PKB displays `vaccineCode.text`
- If only `vaccineCode.coding` is sent:
  - You should send in a `code`, `system` and `display` for the name to appear in PKB’s UI.
  - If only a `system`, `code`, or `system/code` is supplied (no `display` or `text`), PKB displays “Unknown Vaccine”.
  - If you are sending more than one `code`, you should utilise `text` to send a textual representation of all codes being sent because PKB’s UI only shows the *first* code’s `display` name. | ![image-20260619-103850.png](media://de60ac1a-31a5-4a3c-b182-817a8c47e488) |
| patient | Who received the vaccine. | Required | N |  |  |
| encounter | Related clinical encounter. | Optional | N |  |  |
| occurrence [x]<br>`occurrenceDateTime` | `occurrenceString` | When the vaccine was administered.  May be supplied as a precise date/time or free text. | Required<br>Note: Supply either `occurrenceDateTime` or `occurrenceString`, but not both. | Y | **Date administered:** | `occurrenceDateTime`<br>![image-20260619-102838.png](media://a923c4f8-4039-4d0c-8011-10bbdf6e684a)<br>`occurrenceString`<br>![image-20260619-103107.png](media://1260b03c-c4d4-4b04-b6a3-22b3510698b3) |
| recorded | When the record was entered. | Optional | N |  |  |
| primarySource | Whether the information came from the administering source. | Optional | N |  |  |
| reportOrigin | Type of source reporting this record. | Optional | N |  |  |
| location | Where the vaccination took place. | Optional | Y  (unless the administered by field is also included) | **Location:**<br>Note:<br>- If both `location` and `performer` (referencing an Organization resource) are present, the `performer` ('**Administered by:**') will display in the UI showing the `name` of the Organization resource.
- If both `location` and `performer` (referencing anything other than an Organization resource) are present, the `location` ('**Location**’) will display in the UI showing the `name` of the Location resource. | ![image-20260619-100125.png](media://a9ac3054-2284-4dfa-9ac4-05d14d4135ec) |
| manufacturer | Vaccine manufacturer organization. | Optional | Y | **Manufacturer:**<br>Note: If a manufacturer is present as an Organization reference, we will display its `display` field. | ![image-20260619-102713.png](media://26bd95f0-0512-493e-9ac7-d65d5528c7c3) |
| lotNumber | Lot number of the vaccine. | Optional | N |  |  |
| expirationDate | Vaccine expiration date. | Optional | N |  |  |
| site | E.g., “Left arm.” | Optional | N |  |  |
| route | E.g., “Intramuscular.” | Optional | N |  |  |
| doseQuantity | Numeric amount of vaccine given. | Optional | N |  |  |
| performer.function | What type of performance was done | Optional | N |  |  |
| performer.actor | Who performed the action. | Optional | Y | **Administered by:**<br>Note:<br>- If both `location` and `performer` (referencing an Organization resource) are present, the `performer` ('**Administered by:**') will display in the UI showing the `name` of the Organization resource.
- If both `location` and `performer` (referencing anything other than an Organization resource) are present, the `location` ('**Location:**’) will display in the UI showing the `name` of the Location resource. | ![image-20260619-100125.png](media://a9ac3054-2284-4dfa-9ac4-05d14d4135ec) |
| note[] | Free-text comments. | Optional | N |  |  |
| reasonCode[] | Clinical or public health reason for vaccination. | Optional | N |  |  |
| reasonReference[] | Reference to a condition or observation. | Optional | N |  |  |
| isSubpotent | Whether the dose was less effective. | Optional | N |  |  |
| subpotentReason[] | Why the dose was subpotent. | Optional | N |  |  |
| education[] | Educational resources provided. | Optional | N |  |  |
| education.documentType | Type of educational material. | Optional - subfield | N |  |  |
| education.reference | URL or reference. | Optional - subfield | N |  |  |
| education.publicationDate | When the material was published. | Optional - subfield | N |  |  |
| education.presentationDate | When material was shown to patient. | Optional - subfield | N |  |  |
| programEligibility[] | Eligibility under a vaccination program. | Optional | N |  |  |
| fundingSource | E.g., public or private funding. | Optional | N |  |  |
| reaction[] | Adverse reactions reported. | Optional | Y | **Reaction: **<br>Note:<br>- If only a `date` is provided AND/OR `reported` is populated (either true or false), PKB displays **Reaction: Recorded (no details)** | ![Screenshot 2026-01-21 at 10.31.04.png](media://d93f52d1-44d9-4136-973e-2e7ce5766a17) |
| reaction.date | When reaction occurred. | Optional - subfield | N | Note:<br>- If only a `date` is provided AND/OR `reported` is populated (either true or false), PKB displays **Reaction: Recorded (no details)**, but the actual date is not displayed in the UI. | ![image-20260618-152407.png](media://04a5ffbb-cd07-4bbd-833f-491d96dd8841) |
| reaction.detail | Reference to AdverseEvent or notes. | Optional - subfield | Y | Text follows above ‘Reaction’ label, eg **Reaction:** Vertigo, Soreness<br>Note:<br>- If `Observation.code[CodeableConcept].text` is present in the referenced Observation, that `text` displays with the reaction on the Immunization. Example: **Reaction: Hives**
- If
  `Observation.code[CodeableConcept].text` is not present in the referenced Observation resource, **Reaction: Recorded (no details) **displays on the Immunization.
- Other Observation details are not displayed in the UI (e.g., `code.display,` `code`, `date`, etc.) | ![image-20260618-153553.png](media://10ad6f32-ea34-4bbf-85fe-ddfe4a1c090a) |
| reaction.reported | Whether the patient/clinician reported it. | Optional - subfield | N | Note:<br>- If only a `date` is provided AND/OR `reported` is populated (either true or false), PKB displays **Reaction: Recorded (no details)**, but the `reported` true/false value is not displayed in the UI. | ![image-20260618-152413.png](media://94196e51-7bb9-43f0-95ad-99c855f63347) |
| protocolApplied[] | Series and dose details. | Optional | Y | **Dose:**<br>Note: If a `protocolApplied` is sent, a `doseNumber` must be included. | ![image-20260618-144116.png](media://ef38a2e2-7076-42a5-b6e6-4cda09a554d4) |
| protocolApplied.series | Name of vaccination series. E.g., “Polio vaccination series” | Optional - subfield | Y | **Dose:** | ![image-20260618-144123.png](media://df4ef514-8fef-4f83-8096-0220f6277220) |
| protocolApplied.authority | Org defining the vaccination schedule. | Optional - subfield | N |  |  |
| protocolApplied.targetDisease[] | Disease prevented by vaccine. | Optional - subfield | N |  |  |
| protocolApplied.doseNumberPositiveInt | Dose given. E.g., “1” | Optional - subfield | Y | **Dose:** | ![image-20260618-145132.png](media://bdc0633b-f1b5-43fb-bae9-818197e069ec) |
| protocolApplied.seriesDosesPositiveInt | Expected total number of doses in the series. E.g., “2” | Optional - subfield | Y | **Dose:** | ![image-20260618-144840.png](media://6b83934d-5dd5-46ca-8a41-db5a7002d1eb) |
| protocolApplied.doseNumberString | Text representation of dose number. | Optional - subfield | Y | **Dose:**<br>Note: When `doseNumber` is provided as a string, the string value is displayed inside parentheses. | ![image-20260618-150018.png](media://4a800bc0-eedd-4f7b-b0ed-fb34e94f7a5b) |
| protocolApplied.seriesDosesString | Text representation of the expected total number of doses in the series. | Optional - subfield | Y | **Dose:**<br>Note: When `seriesDoses` is provided as a string, the string value is displayed inside parentheses. | ![image-20260618-150217.png](media://b57d0f30-2451-40ce-aea2-f1c731a435e4) |