The screening UI routes each locale to its diagnostic edition (RU/JA → ICD-10, EN → ICD-11, UK → DSM-5-TR), scores labels with the weighted two-core-minimum formula, and surfaces guidance (triggers, fears, irritants) for any category that records a “yes”. Read the extended walkthrough in Home.
The International Classification of Diseases (ICD) is the global diagnostic standard maintained by the World Health Organization to classify health conditions and related signs, symptoms, and external causes. It enables consistent clinical documentation, epidemiological tracking, and research across countries. Read more in the official English Wikipedia article: https://en.wikipedia.org/wiki/International_Classification_of_Diseases.
Warning
This project is created to develop the core of a horror game and is intended for research and entertainment purposes only.
It is not a medical, psychotherapeutic, or diagnostic tool.
Warning
Этот проект создан для разработки ядра хоррор-игры и носит исключительно исследовательско-развлекательный характер.
Он не является медицинским, психотерапевтическим или диагностическим инструментом.
Warning
Цей проєкт створено для розробки ядра горор-гри і має виключно дослідницько-розважальний характер.
Він не є медичним, психотерапевтичним чи діагностичним інструментом.
Warning
本プロジェクトはホラーゲームのコア開発を目的としており、研究および娯楽のみを目的としています。
医療、心理療法、または診断のためのツールではありません。
English Version
- Architecture – Hexagonal-inspired layering with clear
core,application,config,i18n, andpresentationboundaries insidesrc/. - Methodologies:
- Object-Oriented: services and UI widgets extend base abstractions (
BaseScoreEngine,BaseComponent). - BEM Methodology: follow BEM naming in
styles.cssand any new presentation markup. - Prefer modifier classes (e.g.
question-card--core) instead of boolean attributes to toggle UI states.
- Object-Oriented: services and UI widgets extend base abstractions (
- The browser bootstrap lives in
presentation/main.js; loadindex.htmldirectly in a modern browser to run the app. - Internationalised strings belong to
i18n/translations.js; use the translator service for all user-facing copy. - Add documentation for every new file or module under
/doc/. - Follow the development Ideals (see below) before shipping enhancements or refactors.
- Runtime assumptions:
- The screening tool is a pure browser experience with no build tooling.
- All logic is shipped as native ES modules referenced via
<script type="module">.
This screening app provides switchable diagnostic methodologies:
- ICD-10 – Russian and Japanese locales share the ICD-10 configuration (
config/methodologies/icd10Config.js). - ICD-11 – English locale loads the ICD-11-specific question and label set (
icd11Config.js). - DSM-5-TR – Ukrainian locale uses the DSM-5-TR configuration (
dsm5trConfig.js).
Each configuration feeds the ConfigMethodology adapter, which exposes categories, questions, and diagnostic labels to the scoring engines.
Our refined development Ideals keep the experience maintainable and clinically transparent:
- Single Source of Truth: Methodology definitions live in
config/methodologies/; never duplicate question text or diagnostic labels in services or presentation code. - Config-Driven Behaviour: Scoring engines rely only on the methodology interface (categories, questions, labels). Any new algorithm must consume the same contract.
- Locale Safety: Always call
Translator.t(key)for UI strings and provide fallbacks when adding new locales. - Declarative UI: Presentation components rebuild from state (
ScreeningApp.render) rather than mutating DOM nodes directly. - Extensible Engines: Extend
BaseScoreEnginefor new diagnostic scoring strategies; do not inline calculations in components. - Separation of Concerns: Keep domain logic in
core/andapplication/; presentation code may only orchestrate rendering and delegate logic to services. - Transparent Diagnostics: When adding thresholds or multipliers, document them in the wiki and surface the calculations in result cards.
- No Side Effects in Config: Configuration modules export plain data objects; avoid performing I/O or DOM work during import.
index.html– Mounting point that loadssrc/presentation/main.js.styles.css– BEM-styled theme shared across presentation components.src/– Modular source arranged by hexagonal layer.doc/– Product documentation (classification references, logs, briefs).wiki/– Technical notes for every source file in this sub-application.