Skip to main content

clinik.specimens

Specimens (FHIR Specimen) represent biological samples collected from patients for laboratory testing. ClinikAPI simplifies collection details to flat fields — use the FHIR passthrough for advanced specimen processing workflows.

create

const { data, meta } = await clinik.specimens.create(request): Promise<ApiResponse<Specimen>>
FieldTypeRequiredDescription
statusstringNoavailable, unavailable, unsatisfactory
typestringNoSpecimen type (e.g. blood, urine, tissue)
patientIdstringYesPatient ID
receivedTimestringNoWhen the specimen was received
parentIdsstring[]NoParent Specimen IDs
requestIdsstring[]NoServiceRequest IDs
collectionobjectNoCollection details
containerArrayNoContainer details
conditionstring[]NoSpecimen condition codes
notestringNoAdditional notes

Collection Object

FieldTypeRequiredDescription
collectorIdstringNoPractitioner who collected
collectedDateTimestringNoWhen collected
quantity{ value, unit? }NoAmount collected
methodstringNoCollection method
bodySitestringNoBody site

Container Object

FieldTypeRequiredDescription
descriptionstringNoContainer description
typestringNoContainer type
capacity{ value, unit? }NoContainer capacity
specimenQuantity{ value, unit? }NoQuantity in container

Example

const { data } = await clinik.specimens.create({
  status: 'available',
  type: 'blood',
  patientId: 'pt_abc123',
  collection: {
    collectorId: 'Practitioner/prac_nurse456',
    collectedDateTime: '2024-03-15T09:30:00Z',
    quantity: { value: 10, unit: 'mL' },
    method: 'venipuncture',
    bodySite: 'left antecubital fossa',
  },
  container: [
    { type: 'EDTA tube', capacity: { value: 10, unit: 'mL' } },
  ],
  condition: ['room-temperature'],
  requestIds: ['sr_lab789'],
});
Same pattern as other resources. Update supports status, note, condition. Search supports patientId, status, type, dateFrom, dateTo filters.