Immunization Recommendations
Immunization Recommendations (FHIRImmunizationRecommendation) provide patient-specific vaccine recommendations. They are typically generated by clinical decision support systems based on a patient’s immunization history and current guidelines.
Create Recommendations for a Child
const { data: recs } = await clinik.immunizationRecommendations.create({
patientId: 'pt_child456',
date: '2024-06-15T10:00:00Z',
authorityId: 'org_cdc',
recommendation: [
{
vaccineCode: ['MMR'],
targetDisease: 'Measles',
forecastStatus: 'due',
series: 'Primary Series',
doseNumber: 2,
seriesDoses: 2,
dateCriterion: [
{ code: 'Earliest Date', value: '2024-07-01' },
{ code: 'Recommended Date', value: '2024-08-15' },
{ code: 'Latest Date', value: '2024-12-31' },
],
},
{
vaccineCode: ['DTaP'],
targetDisease: 'Diphtheria',
forecastStatus: 'due',
series: 'Primary Series',
doseNumber: 5,
seriesDoses: 5,
dateCriterion: [
{ code: 'Recommended Date', value: '2024-09-01' },
],
},
{
vaccineCode: ['IPV'],
targetDisease: 'Polio',
forecastStatus: 'complete',
description: 'Series complete — no further doses needed',
doseNumber: 4,
seriesDoses: 4,
},
],
});
Create Recommendations for an Adult
const { data } = await clinik.immunizationRecommendations.create({
patientId: 'pt_adult789',
date: new Date().toISOString(),
recommendation: [
{
vaccineCode: ['Tdap', 'Td'],
targetDisease: 'Tetanus',
forecastStatus: 'overdue',
forecastReason: ['Last dose was more than 10 years ago'],
description: 'Tetanus booster overdue',
doseNumber: 1,
seriesDoses: 1,
},
{
vaccineCode: ['Influenza, seasonal, injectable'],
targetDisease: 'Influenza',
forecastStatus: 'due',
description: 'Annual flu vaccine recommended',
dateCriterion: [
{ code: 'Recommended Date', value: '2024-10-01' },
],
},
{
vaccineCode: ['COVID-19 mRNA'],
targetDisease: 'COVID-19',
forecastStatus: 'due',
description: 'Updated booster recommended',
},
],
});
Contraindicated Vaccine
const { data } = await clinik.immunizationRecommendations.create({
patientId: 'pt_allergic001',
date: new Date().toISOString(),
recommendation: [{
vaccineCode: ['MMR'],
targetDisease: 'Measles',
forecastStatus: 'contraindicated',
forecastReason: ['Severe allergic reaction to previous dose'],
description: 'MMR contraindicated due to anaphylaxis history',
}],
});
Search Recommendations
// All recommendations for a patient
const { data } = await clinik.immunizationRecommendations.search({
patientId: 'pt_child456',
});
// Filter by target disease
const { data: measles } = await clinik.immunizationRecommendations.search({
targetDisease: 'Measles',
});
// Filter by vaccine code
const { data: mmr } = await clinik.immunizationRecommendations.search({
vaccineCode: 'MMR',
});
// Filter by date range
const { data: recent } = await clinik.immunizationRecommendations.search({
dateFrom: '2024-01-01',
dateTo: '2024-12-31',
});