Skip to main content

clinik.practitioners

Practitioners represent clinicians, physicians, nurses, and other healthcare providers.

create

const { data, meta } = await clinik.practitioners.create(request: PractitionerCreateRequest): Promise<ApiResponse<Practitioner>>
FieldTypeRequiredDescription
firstNamestringYesFirst name
lastNamestringYesLast name
prefixstring[]NoName prefixes (e.g. “Dr.”, “Prof.”)
suffixstring[]NoName suffixes (e.g. “MD”, “PhD”)
emailstringNoEmail address
phonestringNoPhone number
gender'male' | 'female' | 'other' | 'unknown'NoAdministrative gender
birthDatestringNoDate of birth (YYYY-MM-DD)
npistringNoNational Provider Identifier (US)
specialtystringNoPrimary specialty (e.g. “Cardiology”)
qualificationsArrayNoLicenses, certifications, board certs
languagesstring[]NoSpoken languages (BCP-47 codes)
addressobjectNoAddress with line, city, state, postalCode, country
photoobjectNoPhoto with url, data (base64), contentType

Qualifications

const { data } = await clinik.practitioners.create({
  firstName: 'Sarah',
  lastName: 'Chen',
  prefix: ['Dr.'],
  suffix: ['MD', 'FACC'],
  email: '[email protected]',
  npi: '1234567890',
  specialty: 'Cardiology',
  qualifications: [
    {
      name: 'Doctor of Medicine',
      issuer: 'Johns Hopkins University',
      period: { start: '2010-05-15' },
    },
    {
      name: 'Board Certified - Cardiovascular Disease',
      issuer: 'American Board of Internal Medicine',
      identifier: 'ABIM-12345',
      period: { start: '2015-06-01', end: '2025-06-01' },
    },
  ],
  languages: ['en', 'zh'],
});

read

const { data, meta } = await clinik.practitioners.read(id: string): Promise<ApiResponse<Practitioner>>

update

const { data, meta } = await clinik.practitioners.update(id: string, request: PractitionerUpdateRequest): Promise<ApiResponse<Practitioner>>
Only send the fields you want to change:
await clinik.practitioners.update('prac_abc123', {
  specialty: 'Interventional Cardiology',
  active: false, // deactivate practitioner
});

delete

const { data, meta } = await clinik.practitioners.delete(id: string): Promise<ApiResponse<void>>
const { data, meta } = await clinik.practitioners.search(params?: PractitionerSearchParams): Promise<ApiResponse<PaginatedResponse<Practitioner>>>
ParameterTypeDescription
namestringSearch by name (partial match)
specialtystringFilter by specialty
npistringExact NPI match
activebooleanFilter by active status
countnumberResults per page (max: 100)
cursorstringPagination cursor
const { data } = await clinik.practitioners.search({
  specialty: 'Cardiology',
  active: true,
  count: 20,
});