Immunization
Overview
The Immunization resource represents vaccination records and immunization history within the Provider Patient Access API. It provides comprehensive information about vaccines administered to patients, including vaccine details, administration dates, and healthcare providers involved.
Key Use Cases:
- Retrieve patient vaccination history
- Access immunization records for care coordination
- Support public health reporting requirements
- Track vaccine compliance and schedules
Relationships to Other Resources:
- Patient - The individual who received the immunization
- Practitioner - Healthcare provider who administered the vaccine
- Organization - Healthcare organization where immunization occurred
- Encounter - Healthcare encounter during which immunization was given
Resource Schema
Key fields in the Immunization resource:
{
"resourceType": "Immunization",
"id": "string",
"status": "completed|entered-in-error|not-done",
"vaccineCode": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/cvx",
"code": "207",
"display": "COVID-19, mRNA, LNP-S, PF, 30 mcg/0.3 mL dose"
}
]
},
"patient": {
"reference": "Patient/patient-123"
},
"occurrenceDateTime": "2023-10-15T10:30:00Z",
"recorded": "2023-10-15T10:35:00Z",
"primarySource": true,
"location": {
"reference": "Location/location-456"
},
"manufacturer": {
"display": "Pfizer-BioNTech"
},
"lotNumber": "ABC123",
"expirationDate": "2024-06-30",
"site": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActSite",
"code": "LA",
"display": "left arm"
}
]
},
"route": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration",
"code": "IM",
"display": "Injection, intramuscular"
}
]
},
"doseQuantity": {
"value": 0.3,
"unit": "mL",
"system": "http://unitsofmeasure.org",
"code": "mL"
},
"performer": [
{
"function": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0443",
"code": "AP",
"display": "Administering Provider"
}
]
},
"actor": {
"reference": "Practitioner/practitioner-789"
}
}
],
"reasonCode": [
{
"coding": [
{
"system": "http://snomed.info/sct",
"code": "840539006",
"display": "Disease caused by severe acute respiratory syndrome coronavirus 2"
}
]
}
]
}
Key Fields:
- status - Current status of the immunization
- vaccineCode - Type of vaccine administered
- patient - Reference to the patient who received the immunization
- occurrenceDateTime - When the immunization occurred
- performer - Healthcare provider who administered the vaccine
Operations
Read
Retrieve a specific immunization by ID.
- Production
- Preview
GET /Immunization/{id}
curl -X GET https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/Immunization/immunization-123 \
-H "Accept: application/fhir+json"
GET /Immunization/{id}
curl -X GET https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/Immunization/immunization-123 \
-H "Accept: application/fhir+json"
Search
Search for immunizations using various criteria.
GET Method
Use GET for simple searches with parameters in the query string.
- Production
- Preview
GET /Immunization?parameter=value
GET /Immunization?parameter=value
POST Method
Use POST for complex searches with form-encoded parameters.
- Production
- Preview
POST /Immunization/_search
POST /Immunization/_search
Search Parameters
Patient-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
patient | reference | Yes | REQUIRED The patient for the vaccination record | patient=Patient/patient-123 |
date | date | No | Vaccination (non)-Administration Date | date=2023-10-15 |
performer | reference | No | The practitioner or organization who played a role in the vaccination | performer=Practitioner/practitioner-789 |
status | token | No | Immunization event status | status=completed |
_lastUpdated | date | No | When the resource version was last updated | _lastUpdated=ge2023-01-01 |
_revinclude | special | No | Include resources that reference this immunization | _revinclude=Provenance:target |
ID-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
date | date | No | Vaccination (non)-Administration Date | date=2023-10-15 |
performer | reference | No | The practitioner or organization who played a role in the vaccination | performer=Practitioner/practitioner-789 |
status | token | No | Immunization event status | status=completed |
_lastUpdated | date | No | When the resource version was last updated | _lastUpdated=ge2023-01-01 |
_revinclude | special | No | Include resources that reference this immunization | _revinclude=Provenance:target |
Common Search Patterns
Find immunizations for a patient:
GET /Immunization?patient=Patient/patient-123&_count=10
Search by date range:
GET /Immunization?patient=Patient/patient-123&date=ge2023-01-01&date=le2023-12-31
Find by performer:
GET /Immunization?patient=Patient/patient-123&performer=Practitioner/practitioner-789
Search by status:
GET /Immunization?patient=Patient/patient-123&status=completed
Find recently updated records:
GET /Immunization?patient=Patient/patient-123&_lastUpdated=ge2023-10-01
Examples
Request Examples
- Production
- Preview
curl -X POST https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/Immunization/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&_count=10"
curl -X POST https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/Immunization/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&date=ge2023-01-01&date=le2023-12-31"
curl -X POST https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/Immunization/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&performer=Practitioner/practitioner-789"
curl -X POST https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/Immunization/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&_count=10"
curl -X POST https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/Immunization/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&date=ge2023-01-01&date=le2023-12-31"
curl -X POST https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/Immunization/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&performer=Practitioner/practitioner-789"
Response Examples
Successful Search Response
{
"resourceType": "Bundle",
"type": "searchset",
"total": 2,
"entry": [
{
"resource": {
"resourceType": "Immunization",
"id": "immunization-123",
"status": "completed",
"vaccineCode": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/cvx",
"code": "207",
"display": "COVID-19, mRNA, LNP-S, PF, 30 mcg/0.3 mL dose"
}
]
},
"patient": {
"reference": "Patient/patient-123"
},
"occurrenceDateTime": "2023-10-15T10:30:00Z",
"recorded": "2023-10-15T10:35:00Z",
"primarySource": true,
"manufacturer": {
"display": "Pfizer-BioNTech"
},
"lotNumber": "ABC123",
"expirationDate": "2024-06-30",
"site": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActSite",
"code": "LA",
"display": "left arm"
}
]
},
"route": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration",
"code": "IM",
"display": "Injection, intramuscular"
}
]
},
"doseQuantity": {
"value": 0.3,
"unit": "mL",
"system": "http://unitsofmeasure.org",
"code": "mL"
},
"performer": [
{
"function": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0443",
"code": "AP",
"display": "Administering Provider"
}
]
},
"actor": {
"reference": "Practitioner/practitioner-789"
}
}
]
}
}
]
}
Individual Immunization Response
{
"resourceType": "Immunization",
"id": "immunization-456",
"status": "completed",
"vaccineCode": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/cvx",
"code": "141",
"display": "Influenza, seasonal, injectable"
}
]
},
"patient": {
"reference": "Patient/patient-123"
},
"occurrenceDateTime": "2023-09-20T14:15:00Z",
"recorded": "2023-09-20T14:20:00Z",
"primarySource": true,
"manufacturer": {
"display": "Sanofi Pasteur"
},
"lotNumber": "FLU2023-456",
"expirationDate": "2024-07-31",
"site": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActSite",
"code": "RA",
"display": "right arm"
}
]
},
"route": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration",
"code": "IM",
"display": "Injection, intramuscular"
}
]
},
"doseQuantity": {
"value": 0.5,
"unit": "mL",
"system": "http://unitsofmeasure.org",
"code": "mL"
},
"performer": [
{
"function": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0443",
"code": "AP",
"display": "Administering Provider"
}
]
},
"actor": {
"reference": "Practitioner/practitioner-456"
}
}
],
"reasonCode": [
{
"coding": [
{
"system": "http://snomed.info/sct",
"code": "6142004",
"display": "Influenza"
}
]
}
]
}
Empty Result Set
{
"resourceType": "Bundle",
"type": "searchset",
"total": 0,
"entry": []
}
Integration Patterns
Common Workflows
1. Patient Immunization History
# Step 1: Get all immunizations for patient
GET /Immunization?patient=Patient/patient-123
# Step 2: Filter by date range for recent vaccines
GET /Immunization?patient=Patient/patient-123&date=ge2023-01-01
# Step 3: Get specific immunization details
GET /Immunization/immunization-123
2. Vaccine Compliance Check
# Step 1: Get patient demographics
GET /Patient/patient-123
# Step 2: Get immunization history
GET /Immunization?patient=Patient/patient-123&status=completed
# Step 3: Check for specific vaccine types
GET /Immunization?patient=Patient/patient-123&vaccine-code=207
Related Resources
- Patient - The individual who received the immunization
- Practitioner - Healthcare provider who administered the vaccine
- Organization - Healthcare organization where immunization occurred
- Encounter - Healthcare encounter during which immunization was given
Include Parameters
Use _include and _revinclude to fetch related resources:
# Get immunizations with patient details
GET /Immunization?patient=Patient/patient-123&_include=Immunization:patient
# Get immunizations with performer details
GET /Immunization?patient=Patient/patient-123&_include=Immunization:performer
Error Handling
The Immunization resource follows standard FHIR error handling patterns. For detailed error responses and troubleshooting guidance, see the Common Errors page.
Immunization-Specific Error Scenarios
- 404 Not Found: Immunization ID doesn't exist or record is not accessible
- 400 Bad Request: Invalid search parameters or malformed date formats
- Empty Results: No immunizations match the search criteria
Troubleshooting Tips
- No Results for Patient: Verify patient reference format and ensure patient exists
- Date Format Issues: Ensure dates are in YYYY-MM-DD or ISO 8601 format
- Performer Problems: Verify practitioner/organization references are valid
- Performance Issues: Use
_countparameter to limit result sets