Skip to main content

Assessments

Assessments (FHIR ClinicalImpression) capture a clinician’s overall evaluation of a patient — findings, diagnoses, investigations, prognosis, and clinical summary. They’re typically created during or after an encounter.

Create an Assessment

const { data: assessment } = await clinik.assessments.create({
  status: 'completed',
  code: 'initial-assessment',
  patientId: 'pt_abc123',
  encounterId: 'enc_xyz789',
  practitionerId: 'prac_def456',
  description: 'Annual wellness assessment',
  summary: 'Patient presents with well-controlled hypertension and type 2 diabetes. '
    + 'No signs of end-organ damage. Continue current medication regimen. '
    + 'Recommend dietary counseling and increased physical activity.',
  findings: [
    { code: 'I10', text: 'Essential hypertension — well controlled on lisinopril 10mg', basis: 'BP readings over 3 months' },
    { code: 'E11.9', text: 'Type 2 diabetes mellitus — HbA1c 6.8%, at goal', basis: 'Lab panel from today' },
    { text: 'BMI 28.5 — overweight, recommend weight management' },
    { text: 'No peripheral neuropathy on exam' },
  ],
  investigations: [
    { name: 'Lab panel', itemIds: ['obs_cmp_001', 'obs_hba1c_001'] },
    { name: 'Vitals', itemIds: ['obs_bp_001', 'obs_bmi_001'] },
  ],
  problemIds: ['cond_hypertension', 'cond_diabetes'],
  prognosis: [
    { text: 'Good — well controlled with current regimen' },
    { code: 'favorable', text: 'Favorable with continued compliance' },
  ],
  note: 'Follow up in 3 months. Order HbA1c and CMP at next visit.',
  effectiveDateTime: '2025-01-15T10:00:00Z',
});

Assessment Code

Classify the type of assessment:
const { data } = await clinik.assessments.create({
  status: 'completed',
  code: 'discharge',  // initial-assessment, follow-up, discharge, pre-operative
  patientId: 'pt_abc123',
  summary: 'Patient stable for discharge...',
  // ...
});

Status Reason

Explain why an assessment is still in progress:
const { data } = await clinik.assessments.create({
  status: 'in-progress',
  statusReason: 'Awaiting lab results before finalizing',
  patientId: 'pt_abc123',
  summary: 'Preliminary assessment — pending CMP results.',
  // ...
});

Findings with Basis

Document which investigations support each finding:
findings: [
  {
    code: 'I10',
    text: 'Essential hypertension',
    basis: 'Blood pressure 148/92 on three separate readings',
  },
  {
    code: 'E11.9',
    text: 'Type 2 diabetes mellitus',
    basis: 'HbA1c 7.2% (lab panel obs_hba1c_001)',
  },
  {
    text: 'Patient reports improved energy levels',
  },
]

Investigations

Group related clinical investigations:
investigations: [
  {
    name: 'Initial labs',
    itemIds: ['obs_glucose', 'obs_creatinine', 'obs_hba1c'],
  },
  {
    name: 'Imaging',
    itemIds: ['dr_chest_xray_001'],
  },
  {
    name: 'Patient-reported',
    itemIds: ['intake_symptoms_001'],
  },
]

Previous Assessment

Link to a prior assessment for longitudinal tracking:
const { data } = await clinik.assessments.create({
  status: 'completed',
  code: 'follow-up',
  patientId: 'pt_abc123',
  previousAssessmentId: 'assess_initial_001',
  summary: 'Follow-up: Blood pressure improved since last visit.',
  // ...
});

Problem List

Reference the conditions being assessed:
const { data } = await clinik.assessments.create({
  status: 'completed',
  patientId: 'pt_abc123',
  problemIds: ['cond_hypertension', 'cond_diabetes', 'allergy_penicillin'],
  summary: 'Reviewed active problem list...',
  // ...
});

Prognosis

Document the expected outcome:
prognosis: [
  { text: 'Good — well controlled with current regimen' },
  { code: 'guarded', text: 'Guarded if medication compliance declines' },
]

Status Values

StatusDescription
in-progressAssessment is being conducted
completedAssessment is finalized

Update an Assessment

await clinik.assessments.update('assess_abc123', {
  status: 'completed',
  statusReason: 'Lab results received',
  summary: 'Updated summary with lab findings...',
  findings: [
    { code: 'I10', text: 'Essential hypertension — well controlled', basis: 'BP 128/82' },
    { code: 'E11.9', text: 'Type 2 diabetes — at goal', basis: 'HbA1c 6.8%' },
    { text: 'New finding: mild vitamin D deficiency', basis: 'Vitamin D level 22 ng/mL' },
  ],
  investigations: [
    { name: 'Updated labs', itemIds: ['obs_cmp_002', 'obs_vitd_001'] },
  ],
  prognosis: [{ text: 'Good with vitamin D supplementation' }],
  note: 'Added vitamin D 2000 IU daily to plan.',
});

Search Assessments

// All assessments for a patient
const { data } = await clinik.assessments.search({
  patientId: 'pt_abc123',
  status: 'completed',
  sort: '-date',
});

// Assessments by a specific practitioner
const { data: byDoc } = await clinik.assessments.search({
  practitionerId: 'prac_def456',
  dateFrom: '2025-01-01',
});

Assessments vs Notes

ResourcePurpose
Assessment (ClinicalImpression)Structured clinical evaluation with coded findings, investigations, prognosis
Note (DocumentReference)Narrative documentation (SOAP notes, discharge summaries)
Use assessments for structured clinical reasoning. Use notes for narrative documentation. They often complement each other — an encounter might have both a progress note and a clinical assessment.