Skip to main content
The clinik.assessments namespace manages FHIR ClinicalImpression resources — a practitioner’s formal assessment of a patient at a given point in time. An assessment captures a clinical summary, supporting findings (which can be coded diagnoses or free-text observations), and links to the patient, encounter, and assessing practitioner. Assessments are the structured equivalent of the “Assessment and Plan” section of a clinical note.

create

Create a new assessment. status, patientId, and summary are required.
const { data, meta } = await clinik.assessments.create(request: AssessmentCreateRequest): Promise<ApiResponse<ClinicalImpression>>
status
string
required
Assessment status. Accepted values: in-progress, completed.
patientId
string
required
ID of the patient being assessed.
summary
string
required
Narrative clinical summary of the assessment.
encounterId
string
Encounter during which the assessment was made.
practitionerId
string
ID of the assessing practitioner.
description
string
Brief description of the assessment context.
findings
Array<{ code?: string; text: string }>
Array of clinical findings. Each finding requires a text description and optionally a code (e.g. an ICD-10 code).
note
string
Additional clinical notes or follow-up instructions.
effectiveDateTime
string
ISO 8601 datetime for when the assessment was made.

Example

const { data: assessment } = await clinik.assessments.create({
  status: 'completed',
  patientId: 'pt_abc123',
  encounterId: 'enc_xyz789',
  practitionerId: 'prac_def456',
  summary: 'Patient presents with well-controlled hypertension. Continue current medication regimen.',
  findings: [
    { code: 'I10', text: 'Essential hypertension - well controlled' },
    { text: 'No signs of end-organ damage' },
  ],
  note: 'Follow up in 3 months. Continue lisinopril 10mg daily.',
  effectiveDateTime: '2025-06-01T09:30:00Z',
});

console.log('Assessment ID:', assessment.id);

read

Fetch a single assessment by ID.
const { data, meta } = await clinik.assessments.read(id: string): Promise<ApiResponse<ClinicalImpression>>

update

Partially update an assessment. Only the fields you include are changed.
const { data, meta } = await clinik.assessments.update(id: string, request: AssessmentUpdateRequest): Promise<ApiResponse<ClinicalImpression>>

Example: add a follow-up finding

await clinik.assessments.update('asmt_abc123', {
  status: 'completed',
  findings: [
    { code: 'I10', text: 'Essential hypertension - well controlled' },
    { text: 'No signs of end-organ damage' },
    { text: 'Patient education provided on low-sodium diet' },
  ],
});

delete

Permanently delete an assessment.
const { data, meta } = await clinik.assessments.delete(id: string): Promise<ApiResponse<void>>
Search assessments with filters on patient, practitioner, status, and encounter.
const { data, meta } = await clinik.assessments.search(params?: ResourceSearchParams): Promise<ApiResponse<PaginatedResponse<ClinicalImpression>>>
patientId
string
Filter by patient.
practitionerId
string
Filter by assessing practitioner.
status
string
Filter by assessment status.
encounterId
string
Filter by encounter.
count
number
Results per page.
cursor
string
Pagination cursor from a previous response.

Example

const { data } = await clinik.assessments.search({
  patientId: 'pt_abc123',
  status: 'completed',
  practitionerId: 'prac_def456',
});

console.log('Completed assessments:', data.data.length);