| Segment Reporting [Table Text Block] |
| Three months ended June 30, 2026 |
|
Sterilization and Disinfection Control |
|
|
Biopharmaceutical Development |
|
|
Calibration Solutions |
|
|
Clinical Genomics |
|
|
Total |
|
| Revenue (a): |
|
$ |
24,505 |
|
|
$ |
12,059 |
|
|
$ |
13,285 |
|
|
$ |
10,289 |
|
|
$ |
60,138 |
|
| Less |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Depreciation in cost of revenue |
|
|
437 |
|
|
|
78 |
|
|
|
111 |
|
|
|
119 |
|
|
|
745 |
|
| Amortization in cost of revenue |
|
|
121 |
|
|
|
379 |
|
|
|
- |
|
|
|
191 |
|
|
|
691 |
|
| Other cost of revenue (b) |
|
|
6,788 |
|
|
|
4,020 |
|
|
|
5,143 |
|
|
|
3,739 |
|
|
|
19,690 |
|
| Total segment cost of revenue |
|
|
7,346 |
|
|
|
4,477 |
|
|
|
5,254 |
|
|
|
4,049 |
|
|
|
21,126 |
|
| Gross Profit (c) |
|
$ |
17,159 |
|
|
$ |
7,582 |
|
|
$ |
8,031 |
|
|
$ |
6,240 |
|
|
$ |
39,012 |
|
| Reconciling items: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Operating expense |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ |
31,981 |
|
| Operating income |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7,031 |
|
| Non-operating expense, net |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2,678 |
|
| Earnings before income taxes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ |
4,353 |
|
| Three months ended June 30, 2025 |
|
Sterilization and Disinfection Control |
|
|
Biopharmaceutical Development |
|
|
Calibration Solutions |
|
|
Clinical Genomics |
|
|
Total |
|
| Revenue (a): |
|
$ |
25,410 |
|
|
$ |
11,486 |
|
|
$ |
12,350 |
|
|
$ |
10,297 |
|
|
$ |
59,543 |
|
| Less |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Depreciation in cost of revenue |
|
|
450 |
|
|
|
89 |
|
|
|
105 |
|
|
|
166 |
|
|
|
810 |
|
| Amortization in cost of revenue |
|
|
139 |
|
|
|
372 |
|
|
|
- |
|
|
|
191 |
|
|
|
702 |
|
| Other cost of revenue (b) |
|
|
6,655 |
|
|
|
4,719 |
|
|
|
5,203 |
|
|
|
4,515 |
|
|
|
21,092 |
|
| Total segment cost of revenue |
|
|
7,244 |
|
|
|
5,180 |
|
|
|
5,308 |
|
|
|
4,872 |
|
|
|
22,604 |
|
| Gross Profit (c) |
|
$ |
18,166 |
|
|
$ |
6,306 |
|
|
$ |
7,042 |
|
|
$ |
5,425 |
|
|
$ |
36,939 |
|
| Reconciling items: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Operating expense |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ |
33,875 |
|
| Operating income |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3,064 |
|
| Non-operating expense, net |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(3,948 |
) |
| Earnings before income taxes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ |
7,012 |
|
|
| Schedule of Segment Reporting Information, by Inventory Segment [Table Text Block] |
| |
|
June 30, |
|
|
March 31, |
|
| |
|
2026 |
|
|
2026 |
|
| Sterilization and Disinfection Control |
|
$ |
5,516 |
|
|
$ |
5,943 |
|
| Biopharmaceutical Development |
|
|
6,528 |
|
|
|
6,512 |
|
| Calibration Solutions |
|
|
5,928 |
|
|
|
5,603 |
|
| Clinical Genomics |
|
|
9,257 |
|
|
|
8,315 |
|
| Total inventories |
|
$ |
27,229 |
|
|
$ |
26,373 |
|
|