Validation and evidence
When an auditor asks “how do you know?”, the answer is not a presentation but a record. This page explains how that record is produced.
What IQ, OQ and PQ are
Three levels of proving that software works as intended. Each answers a different question, and none can stand in for another.
Is it installed correctly?
Installation Qualification. Shows that the system was installed correctly: whether the version, configuration, database schema, backup scheme and access settings are as expected.
Does each function work?
Operational Qualification. Shows that each function works as expected, one by one. It is measured with unit and integration tests; the run is automatic, not a record written by hand.
Does it work in real use?
Performance Qualification. Shows that the system behaves as expected in real usage scenarios: end to end, from sample receipt to approved report, through the user’s eyes.
Every product is measured separately
The measurement script scans each product’s own repository read-only. The figures below were not written by hand; a figure without a source cannot get onto this site. Last measured: 13 Oct 2026.
| Product | Framework | Data tables | Screens | Test files | Last change |
|---|---|---|---|---|---|
| Labdata LIMS | ISO/IEC 17025 | 258 | 220 | 1,264 | 13 Oct 2026 |
| QMS | ISO 9001 | 179 | 122 | 104 | 21 Sep 2026 |
| ITSM | ITIL 4 · ISO/IEC 20000-1 | 134 | 102 | 73 | 6 Sep 2026 |
| Contractor Management Portal | OHS Law No. 6331 | 42 | 46 | 88 | 14 Sep 2026 |
Each row is measured from the product’s own repository · measured 13 Oct 2026
What evidence production looks like in the most mature product
The figures below do not belong to the company as a whole: they are read from Labdata LIMS’s own validation records. Today the IQ · OQ · PQ infrastructure is in place for Labdata LIMS; the other products will get their own sections here once their infrastructure is set up. We don’t publish figures before that.
PQ records are produced for your LIMS installation
In Labdata LIMS installations, end-to-end scenarios are run through the user’s eyes and their records are delivered to you. The scenarios follow the real flow from sample receipt to approved report.
Carries a traceability tag
Every scenario is tied to a standard clause or a product rule and carries a traceability tag in its name. The answer to “what does this scenario prove?” sits in the scenario’s own name.
Runs automatically, never written by hand
The run record is never typed into a report by hand; the scenarios run in a real browser against a real database and write their own results.
Produced again on upgrade
After a version upgrade, the records are produced again. “Nothing broke” does not count as evidence on its own.
Clause – screen mapping table
The answer to “which standard clause is covered on which screen” is kept in writing. When a clause changes, the affected screens are read from this table. The table below comes from the Labdata LIMS installation; the screen paths are the product’s own (Turkish) routes.
| Clause | Screens that cover it | Count |
|---|---|---|
| 6.2 | /hesabim · /kullanicilar?sekme=roller · /personel/[id] · /personel/egitimler · /personel/izinler · /personel · +1 | 7 |
| 6.3 | /tesis/cevre · /tesis/krokiler · /tesis/parametreler · /tesis/ziyaretciler | 4 |
| 6.4 | /cihazlar/[id] · /cihazlar | 2 |
| 6.4.3 | /cihazlar/bakimlar/[id] · /cihazlar/bakimlar | 2 |
| 6.4.6 | /cihazlar/kalibrasyonlar/[id] · /cihazlar/kalibrasyonlar | 2 |
| 6.4.10 | /cihazlar/dogrulamalar/[id] · /cihazlar/dogrulamalar | 2 |
| 6.6 | /araclar/cozelti · /stok/[id] · /stok · /tedarikciler/[id] · /tedarikciler | 5 |
| 7.1 | /analiz-parametreleri?sekme=musteriler · /analiz-parametreleri?sekme=analiz-beyanlari · /kullanicilar?sekme=is-akislari · /muhasebe/faturalar/[id] · /muhasebe/faturalar · /muhasebe/faturalar/yeni · +4 | 10 |
| 7.2 | /analiz-parametreleri?sekme=analizler · /analiz-parametreleri?sekme=paketler · /analiz-parametreleri?sekme=metotlar · /analizler/[id] · /analizler · /numuneler/[id]/analiz/[runId] | 6 |
| 7.2.2 | /kalite/metot-dogrulama/[id] · /kalite/metot-dogrulama | 2 |
| 7.3 | /analiz-parametreleri?sekme=matris-tur · /analiz-parametreleri?sekme=numune-dokumanlari | 2 |
| 7.4 | /analiz-parametreleri?sekme=numune-etiketi · /araclar/numune-aktar · /numuneler/[id]/kunye · /numuneler/[id] · /numuneler/ekle · /numuneler/imha · +1 | 7 |
| 7.5 | /kalite/verilerin-kontrolu?sekme=denetim-izi | 1 |
| 7.6 | /analiz-parametreleri?sekme=hesaplanmis | 1 |
| 7.7 | /araclar/tekrarlanabilirlik · /kalite/kontrol-kartlar/[id] · /kalite/kontrol-kartlar | 3 |
| 7.8 | /analiz-parametreleri?sekme=rapor-formatlari · /analiz-parametreleri?sekme=saha-kodlari · /raporlar/[id] · /raporlar/coklu/[id] · /raporlar/coklu/yeni · /raporlar/coklu-sablonlar · +2 | 8 |
| 7.8.6 | /analiz-parametreleri?sekme=spesifikasyonlar | 1 |
| 7.9 | /kalite/sikayetler | 1 |
| 7.10 | /kalite/uygun-olmayan-is | 1 |
| 7.11 | /araclar/baz-cevirici · /araclar/birim-cevirici · /araclar/donusturucu · /araclar/elek-analizi · /araclar · /araclar/pdf · +3 | 9 |
| 8.1 | /analiz-parametreleri?sekme=durumlar · /ayarlar · /dokumanlar/numaralandirma | 3 |
| 8.3 | /ayarlar/dokuman-formati · /dokumanlar/dis-kaynakli · /dokumanlar | 3 |
| 8.4 | /araclar/ocr · /sistem-durumu | 2 |
| 8.5 | /kalite/riskler | 1 |
| 8.6 | /kalite/iyilestirme | 1 |
| 8.7 | /kalite/uygunsuzluklar | 1 |
| 8.8 | /kalite/ic-tetkik/[id]/duzenle · /kalite/ic-tetkik/[id] · /kalite/ic-tetkik/[id]/yurut · /kalite/ic-tetkik · /kalite/ic-tetkik/yeni-plan | 5 |
| 8.9 | /kalite/ygg/[id]/duzenle · /kalite/ygg/[id] · /kalite/ygg/[id]/yurut · /kalite/ygg · /kalite/ygg/yeni-plan | 5 |
| ISO/IEC 17025 — Accreditation records | /dokumanlar/turkak | 1 |
| ISO/IEC 17025 — Audit | /denetim/[id] | 1 |
| ISO/IEC 17025 — Audit preparation | /denetim | 1 |
| ISO/IEC 17025 — User guide | /kilavuz | 1 |
| ISO/IEC 27001 — A.8.15 | /kalite/verilerin-kontrolu?sekme=erisim | 1 |
Why these figures are never written by hand
Every figure on the site is carried as a { value, source, measured } triple, and the source is a required field. Anyone who wants to put a figure on a page has to state where it was measured; otherwise the build fails. The rule is not a convention but a gate built into the type system — conventions get forgotten, gates don’t.
The measurement script scans the sibling repositories read-only and writes the generated file. That file is committed to the repository, carries its own measurement time, and the page shows it as it is.
For the same reason, some things are deliberately missing from this page: we don’t write about a level we cannot measure, we show no examples from customer data, and we describe each product’s customer maturity only as far as we can measure it. What is out of scope
Would you like to see the validation records?
In the scoping call we work out together which records will be produced for your installation and how they will be presented in an audit.
We reply the same day.