@jjlmoya/utils-forensic-science 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +69 -0
- package/scripts/crystal-lattice-catalog-translations.mjs +459 -0
- package/scripts/postinstall.mjs +27 -0
- package/scripts/sync-crystal-lattice-i18n.mjs +50 -0
- package/src/category/i18n/de.ts +55 -0
- package/src/category/i18n/en.ts +55 -0
- package/src/category/i18n/es.ts +55 -0
- package/src/category/i18n/fr.ts +55 -0
- package/src/category/i18n/id.ts +55 -0
- package/src/category/i18n/it.ts +55 -0
- package/src/category/i18n/ja.ts +56 -0
- package/src/category/i18n/ko.ts +56 -0
- package/src/category/i18n/nl.ts +55 -0
- package/src/category/i18n/pl.ts +55 -0
- package/src/category/i18n/pt.ts +55 -0
- package/src/category/i18n/ru.ts +55 -0
- package/src/category/i18n/sv.ts +55 -0
- package/src/category/i18n/tr.ts +55 -0
- package/src/category/i18n/zh.ts +56 -0
- package/src/category/index.ts +48 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +10 -0
- package/src/entries.ts +48 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +29 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +162 -0
- package/src/pages/[locale].astro +261 -0
- package/src/pages/index.astro +3 -0
- package/src/tests/diacritics_density.test.ts +140 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +24 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/seo_length.test.ts +46 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +16 -0
- package/src/tests/widmark.test.ts +28 -0
- package/src/tool/forensic-age-estimator/bibliography.astro +14 -0
- package/src/tool/forensic-age-estimator/bibliography.ts +16 -0
- package/src/tool/forensic-age-estimator/component.astro +321 -0
- package/src/tool/forensic-age-estimator/dental-skeletal-third-molar-age-estimator.css +634 -0
- package/src/tool/forensic-age-estimator/entry.ts +32 -0
- package/src/tool/forensic-age-estimator/i18n/de.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/en.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/es.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/fr.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/id.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/it.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ja.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ko.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/nl.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/pl.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/pt.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ru.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/sv.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/tr.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/zh.ts +246 -0
- package/src/tool/forensic-age-estimator/index.ts +11 -0
- package/src/tool/forensic-age-estimator/logic.ts +81 -0
- package/src/tool/forensic-age-estimator/seo.astro +15 -0
- package/src/tool/forensic-blood-test-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-blood-test-simulator/bibliography.ts +12 -0
- package/src/tool/forensic-blood-test-simulator/component.astro +168 -0
- package/src/tool/forensic-blood-test-simulator/dom-utils.ts +40 -0
- package/src/tool/forensic-blood-test-simulator/entry.ts +32 -0
- package/src/tool/forensic-blood-test-simulator/forensic-presumptive-blood-testing-luminol-kastle-meyer-simulator.css +532 -0
- package/src/tool/forensic-blood-test-simulator/helpers.ts +16 -0
- package/src/tool/forensic-blood-test-simulator/i18n/de.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/en.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/es.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/fr.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/id.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/it.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ja.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ko.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/nl.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/pl.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/pt.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ru.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/sv.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/tr.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/zh.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/index.ts +11 -0
- package/src/tool/forensic-blood-test-simulator/logic.ts +174 -0
- package/src/tool/forensic-blood-test-simulator/script.ts +192 -0
- package/src/tool/forensic-blood-test-simulator/seo.astro +15 -0
- package/src/tool/forensic-fiber-comparison-microscope/bibliography.astro +6 -0
- package/src/tool/forensic-fiber-comparison-microscope/bibliography.ts +16 -0
- package/src/tool/forensic-fiber-comparison-microscope/component.astro +146 -0
- package/src/tool/forensic-fiber-comparison-microscope/entry.ts +32 -0
- package/src/tool/forensic-fiber-comparison-microscope/forensic-fiber-comparison-microscope.css +629 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/de.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/en.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/es.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/fr.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/id.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/it.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ja.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ko.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/nl.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/pl.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/pt.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ru.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/sv.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/tr.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/zh.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/index.ts +11 -0
- package/src/tool/forensic-fiber-comparison-microscope/logic.ts +244 -0
- package/src/tool/forensic-fiber-comparison-microscope/render.ts +265 -0
- package/src/tool/forensic-fiber-comparison-microscope/seo.astro +15 -0
- package/src/tool/forensic-fiber-comparison-microscope/view.ts +267 -0
- package/src/tool/forensic-glass-becke-line-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-glass-becke-line-simulator/bibliography.ts +16 -0
- package/src/tool/forensic-glass-becke-line-simulator/component.astro +81 -0
- package/src/tool/forensic-glass-becke-line-simulator/entry.ts +32 -0
- package/src/tool/forensic-glass-becke-line-simulator/forensic-glass-becke-line-simulator.css +392 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/de.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/en.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/es.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/fr.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/id.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/it.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ja.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ko.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/nl.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/pl.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/pt.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ru.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/sv.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/tr.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/zh.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/index.ts +11 -0
- package/src/tool/forensic-glass-becke-line-simulator/logic.ts +100 -0
- package/src/tool/forensic-glass-becke-line-simulator/seo.astro +15 -0
- package/src/tool/forensic-glass-becke-line-simulator/view.ts +281 -0
- package/src/tool/forensic-image-authenticity-analyzer/bibliography.astro +9 -0
- package/src/tool/forensic-image-authenticity-analyzer/bibliography.ts +7 -0
- package/src/tool/forensic-image-authenticity-analyzer/component.astro +250 -0
- package/src/tool/forensic-image-authenticity-analyzer/entry.ts +29 -0
- package/src/tool/forensic-image-authenticity-analyzer/forensic-image-metadata-authenticity-analyzer.css +679 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/de.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/en.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/es.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/fr.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/id.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/it.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ja.ts +72 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ko.ts +72 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/nl.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pl.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pt.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ru.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/sv.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/tr.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/zh.ts +71 -0
- package/src/tool/forensic-image-authenticity-analyzer/index.ts +11 -0
- package/src/tool/forensic-image-authenticity-analyzer/logic.ts +283 -0
- package/src/tool/forensic-image-authenticity-analyzer/seo.astro +10 -0
- package/src/tool/forensic-microcrystal-drug-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-microcrystal-drug-simulator/bibliography.ts +12 -0
- package/src/tool/forensic-microcrystal-drug-simulator/component.astro +240 -0
- package/src/tool/forensic-microcrystal-drug-simulator/entry.ts +32 -0
- package/src/tool/forensic-microcrystal-drug-simulator/forensic-microcrystal-drug-simulator.css +430 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/de.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/en.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/es.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/fr.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/id.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/it.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ja.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ko.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/nl.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/pl.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/pt.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ru.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/sv.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/tr.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/zh.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/index.ts +11 -0
- package/src/tool/forensic-microcrystal-drug-simulator/logic.ts +189 -0
- package/src/tool/forensic-microcrystal-drug-simulator/seo.astro +15 -0
- package/src/tool/forensic-sex-determinator/bibliography.astro +14 -0
- package/src/tool/forensic-sex-determinator/bibliography.ts +12 -0
- package/src/tool/forensic-sex-determinator/component.astro +463 -0
- package/src/tool/forensic-sex-determinator/entry.ts +32 -0
- package/src/tool/forensic-sex-determinator/forensic-sex-determinator.css +413 -0
- package/src/tool/forensic-sex-determinator/i18n/de.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/en.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/es.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/fr.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/id.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/it.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ja.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ko.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/nl.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/pl.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/pt.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ru.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/sv.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/tr.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/zh.ts +211 -0
- package/src/tool/forensic-sex-determinator/index.ts +11 -0
- package/src/tool/forensic-sex-determinator/logic.ts +89 -0
- package/src/tool/forensic-sex-determinator/seo.astro +15 -0
- package/src/tool/forensic-stature-estimator/bibliography.astro +14 -0
- package/src/tool/forensic-stature-estimator/bibliography.ts +12 -0
- package/src/tool/forensic-stature-estimator/component.astro +49 -0
- package/src/tool/forensic-stature-estimator/components/EstimationPanel.astro +65 -0
- package/src/tool/forensic-stature-estimator/components/OsteometricBoard.astro +39 -0
- package/src/tool/forensic-stature-estimator/components/OsteometricSelector.astro +109 -0
- package/src/tool/forensic-stature-estimator/dom-utils.ts +71 -0
- package/src/tool/forensic-stature-estimator/entry.ts +32 -0
- package/src/tool/forensic-stature-estimator/forensic-stature-estimator.css +689 -0
- package/src/tool/forensic-stature-estimator/helpers.ts +51 -0
- package/src/tool/forensic-stature-estimator/i18n/de.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/en.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/es.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/fr.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/id.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/it.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ja.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ko.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/nl.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/pl.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/pt.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ru.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/sv.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/tr.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/zh.ts +196 -0
- package/src/tool/forensic-stature-estimator/index.ts +11 -0
- package/src/tool/forensic-stature-estimator/logic.ts +119 -0
- package/src/tool/forensic-stature-estimator/script.ts +288 -0
- package/src/tool/forensic-stature-estimator/seo.astro +15 -0
- package/src/tool/forensic-tlc-ink-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-tlc-ink-simulator/bibliography.ts +16 -0
- package/src/tool/forensic-tlc-ink-simulator/component.astro +245 -0
- package/src/tool/forensic-tlc-ink-simulator/entry.ts +32 -0
- package/src/tool/forensic-tlc-ink-simulator/forensic-tlc-ink-simulator.css +462 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/de.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/en.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/es.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/fr.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/id.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/it.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ja.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ko.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/nl.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/pl.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/pt.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ru.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/sv.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/tr.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/zh.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/index.ts +11 -0
- package/src/tool/forensic-tlc-ink-simulator/logic.ts +152 -0
- package/src/tool/forensic-tlc-ink-simulator/seo.astro +15 -0
- package/src/tool/gsr-dispersion-calculator/bibliography.astro +6 -0
- package/src/tool/gsr-dispersion-calculator/bibliography.ts +16 -0
- package/src/tool/gsr-dispersion-calculator/component.astro +294 -0
- package/src/tool/gsr-dispersion-calculator/entry.ts +32 -0
- package/src/tool/gsr-dispersion-calculator/gsr-dispersion-calculator.css +305 -0
- package/src/tool/gsr-dispersion-calculator/i18n/de.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/en.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/es.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/fr.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/id.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/it.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ja.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ko.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/nl.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/pl.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/pt.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ru.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/sv.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/tr.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/zh.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/index.ts +11 -0
- package/src/tool/gsr-dispersion-calculator/logic.ts +148 -0
- package/src/tool/gsr-dispersion-calculator/seo.astro +15 -0
- package/src/tool/widmark-alcohol-simulator/bibliography.astro +14 -0
- package/src/tool/widmark-alcohol-simulator/bibliography.ts +12 -0
- package/src/tool/widmark-alcohol-simulator/component.astro +453 -0
- package/src/tool/widmark-alcohol-simulator/entry.ts +32 -0
- package/src/tool/widmark-alcohol-simulator/i18n/de.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/en.ts +206 -0
- package/src/tool/widmark-alcohol-simulator/i18n/es.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/fr.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/id.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/it.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ja.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ko.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/nl.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/pl.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/pt.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ru.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/sv.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/tr.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/zh.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/index.ts +11 -0
- package/src/tool/widmark-alcohol-simulator/logic.ts +97 -0
- package/src/tool/widmark-alcohol-simulator/seo.astro +15 -0
- package/src/tool/widmark-alcohol-simulator/widmark-alcohol-simulator.css +386 -0
- package/src/tools.ts +27 -0
- package/src/types.ts +70 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
|
|
3
|
+
const slug = 'forensic-presumptive-blood-testing-luminol-kastle-meyer-simulator';
|
|
4
|
+
const title = '法医学的予備的血液検査シミュレーター';
|
|
5
|
+
const description = 'カストル・マイヤー試験とルミノール試験のシミュレーター。血液と偽陽性物質(錆、漂白剤、ジャガイモなど)を識別します。';
|
|
6
|
+
|
|
7
|
+
const howTo = [
|
|
8
|
+
{
|
|
9
|
+
"name": "サンプルの選択",
|
|
10
|
+
"text": "試験管ラックから検体を選択します。血液または偽陽性物質が含まれています。"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "検査方法の選択",
|
|
14
|
+
"text": "呈色反応のカストル・マイヤー試験か、発光反応のルミノール試験を選択します。"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "試薬の滴下",
|
|
18
|
+
"text": "カストル・マイヤー試薬に続いて過酸化水素水を滴下するか、ルミノール液を直接滴下します。"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "結果の判定",
|
|
22
|
+
"text": "暗闇での青い発光またはピンク色の呈色を観察し、陽性、偽陽性、陰性を判定します。"
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const faq = [
|
|
27
|
+
{
|
|
28
|
+
"key": "faq-1",
|
|
29
|
+
"question": "なぜ予備的な検査と呼ばれるのですか?",
|
|
30
|
+
"answer": "予備定試験は触媒活性に基づいたスクリーニング検査です。感度は極めて高いものの特異性が低いため、確定検査が必要です。"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"key": "faq-2",
|
|
34
|
+
"question": "カストル・マイヤー試験で偽陽性となる原因は何ですか?",
|
|
35
|
+
"answer": "この試験はヘムのペルオキシダーゼ様活性を利用しています。錆に含まれる鉄などの金属イオンや、植物のペルオキシダーゼも反応を触媒します。"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "faq-3",
|
|
39
|
+
"question": "ルミノール反応はどのように起こりますか?",
|
|
40
|
+
"answer": "ルミノールはヘモグロビンの鉄などの触媒の存在下で過酸化水素と反応します。酸化されたルミノールが基底状態に戻る際に青い光を放出します。"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "faq-4",
|
|
44
|
+
"question": "漂白剤は偽陽性を示しますか?",
|
|
45
|
+
"answer": "はい。家庭用漂白剤は強力な酸化剤であり、触媒なしで試薬を直接酸化するため、急速に消える強い反応を示します。"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"key": "faq-5",
|
|
49
|
+
"question": "予備検査と確定検査の違いは何ですか?",
|
|
50
|
+
"answer": "予備検査 is 迅速で高感度であり、現場の汚れを検出します。確定検査は人血の存在を確実に証明します。"
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography = [
|
|
55
|
+
{
|
|
56
|
+
"name": "Kastle-Meyer test - Wikipedia",
|
|
57
|
+
"url": "https://en.wikipedia.org/wiki/Kastle%E2%80%93Meyer_test"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Grodsky, M., Wright, K. & Kirk, P. L. (1951). Simplified preliminary blood testing. An improved technique and comparative study of methods. Journal of Criminal Law and Criminology.",
|
|
61
|
+
"url": "https://scholarlycommons.law.northwestern.edu/jclc/vol42/iss1/10/"
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
export const content: ToolLocaleContent = {
|
|
66
|
+
slug,
|
|
67
|
+
title,
|
|
68
|
+
description,
|
|
69
|
+
ui: {
|
|
70
|
+
"title": "血液検査シミュレーター",
|
|
71
|
+
"desc": "ルミノールおよびカストル・マイヤー試薬を用いて血液を検出し、偽陽性を分析するバーチャル実験。",
|
|
72
|
+
"configTitle": "実験室コントロール",
|
|
73
|
+
"sampleLabel": "検体サンプルの選択",
|
|
74
|
+
"reagentLabel": "試薬の選択",
|
|
75
|
+
"lightsLabel": "照明コントロール",
|
|
76
|
+
"btnLightsOff": "消灯する",
|
|
77
|
+
"btnLightsOn": "点灯する",
|
|
78
|
+
"btnReset": "シャーレを洗浄",
|
|
79
|
+
"resultsTitle": "予備検査結果",
|
|
80
|
+
"sampleBlood": "血液サンプル(対照)",
|
|
81
|
+
"sampleRust": "錆(酸化鉄)",
|
|
82
|
+
"sampleBleach": "漂白剤(次亜塩素酸ナトリウム)",
|
|
83
|
+
"samplePotato": "ジャガイモ(植物ペルオキシダーゼ)",
|
|
84
|
+
"sampleSaliva": "唾液サンプル",
|
|
85
|
+
"reagentKM": "カストル・マイヤー試薬",
|
|
86
|
+
"reagentH2O2": "過酸化水素水 (H2O2)",
|
|
87
|
+
"reagentLuminol": "ルミノール溶液",
|
|
88
|
+
"resultTruePositive": "真陽性(血液検出)",
|
|
89
|
+
"resultFalsePositive": "偽陽性(非血液触媒)",
|
|
90
|
+
"resultNegative": "陰性反応",
|
|
91
|
+
"statusLabel": "反応ステータス",
|
|
92
|
+
"reactionLabel": "反応の説明",
|
|
93
|
+
"dropReagentBtn": "滴下する",
|
|
94
|
+
"activeCompounds": "活性化合物",
|
|
95
|
+
"reactionSpeed": "反応速度",
|
|
96
|
+
"reactionDuration": "反応持続時間",
|
|
97
|
+
"specimenBase": "検体ベース",
|
|
98
|
+
"kmPending": "カストル・マイヤー試薬が滴下されました。過酸化水素水を加えて呈色を触媒させます。",
|
|
99
|
+
"h2o2Only": "過酸化水素水が滴下されました。指示薬がないため視覚的変化はありません。",
|
|
100
|
+
"noReaction": "反応は観察されません。サンプルは透明なままです。",
|
|
101
|
+
"luminolBlood": "暗闇で直ちに強い青色の発光が観察されました。ヘモグロビンのヘムがルミノールの酸化を触媒しました(真陽性)。",
|
|
102
|
+
"luminolBleach": "極めて強い青色の発光が直ちに観察されましたが、2秒未満で急速に減衰しました。漂白剤が直接ルミノールを酸化しました(偽陽性)。",
|
|
103
|
+
"luminolRust": "弱い青色の発光が観察されました。錆の鉄イオンが酸化を弱く触媒しました(偽陽性)。",
|
|
104
|
+
"luminolPotato": "発光は観察されません。植物ペルオキシダーゼはこの条件下でルミノールを酸化しません(陰性)。",
|
|
105
|
+
"luminolNegative": "暗闇での発光はありません。この化合物はルミノールの酸化を触媒しません(陰性)。",
|
|
106
|
+
"kmBlood": "過酸化水素水を加えると直ちに鮮やかなピンク色に変化しました。ヘムがフェノールフタリンをフェノールフタレインに酸化しました(真陽性)。",
|
|
107
|
+
"kmBleach": "直ちに強いピンク色に呈色しました。次亜塩素酸ナトリウムが過酸化水素の助けなしに直接フェノールフタリンを酸化しました(偽陽性)。",
|
|
108
|
+
"kmRust": "数秒後に遅れて弱い茶ピンク色の呈色が現れました。鉄イオンが非常に遅い速度で反応を触媒しました(偽陽性)。",
|
|
109
|
+
"kmPotato": "遅延後に弱いピンク色の呈色が現れました。植物ペルオキシダーゼが反応を弱く触媒しました(偽陽性)。",
|
|
110
|
+
"kmNegative": "呈色は観察されません。溶液は無色のままです(陰性)。"
|
|
111
|
+
},
|
|
112
|
+
seo: [
|
|
113
|
+
{
|
|
114
|
+
"type": "title",
|
|
115
|
+
"text": "法医学における血液予備検査の完全ガイド",
|
|
116
|
+
"level": 2
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "paragraph",
|
|
120
|
+
"html": "血液予備検査(推定試験)は、犯罪現場や法医学研究所において、付着した血痕の可能性をスクリーニングするための極めて高感度な分析方法です。高額で時間のかかるDNA型鑑定や確定検査を本格的に開始する前に、捜査官は衣類や凶器、室内の壁面などに付着した微量な生体試料の位置を迅速に特定するため、これらの簡易試験に依存します。これらの試験は、ヘモグロビンに含まれる鉄錯体である「ヘム」のペルオキシダーゼ(過酸化酵素)様活性をターゲットにしているため、あくまで「予備検査」に分類されます。陽性反応は血液の存在を強く示唆しますが、他の化学的反応物質を排除するためには、必ず確定検査を行う必要があります。"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "title",
|
|
124
|
+
"text": "カストル・マイヤー呈色試験の化学的機序と手順",
|
|
125
|
+
"level": 3
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"type": "paragraph",
|
|
129
|
+
"html": "カストル・マイヤー試験(KM法)は、還元されて無色となったフェノールフタリンが、過酸化水素と鉄の触媒作用によってピンク色のフェノールフタレインへと酸化される呈色反応を利用しています。その実験プロセスは非常に厳格です。まず、検体にフェノールフタリン試薬を塗布します。血液が存在する場合、ヘモグロビンのヘム基が有機触媒として機能します。続いて過酸化水素水を添加すると、ヘムが過酸化水素の分解を促進してフェノールフタリンを急速にフェノールフタレインへと酸化させ、瞬時に鮮やかなピンク色の呈色を示します。滴下後15秒以上経ってから発生する遅延呈色は、空気酸化による偽陽性と判断されます。"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "title",
|
|
133
|
+
"text": "ルミノールと法医学における化学発光反応の仕組み",
|
|
134
|
+
"level": 3
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "paragraph",
|
|
138
|
+
"html": "ルミノール(C8H7N3O2)は、アルカリ性溶液中で酸化剤および金属触媒と反応した際に、青色の化学発光(冷光)を放出する化学物質です。鑑識技術者は、犯罪現場の広範囲に希釈したルミノール液を噴霧します。目に見えない微量の血痕に接触すると、ヘモグロビンのヘムに含まれる鉄イオンがルミノールと酸化剤(通常は過酸化水素)の化学反応を強力に触媒します。この反応により、励起状態の有機アミノフタル酸イオンが生成され、基底状態に戻る際に青い光としてエネルギーを放出します。この光は強度が低いため、写真撮影や目視での観察には完全な暗室環境が必要とされます。"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"type": "table",
|
|
142
|
+
"headers": [
|
|
143
|
+
"検出サンプル",
|
|
144
|
+
"カストル・マイヤー試験",
|
|
145
|
+
"ルミノール発光試験",
|
|
146
|
+
"法医学的判断基準"
|
|
147
|
+
],
|
|
148
|
+
"rows": [
|
|
149
|
+
[
|
|
150
|
+
"人間血液コントロール",
|
|
151
|
+
"過酸化水素滴下後、即座に鮮やかなピンクに呈色。",
|
|
152
|
+
"強くて持続的な青色の化学発光。",
|
|
153
|
+
"真陽性。ヘムが極めて高効率な触媒反応を提供。"
|
|
154
|
+
],
|
|
155
|
+
[
|
|
156
|
+
"次亜塩素酸漂白剤",
|
|
157
|
+
"過酸化水素を滴下する前にすでにピンク呈色。",
|
|
158
|
+
"極めて強いが2秒以内に消失する急速発光。",
|
|
159
|
+
"偽陽性。強酸化剤が触媒なしで試薬を直接酸化。"
|
|
160
|
+
],
|
|
161
|
+
[
|
|
162
|
+
"酸化鉄(錆)",
|
|
163
|
+
"数秒の遅延の後、ゆっくりと弱い茶ピンク呈色。",
|
|
164
|
+
"弱くて暗い青色光が徐々に減衰して発光。",
|
|
165
|
+
"偽陽性。遊離鉄イオンが低効率で反応を触媒。"
|
|
166
|
+
],
|
|
167
|
+
[
|
|
168
|
+
"ジャガイモ(酵素)",
|
|
169
|
+
"時間経過後に非常に弱い遅延ピンク呈色。",
|
|
170
|
+
"肉眼で視認できる発光は全く観測されず。",
|
|
171
|
+
"偽陽性 (KM) / 陰性 (LUM)。"
|
|
172
|
+
]
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"type": "title",
|
|
177
|
+
"text": "偽陽性物質と本物の血痕を識別する方法について",
|
|
178
|
+
"level": 3
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"type": "paragraph",
|
|
182
|
+
"html": "家庭用の次亜塩素酸漂白剤や金属イオンが引き起こす偽陽性反応を見分けることは、裁判で証拠の信頼性を担保するために非常に重要です。漂白剤は強力な化学酸化力を持つため、過酸化水素がなくともKM指示薬を直接酸化させます。専門家はこれを滴下順序と発光時間の変化で識別します。漂白剤のルミノール発光は瞬時に消えますが、血液はより安定した発光を示します。また、植物のペルオキシダーゼ(ジャガイモやタマネギなど)は熱によって失活しますが、血液のヘモグロビンは熱に対して極めて安定であるため、加熱処理による反応差から本物の血液を見分けることができます。"
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
faq,
|
|
186
|
+
bibliography,
|
|
187
|
+
howTo,
|
|
188
|
+
schemas: [
|
|
189
|
+
{
|
|
190
|
+
'@context': 'https://schema.org',
|
|
191
|
+
'@type': 'SoftwareApplication',
|
|
192
|
+
name: title,
|
|
193
|
+
description,
|
|
194
|
+
applicationCategory: 'ForensicApplication',
|
|
195
|
+
operatingSystem: 'Any'
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
'@context': 'https://schema.org',
|
|
199
|
+
'@type': 'FAQPage',
|
|
200
|
+
mainEntity: faq.map((item) => ({
|
|
201
|
+
'@type': 'Question',
|
|
202
|
+
name: item.question,
|
|
203
|
+
acceptedAnswer: {
|
|
204
|
+
'@type': 'Answer',
|
|
205
|
+
text: item.answer
|
|
206
|
+
}
|
|
207
|
+
}))
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
'@context': 'https://schema.org',
|
|
211
|
+
'@type': 'HowTo',
|
|
212
|
+
name: title,
|
|
213
|
+
step: howTo.map((step) => ({
|
|
214
|
+
'@type': 'HowToStep',
|
|
215
|
+
name: step.name,
|
|
216
|
+
text: step.text
|
|
217
|
+
}))
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
};
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
|
|
3
|
+
const slug = 'forensic-presumptive-blood-testing-luminol-kastle-meyer-simulator';
|
|
4
|
+
const title = '법의학 예비 혈액 검사 시뮬레이터';
|
|
5
|
+
const description = '카슬-마이어 및 루미놀 시약을 이용한 예비 혈액 검사 시뮬레이터. 위양성 물질과 혈액을 구분합니다.';
|
|
6
|
+
|
|
7
|
+
const howTo = [
|
|
8
|
+
{
|
|
9
|
+
"name": "검체 선택",
|
|
10
|
+
"text": "랙에서 혈액 또는 위양성 물질로 구성된 샘플을 선택합니다."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "검사 방법 선택",
|
|
14
|
+
"text": "카슬-마이어 시험 또는 루미놀 발광 시험 중 하나를 선택합니다."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "시약 투여",
|
|
18
|
+
"text": "카슬-마이어 시약에 이어 과산화수소를 떨어뜨리거나 루미놀 용액을 직접 주입합니다."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "반응 해석",
|
|
22
|
+
"text": "어둠 속의 푸른 빛이나 핑크색 변화를 관찰하여 판정합니다."
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const faq = [
|
|
27
|
+
{
|
|
28
|
+
"key": "faq-1",
|
|
29
|
+
"question": "왜 예비 검사라고 부르나요?",
|
|
30
|
+
"answer": "예비 검사는 촉매 활성에 기반한 스크리닝 검사입니다. 감도는 매우 높지만 특이성이 낮아 위양성이 발생할 수 있어 확정 검사가 필요합니다."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"key": "faq-2",
|
|
34
|
+
"question": "카슬-마이어 검사에서 위양성이 나타나는 원인은 무엇인가요?",
|
|
35
|
+
"answer": "헤모글로빈 헤미의 페록시다아제 활성을 이용하기 때문에 녹 속의 철 이온, 식물성 페록시다아제에 의해서도 반응이 유도됩니다."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "faq-3",
|
|
39
|
+
"question": "루미놀 반응은 어떻게 발생하나요?",
|
|
40
|
+
"answer": "루미놀은 철 촉매가 존재할 때 과산화수소와 반응하여 들뜬 아미노프탈레이트 이온을 생성하고, 청색광을 냅니다."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "faq-4",
|
|
44
|
+
"question": "가정용 표백제는 위양성을 유발하나요?",
|
|
45
|
+
"answer": "네, 차아염소산나트륨은 강한 산화제로 촉매 없이 루미놀이나 페놀프탈린을 직접 산화시켜 빠르게 사라지는 강한 발광을 냅니다."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"key": "faq-5",
|
|
49
|
+
"question": "예비 검사와 확정 검사의 차이는 무엇인가요?",
|
|
50
|
+
"answer": "예비 검사는 현장에서 흔적을 찾는 신속 고감도 검사이며, 확정 검사는 인간 혈액의 존재를 증명하는 정밀 검사입니다."
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography = [
|
|
55
|
+
{
|
|
56
|
+
"name": "Kastle-Meyer test - Wikipedia",
|
|
57
|
+
"url": "https://en.wikipedia.org/wiki/Kastle%E2%80%93Meyer_test"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Grodsky, M., Wright, K. & Kirk, P. L. (1951). Simplified preliminary blood testing. An improved technique and comparative study of methods. Journal of Criminal Law and Criminology.",
|
|
61
|
+
"url": "https://scholarlycommons.law.northwestern.edu/jclc/vol42/iss1/10/"
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
export const content: ToolLocaleContent = {
|
|
66
|
+
slug,
|
|
67
|
+
title,
|
|
68
|
+
description,
|
|
69
|
+
ui: {
|
|
70
|
+
"title": "혈액 검사 시뮬레이터",
|
|
71
|
+
"desc": "루미놀 및 카슬-마이어 시약을 이용해 혈액을 감지하고 위양성 반응을 분석하는 가상 실험.",
|
|
72
|
+
"configTitle": "실험실 제어",
|
|
73
|
+
"sampleLabel": "검체 샘플 선택",
|
|
74
|
+
"reagentLabel": "시약 선택",
|
|
75
|
+
"lightsLabel": "조명 제어",
|
|
76
|
+
"btnLightsOff": "소등하기",
|
|
77
|
+
"btnLightsOn": "점등하기",
|
|
78
|
+
"btnReset": "플레이트 세척",
|
|
79
|
+
"resultsTitle": "예비 검사 결과",
|
|
80
|
+
"sampleBlood": "혈액 샘플 (대조군)",
|
|
81
|
+
"sampleRust": "녹 (산화철)",
|
|
82
|
+
"sampleBleach": "표백제 (차아염소산나트륨)",
|
|
83
|
+
"samplePotato": "감자 (식물 효소)",
|
|
84
|
+
"sampleSaliva": "타액 샘플",
|
|
85
|
+
"reagentKM": "카슬-마이어 시약",
|
|
86
|
+
"reagentH2O2": "과산화수소 (H2O2)",
|
|
87
|
+
"reagentLuminol": "루미놀 용액",
|
|
88
|
+
"resultTruePositive": "진양성 (혈액 감지됨)",
|
|
89
|
+
"resultFalsePositive": "위양성 (비혈액 촉매)",
|
|
90
|
+
"resultNegative": "음성 반응",
|
|
91
|
+
"statusLabel": "반응 상태",
|
|
92
|
+
"reactionLabel": "반응 설명",
|
|
93
|
+
"dropReagentBtn": "시약 투여",
|
|
94
|
+
"activeCompounds": "활성 화합물",
|
|
95
|
+
"reactionSpeed": "반응 속도",
|
|
96
|
+
"reactionDuration": "반응 지속 시간",
|
|
97
|
+
"specimenBase": "검체 베이스",
|
|
98
|
+
"kmPending": "카슬-마이어 시약이 도포되었습니다. 과산화수소(H2O2)를 추가하여 변색을 촉매합니다.",
|
|
99
|
+
"h2o2Only": "과산화수소가 도포되었습니다. 변화를 관찰할 수 없습니다.",
|
|
100
|
+
"noReaction": "반응이 관찰되지 않습니다. 샘플은 투명하게 유지됩니다.",
|
|
101
|
+
"luminolBlood": "어둠 속에서 즉시 강한 푸른 빛이 관찰되었습니다. 헤모글로빈의 헤미가 루미놀의 산화를 촉매했습니다. 진양성.",
|
|
102
|
+
"luminolBleach": "즉시 매우 강한 푸른 빛이 관찰되었으나 2초 내에 빠르게 소멸했습니다. 위양성.",
|
|
103
|
+
"luminolRust": "약한 푸른 빛이 관찰되었습니다. 산화철의 철 이온이 산화를 약하게 촉매했습니다. 위양성.",
|
|
104
|
+
"luminolPotato": "발광이 관찰되지 않습니다. 식물 페록시다아제는 이 조건 하에서 루미놀 산화를 유도하지 못합니다. 음성.",
|
|
105
|
+
"luminolNegative": "어둠 속에서 발광이 관찰되지 않습니다. 화합물이 루미놀 산화를 촉매하지 않습니다. 음성.",
|
|
106
|
+
"kmBlood": "과산화수소를 추가하자 즉시 밝은 분홍색 변색이 관찰되었습니다. 진양성.",
|
|
107
|
+
"kmBleach": "즉시 진한 분홍색으로 변색되었습니다. 차아염소산나트륨이 페놀프탈린을 직접 산화시켰습니다. 위양성.",
|
|
108
|
+
"kmRust": "수 초의 지연 후에 느리고 약한 갈색빛 분홍색이 나타났습니다. 위양성.",
|
|
109
|
+
"kmPotato": "지연 후에 옅은 분홍색이 나타났습니다. 식물 페록시다아제가 반응을 약하게 촉매했습니다. 위양성.",
|
|
110
|
+
"kmNegative": "색상 변화가 관찰되지 않습니다. 용액은 무색으로 유지됩니다. 음성."
|
|
111
|
+
},
|
|
112
|
+
seo: [
|
|
113
|
+
{
|
|
114
|
+
"type": "title",
|
|
115
|
+
"text": "법의학 예비 혈액 검사 가이드",
|
|
116
|
+
"level": 2
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "paragraph",
|
|
120
|
+
"html": "예비 혈액 검사(추정 시험)는 사건 현장이나 과학수사 연구실에서 혈액 흔적의 가능성을 스크리닝하기 위해 수행하는 고감도 분석 기법입니다. 또는 추가 확정 시험 등 많은 비용과 시간이 소요되는 분석을 수행하기 전에, 수사관들은 옷이나 흉기, 벽면 등에 남겨진 보이지 않는 생체 성분의 위치를 신속하게 특정하고자 이 검사를 수행합니다. 헤모글로빈의 유기철 화합물인 헤민(Hemin) 촉매 활성을 표적으로 하므로 예비 시험으로 분류되며, 양성 반응은 혈액의 잠재성을 강력하게 지시하지만 최종 증거로 법정에 사용하기 위해서는 화학적 유사 물질을 완전히 배제하는 확정 시험이 반드시 필요합니다."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "title",
|
|
124
|
+
"text": "카슬 마이어 시험의 화학적 반응 원리와 순서",
|
|
125
|
+
"level": 3
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"type": "paragraph",
|
|
129
|
+
"html": "카슬-마이어(KM) 시험은 환원 상태의 무색 분말인 페놀프탈린이 산화 과정을 거쳐 선명한 분홍색의 페놀프탈레인으로 전환되는 변색 반응에 기반합니다. 실험 절차는 매우 엄격하게 지켜져야 합니다. 먼저 시료에 페놀프탈린 지시약을 주입하면, 혈액이 존재할 경우 헤모글로빈의 헤미 성분이 유기 촉매로써 준비 상태를 형성합니다. 그 직후 과산화수소를 가했을 때 헤미 촉매가 과산화수소의 분해를 유도하며 무색의 지시약을 즉각적으로 선명한 핑크색으로 변색시킵니다. 시약 투여 후 15초 이상 지연되어 서서히 분홍빛으로 변하는 경우에는 자연계의 산화 현상으로 인한 위양성 반응으로 해석됩니다."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "title",
|
|
133
|
+
"text": "루미놀과 과학수사의 화학 발광 메커니즘 관찰",
|
|
134
|
+
"level": 3
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "paragraph",
|
|
138
|
+
"html": "루미놀(C8H7N3O2)은 알칼리성 수용액 조건 하에서 산화제와 결합해 반응할 때, 전이 금속 촉매의 도움을 받아 어둠 속에서 밝은 푸른 빛(화학 발광)을 발산하는 성질을 가지고 있습니다. 과학수사요원들은 사건 현장의 넓은 구역에 고르게 희석한 루미놀 솔루션을 뿌려 분석합니다. 눈에 보이지 않던 혈흔 유래 잔류물이 접촉하는 즉시 혈중 헤모글로빈의 철 이온이 산화 반응을 기하급수적으로 가속화합니다. 이 과정에서 아미노프탈레이트 이온이 에너지를 가득 머금은 여기 상태로 변한 후, 기저 상태로 복귀하면서 파란색 파장의 빛 에너지를 방출합니다. 이 반응광은 다소 희미하므로 완전히 어두운 환경이 요구됩니다."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"type": "table",
|
|
142
|
+
"headers": [
|
|
143
|
+
"시험 대상 샘플",
|
|
144
|
+
"카슬-마이어 반응 결과",
|
|
145
|
+
"루미놀 발광 결과",
|
|
146
|
+
"법의학적 진단 판정"
|
|
147
|
+
],
|
|
148
|
+
"rows": [
|
|
149
|
+
[
|
|
150
|
+
"혈액 대조군",
|
|
151
|
+
"H2O2 주입과 동시에 선명한 핑크색 즉각 변색.",
|
|
152
|
+
"밝고 일정한 푸른 발광 최대 8초 지속.",
|
|
153
|
+
"진양성. 헤미 촉매가 안정적인 활성력을 제공."
|
|
154
|
+
],
|
|
155
|
+
[
|
|
156
|
+
"염소계 가정용 표백제",
|
|
157
|
+
"H2O2 투여를 하기도 전에 분홍색으로 변색.",
|
|
158
|
+
"순간적으로 매우 강하지만 2초 내에 소멸.",
|
|
159
|
+
"위양성. 강력한 산화제가 지시약을 직접 산화."
|
|
160
|
+
],
|
|
161
|
+
[
|
|
162
|
+
"산화철 (녹슨 철가루)",
|
|
163
|
+
"수 초간 정체 후 천천히 약한 브라운 핑크 변색.",
|
|
164
|
+
"어둡고 희미한 블루 스펙트럼 발광.",
|
|
165
|
+
"위양성. 유리 철 이온이 낮은 효율로 반응 유도."
|
|
166
|
+
],
|
|
167
|
+
[
|
|
168
|
+
"감자 즙 (페록시다아제)",
|
|
169
|
+
"한참 지연된 후 서서히 희미한 분홍빛 변색.",
|
|
170
|
+
"어둠 속에서 확인 가능한 푸른 빛 관찰 안 됨.",
|
|
171
|
+
"위양성 (KM) / 음성 (LUM)."
|
|
172
|
+
]
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"type": "title",
|
|
177
|
+
"text": "진짜 혈흔과 다양한 위양성 반응의 분별법에 대하여",
|
|
178
|
+
"level": 3
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"type": "paragraph",
|
|
182
|
+
"html": "차아염소산나트륨이 포함된 화장실 세정제나 환경 속 철 이온 등으로 나타나는 위양성을 정확하게 판별해내는 지식은 감정서 작성의 신뢰성을 확보하는 데 필수적입니다. 표백제 계열은 과산화수소 없이도 지시약 자체를 바로 산화시켜 핑크빛으로 변화시키고 루미놀과의 발광 역시 수 초 이내에 극단적으로 소멸하므로 시간 경과 추이를 보면 쉽게 드러납니다. 또한 식물 뿌리에 많은 페록시다아제 효소는 고온 가열 처리를 거치면 구조가 변형되어 촉매 활성을 완전히 잃어버리지만, 혈액 속 헤모글로빈은 열에 대해 높은 내성을 보이므로 현장 채취본을 살짝 끓여 다시 테스트함으로써 식물성 위양성을 배제할 수 있습니다."
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
faq,
|
|
186
|
+
bibliography,
|
|
187
|
+
howTo,
|
|
188
|
+
schemas: [
|
|
189
|
+
{
|
|
190
|
+
'@context': 'https://schema.org',
|
|
191
|
+
'@type': 'SoftwareApplication',
|
|
192
|
+
name: title,
|
|
193
|
+
description,
|
|
194
|
+
applicationCategory: 'ForensicApplication',
|
|
195
|
+
operatingSystem: 'Any'
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
'@context': 'https://schema.org',
|
|
199
|
+
'@type': 'FAQPage',
|
|
200
|
+
mainEntity: faq.map((item) => ({
|
|
201
|
+
'@type': 'Question',
|
|
202
|
+
name: item.question,
|
|
203
|
+
acceptedAnswer: {
|
|
204
|
+
'@type': 'Answer',
|
|
205
|
+
text: item.answer
|
|
206
|
+
}
|
|
207
|
+
}))
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
'@context': 'https://schema.org',
|
|
211
|
+
'@type': 'HowTo',
|
|
212
|
+
name: title,
|
|
213
|
+
step: howTo.map((step) => ({
|
|
214
|
+
'@type': 'HowToStep',
|
|
215
|
+
name: step.name,
|
|
216
|
+
text: step.text
|
|
217
|
+
}))
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
};
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
|
|
3
|
+
const slug = 'forensische-presumptieve-bloedtest-simulator';
|
|
4
|
+
const title = 'Forensische Presumptieve Bloedtest Simulator';
|
|
5
|
+
const description = 'Simuleer presumptieve bloedtesten met behulp van Kastle-Meyer en Luminol reagentia. Onderscheid echt bloed van valse positieven.';
|
|
6
|
+
|
|
7
|
+
const howTo = [
|
|
8
|
+
{
|
|
9
|
+
"name": "Selecteer een monster",
|
|
10
|
+
"text": "Kies een monster uit het rek om te testen, dit kan bloed of een vals positief materiaal zijn."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Kies testmethode",
|
|
14
|
+
"text": "Beslis of u de Kastle-Meyer kleurtest of de Luminol luminescentietest uitvoert."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "Breng reagentia aan",
|
|
18
|
+
"text": "Voeg druppels Kastle-Meyer toe gevolgd door waterstofperoxide, of breng direct Luminol aan."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Interpreteer de reactie",
|
|
22
|
+
"text": "Observeer kleurveranderingen of een blauwe gloed in het donker om de reactie te classificeren."
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const faq = [
|
|
27
|
+
{
|
|
28
|
+
"key": "faq-1",
|
|
29
|
+
"question": "Waarom is het een presumptieve test?",
|
|
30
|
+
"answer": "Presumptieve testen zijn voorbereidende screenings op basis van katalytische activiteit. Ze zijn zeer gevoelig maar niet volledig specifiek, en vereisen confirmatie."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"key": "faq-2",
|
|
34
|
+
"question": "Wat veroorzaakt een vals positief bij Kastle-Meyer?",
|
|
35
|
+
"answer": "De test leunt op de peroxidase-achtige activiteit van heem. Chemische oxiderende stoffen, metaalionen zoals roest, of plantenperoxidasen kunnen de reactie katalyseren."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "faq-3",
|
|
39
|
+
"question": "Hoe werkt de Luminol reactie?",
|
|
40
|
+
"answer": "Luminol reageer met waterstofperoxide in aanwezigheid van een katalysator zoals het ijzer in hemoglobine. Dit zorgt voor blauw licht bij terugkeer naar de grondtoestand."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "faq-4",
|
|
44
|
+
"question": "Kan bleekmiddel een vals positief geven?",
|
|
45
|
+
"answer": "Ja, natriumhypochloriet is een sterke oxidator. Het oxideert fenolftaline of luminol direct zonder katalysator, met een snel vervagende reactie."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"key": "faq-5",
|
|
49
|
+
"question": "Wat is het verschil tussen presumptieve en confirmatieve testen?",
|
|
50
|
+
"answer": "Presumptieve testen zijn snel en gevoelig om vlekken te vinden. Confirmatieve testen bewijzen met zekerheid de aanwezigheid van menselijk bloed."
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography = [
|
|
55
|
+
{
|
|
56
|
+
"name": "Kastle-Meyer test - Wikipedia",
|
|
57
|
+
"url": "https://en.wikipedia.org/wiki/Kastle%E2%80%93Meyer_test"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Grodsky, M., Wright, K. & Kirk, P. L. (1951). Simplified preliminary blood testing. An improved technique and comparative study of methods. Journal of Criminal Law and Criminology.",
|
|
61
|
+
"url": "https://scholarlycommons.law.northwestern.edu/jclc/vol42/iss1/10/"
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
export const content: ToolLocaleContent = {
|
|
66
|
+
slug,
|
|
67
|
+
title,
|
|
68
|
+
description,
|
|
69
|
+
ui: {
|
|
70
|
+
"title": "Bloedtest Simulator",
|
|
71
|
+
"desc": "Voer virtuele laboratoriumexperimenten uit met Luminol en Kastle-Meyer reagentia om bloed te detecteren.",
|
|
72
|
+
"configTitle": "Laboratoriumregeling",
|
|
73
|
+
"sampleLabel": "Selecteer Monster",
|
|
74
|
+
"reagentLabel": "Selecteer Reagens",
|
|
75
|
+
"lightsLabel": "Verlichting",
|
|
76
|
+
"btnLightsOff": "Licht Uit",
|
|
77
|
+
"btnLightsOn": "Licht Aan",
|
|
78
|
+
"btnReset": "Schaal Resetten",
|
|
79
|
+
"resultsTitle": "Testresultaten",
|
|
80
|
+
"sampleBlood": "Bloedmonster (Controle)",
|
|
81
|
+
"sampleRust": "Roest (Ijzeroxide)",
|
|
82
|
+
"sampleBleach": "Bleekmiddel (Natriumhypochloriet)",
|
|
83
|
+
"samplePotato": "Aardappel (Plantenperoxidase)",
|
|
84
|
+
"sampleSaliva": "Speekselmonster",
|
|
85
|
+
"reagentKM": "Kastle-Meyer Reagens",
|
|
86
|
+
"reagentH2O2": "Waterstofperoxide (H2O2)",
|
|
87
|
+
"reagentLuminol": "Luminoloplossing",
|
|
88
|
+
"resultTruePositive": "Echt Positief (Bloed Gedetecteerd)",
|
|
89
|
+
"resultFalsePositive": "Vals Positief (Niet-Bloed Katalysator)",
|
|
90
|
+
"resultNegative": "Negatieve Reactie",
|
|
91
|
+
"statusLabel": "Reactiestatus",
|
|
92
|
+
"reactionLabel": "Reactie-Uitleg",
|
|
93
|
+
"dropReagentBtn": "Druppel Aanbrengen",
|
|
94
|
+
"activeCompounds": "Actieve Verbindingen",
|
|
95
|
+
"reactionSpeed": "Reactiesnelheid",
|
|
96
|
+
"reactionDuration": "Reactieduur",
|
|
97
|
+
"specimenBase": "Monsterbasis",
|
|
98
|
+
"kmPending": "Kastle-Meyer reagens aangebracht. Voeg waterstofperoxide (H2O2) toe om de kleurverandering te katalyseren.",
|
|
99
|
+
"h2o2Only": "Waterstofperoxide aangebracht. Geen zichtbare reactie zonder Kastle-Meyer indicator.",
|
|
100
|
+
"noReaction": "Geen reactie waargenomen. Het monster blijft helder.",
|
|
101
|
+
"luminolBlood": "Directe intense blauwe gloed waargenomen in het donker. Heemgroepen in hemoglobine hebben luminol katalytisch geoxideerd. Echt Positief.",
|
|
102
|
+
"luminolBleach": "Directe, zeer intense blauwe gloed waargenomen die zeer snel (binnen 2 seconden) vervaagde. Bleekmiddel oxideert luminol direct. Vals Positief.",
|
|
103
|
+
"luminolRust": "Zwakke, doffe blauwe gloed waargenomen. Metaalionen in roest katalyseren de oxidatie zwak. Vals Positief.",
|
|
104
|
+
"luminolPotato": "Geen luminescentie. Plantenperoxidasen katalyseren de oxidatie van luminol niet onder deze omstandigheden. Negatief.",
|
|
105
|
+
"luminolNegative": "Geen luminescentie waargenomen in het donker. De verbinding is niet katalytisch voor luminoloxidatie. Negatief.",
|
|
106
|
+
"kmBlood": "Directe heldere roze kleuring waargenomen na toevoeging van waterstofperoxide. Heem in bloed katalyseerde de oxidatie van fenolftaline naar fenolftaleïne. Echt Positief.",
|
|
107
|
+
"kmBleach": "Directe sterke roze kleurverandering. Natriumhypochloriet oxideert fenolftaline direct zonder peroxide. Vals Positief.",
|
|
108
|
+
"kmRust": "Langzame, zwakke bruinroze kleuring die na enkele seconden verschijnt. Roest katalyseert de reactie veel trager. Vals Positief.",
|
|
109
|
+
"kmPotato": "Langzame, zwakke roze kleuring na een vertraging. Plantenperoxidasen katalyseren de reactie zwak. Vals Positief.",
|
|
110
|
+
"kmNegative": "Geen kleurverandering waargenomen. De oplossing blijft kleurloos. Negatief."
|
|
111
|
+
},
|
|
112
|
+
seo: [
|
|
113
|
+
{
|
|
114
|
+
"type": "title",
|
|
115
|
+
"text": "Volledige Gids voor Forensische Bloedtesten",
|
|
116
|
+
"level": 2
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "paragraph",
|
|
120
|
+
"html": "Presumptieve bloedtesten zijn voorlopige, zeer gevoelige screeningstesten die op een delictlocatie worden gebruikt om verdachte rode vlekken te onderzoeken op de aanwezigheid van bloed. Voordat men dure en tijdrovende DNA-analyses of specifieke laboratoriumonderzoeken uitvoert, vertrouwen rechercheurs op deze snelle chemische tests om biologische sporen op kleding, wapens en oppervlakken te lokaliseren. Omdat deze screenings reageren op de peroxidase-achtige activiteit van de heemgroep in hemoglobine, zijn ze presumptief van aard. Een positieve reactie duidt sterk op de aanwezigheid van bloed, maar een confirmatieve laboratoriumtest is absoluut noodzakelijk om andere reactieve stoffen uit te sluiten."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "title",
|
|
124
|
+
"text": "Werking van de Kastle-Meyer Indicatiereactie",
|
|
125
|
+
"level": 3
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"type": "paragraph",
|
|
129
|
+
"html": "De Kastle-Meyer kleurreactie (KM) is gebaseerd op de chemische oxidatie van fenolftaline naar fenolftaleïne. Dit proces moet in een strikte volgorde worden uitgevoerd: eerst brengt de onderzoeker de kleurloze fenolftaline aan op de te testen stof. Als er bloed aanwezig is, treedt de heemgroep van de hemoglobine op als een katalysator. Zodra waterstofperoxide wordt toegevoegd, versnelt heem de ontbinding van de peroxide, waardoor de fenolftaline direct oxideert naar het roze fenolftaleïne, wat een heldere roze kleur geeft. Een vertraagde kleurverandering na meer dan 15 seconden wordt beschouwd als negatief."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "title",
|
|
133
|
+
"text": "Luminol en Forensische Chemische Luminescentie",
|
|
134
|
+
"level": 3
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "paragraph",
|
|
138
|
+
"html": "Luminol is een chemische verbinding die onder invloed van een oxidator en een metaalkatalysator een helderblauwe gloed in het donker afgeeft. Forensische experts spuiten een verdunde oplossing van luminol over grotere oppervlakken op de plaats van het misdrijf. Zodra de oplossing in contact komt met bloedresten, katalyseert het ijzer in de hemoglobine de reactie. Hierdoor ontstaat een aangeslagen aminophthalat-ion dat bij terugkeer naar de grondtoestand lichtenergie uitstraalt. Omdat deze lichtemissie zwak is, moet de ruimte volledig verduisterd zijn om de gloed waar te nemen en te fotograferen."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"type": "table",
|
|
142
|
+
"headers": [
|
|
143
|
+
"Monster Type",
|
|
144
|
+
"Kastle-Meyer Reactie",
|
|
145
|
+
"Luminol Gloedprofiel",
|
|
146
|
+
"Forensische Diagnostiek"
|
|
147
|
+
],
|
|
148
|
+
"rows": [
|
|
149
|
+
[
|
|
150
|
+
"Bloed Controle",
|
|
151
|
+
"Directe heldere roze verkleuring na H2O2.",
|
|
152
|
+
"Intense en stabiele blauwe gloed tot 8s.",
|
|
153
|
+
"Echt Positief. Heem levert de noodzakelijke katalytische activiteit."
|
|
154
|
+
],
|
|
155
|
+
[
|
|
156
|
+
"Bleekmiddel",
|
|
157
|
+
"Roze kleur verschijnt direct voor H2O2.",
|
|
158
|
+
"Zeer intense gloed die binnen 2s vervaagt.",
|
|
159
|
+
"Vals Positief. Sterke oxidator reagerar zonder katalysator."
|
|
160
|
+
],
|
|
161
|
+
[
|
|
162
|
+
"Roest (Ijzeroxide)",
|
|
163
|
+
"Langsame en zwakke bruinroze verkleuring.",
|
|
164
|
+
"Zwakke, doffe blauwe gloed.",
|
|
165
|
+
"Vals Positief. Vrije ijzerionen katalyseren met zeer lage efficiëntie."
|
|
166
|
+
],
|
|
167
|
+
[
|
|
168
|
+
"Aardappel (Enzymen)",
|
|
169
|
+
"Langsame en zeer zwakke roze verkleuring.",
|
|
170
|
+
"Geen gloed waargenomen in het donker.",
|
|
171
|
+
"Vals Positief (KM) / Negatief (LUM)."
|
|
172
|
+
]
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"type": "title",
|
|
177
|
+
"text": "Onderscheid Tussen Echt Bloed en Vals Positieve Reacties",
|
|
178
|
+
"level": 3
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"type": "paragraph",
|
|
182
|
+
"html": "Het correct uitsluiten van valse positieven is een cruciaal aspect van forensisch laboratoriumonderzoek. Reinigingsmiddelen met natriumhypochloriet (bleek) oxideren de indicator direct zonder dat er waterstofperoxide nodig is. Forensische experts herkennen dit door de tijd te meten: bleek reageert in de KM-test onmiddellijk zonder peroxide en de luminolgloed verdwijnt binnen twee seconden. Plantaardige peroxidasen (zoals in aardappelen of uien) worden bovendien geïnactiveerd door hitte, terwijl hemoglobine thermisch stabiel blijft en na verhitting nog steeds reageert."
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
faq,
|
|
186
|
+
bibliography,
|
|
187
|
+
howTo,
|
|
188
|
+
schemas: [
|
|
189
|
+
{
|
|
190
|
+
'@context': 'https://schema.org',
|
|
191
|
+
'@type': 'SoftwareApplication',
|
|
192
|
+
name: title,
|
|
193
|
+
description,
|
|
194
|
+
applicationCategory: 'ForensicApplication',
|
|
195
|
+
operatingSystem: 'Any'
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
'@context': 'https://schema.org',
|
|
199
|
+
'@type': 'FAQPage',
|
|
200
|
+
mainEntity: faq.map((item) => ({
|
|
201
|
+
'@type': 'Question',
|
|
202
|
+
name: item.question,
|
|
203
|
+
acceptedAnswer: {
|
|
204
|
+
'@type': 'Answer',
|
|
205
|
+
text: item.answer
|
|
206
|
+
}
|
|
207
|
+
}))
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
'@context': 'https://schema.org',
|
|
211
|
+
'@type': 'HowTo',
|
|
212
|
+
name: title,
|
|
213
|
+
step: howTo.map((step) => ({
|
|
214
|
+
'@type': 'HowToStep',
|
|
215
|
+
name: step.name,
|
|
216
|
+
text: step.text
|
|
217
|
+
}))
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
};
|