const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
AlignmentType, HeadingLevel, LevelFormat, BorderStyle, WidthType,
ShadingType, VerticalAlign, PageBreak
} = require('docx');
const fs = require('fs');
const border = { style: BorderStyle.SINGLE, size: 1, color: "CCCCCC" };
const borders = { top: border, bottom: border, left: border, right: border };
const cellMargins = { top: 80, bottom: 80, left: 120, right: 120 };
function h1(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_1,
spacing: { before: 360, after: 180 },
children: [new TextRun({ text, bold: true, size: 28, font: "Arial" })]
});
}
function h2(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_2,
spacing: { before: 240, after: 120 },
children: [new TextRun({ text, bold: true, size: 24, font: "Arial" })]
});
}
function p(text, opts = {}) {
return new Paragraph({
alignment: opts.center ? AlignmentType.CENTER : AlignmentType.JUSTIFIED,
spacing: { before: opts.before || 0, after: opts.after || 140 },
children: [new TextRun({ text, font: "Arial", size: 22, ...opts.run })]
});
}
function pRuns(runs, opts = {}) {
return new Paragraph({
alignment: AlignmentType.JUSTIFIED,
spacing: { before: opts.before || 0, after: opts.after || 140 },
children: runs.map(r => new TextRun({ font: "Arial", size: 22, ...r }))
});
}
function bullet(text) {
return new Paragraph({
numbering: { reference: "bullets", level: 0 },
spacing: { before: 0, after: 80 },
children: [new TextRun({ text, font: "Arial", size: 22 })]
});
}
function tableRow(label, value, shade) {
const fill = shade ? "F2F7FB" : "FFFFFF";
return new TableRow({
children: [
new TableCell({
borders, margins: cellMargins,
width: { size: 3600, type: WidthType.DXA },
shading: { fill, type: ShadingType.CLEAR },
children: [new Paragraph({ children: [new TextRun({ text: label, font: "Arial", size: 22, bold: true })] })]
}),
new TableCell({
borders, margins: cellMargins,
width: { size: 5760, type: WidthType.DXA },
shading: { fill, type: ShadingType.CLEAR },
children: [new Paragraph({ children: [new TextRun({ text: value, font: "Arial", size: 22 })] })]
})
]
});
}
function resultsTable(rows) {
return new Table({
width: { size: 9360, type: WidthType.DXA },
columnWidths: [3000, 2120, 2120, 2120],
rows: rows.map((row, i) => new TableRow({
children: row.map((cell, ci) => new TableCell({
borders, margins: cellMargins,
width: { size: ci === 0 ? 3000 : 2120, type: WidthType.DXA },
shading: { fill: i === 0 ? "1F6AA5" : (i % 2 === 0 ? "F2F7FB" : "FFFFFF"), type: ShadingType.CLEAR },
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
alignment: ci === 0 ? AlignmentType.LEFT : AlignmentType.CENTER,
children: [new TextRun({
text: cell, font: "Arial", size: i === 0 ? 20 : 22,
bold: i === 0,
color: i === 0 ? "FFFFFF" : "000000"
})]
})]
}))
}))
});
}
const doc = new Document({
numbering: {
config: [
{
reference: "bullets",
levels: [{
level: 0, format: LevelFormat.BULLET, text: "•",
alignment: AlignmentType.LEFT,
style: { paragraph: { indent: { left: 720, hanging: 360 } } }
}]
}
]
},
styles: {
default: { document: { run: { font: "Arial", size: 22 } } },
paragraphStyles: [
{
id: "Heading1", name: "Heading 1", basedOn: "Normal", next: "Normal", quickFormat: true,
run: { size: 28, bold: true, font: "Arial", color: "1F6AA5" },
paragraph: { spacing: { before: 360, after: 180 }, outlineLevel: 0 }
},
{
id: "Heading2", name: "Heading 2", basedOn: "Normal", next: "Normal", quickFormat: true,
run: { size: 24, bold: true, font: "Arial", color: "2E75B6" },
paragraph: { spacing: { before: 240, after: 120 }, outlineLevel: 1 }
}
]
},
sections: [{
properties: {
page: {
size: { width: 11906, height: 16838 },
margin: { top: 1440, right: 1440, bottom: 1440, left: 1800 }
}
},
children: [
// === TITLE ===
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 80 },
children: [new TextRun({ text: "ПСИХОДИАГНОСТИЧЕСКОЕ ЗАКЛЮЧЕНИЕ", font: "Arial", size: 28, bold: true })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 80 },
children: [new TextRun({ text: "Горобец Максим Викторович", font: "Arial", size: 24, bold: true })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 400 },
children: [new TextRun({ text: "Дата составления: 1 июня 2026 г.", font: "Arial", size: 20, italics: true, color: "666666" })]
}),
// === SECTION 1: CLIENT INFO ===
h1("1. Информация о клиенте"),
new Table({
width: { size: 9360, type: WidthType.DXA },
columnWidths: [3600, 5760],
rows: [
tableRow("Пол, возраст", "Мужчина, 22 года", false),
tableRow("Обращение", "Первичное (в рамках психодиагностики)", true),
tableRow("Психический анамнез", "Диагностированных психических расстройств нет", false),
tableRow("Образование / занятость", "Студент, 4 курс, социологический факультет", true),
tableRow("Характер стресса", "Хронический / фоновый, на протяжении большей части сознательной жизни", false),
]
}),
new Paragraph({ spacing: { before: 0, after: 200 }, children: [] }),
// === SECTION 2: REQUEST ===
h1("2. Запрос клиента"),
p("Клиент обратился с запросом, связанным с трудностями переживания стресса. По итогам первичной беседы было установлено, что стресс носит хронический, фоновый характер и сопровождается как психологическими, так и физическими проявлениями: эмоциональным «возвращением» в прошедшие ситуации, повышенной утомляемостью, нарушениями сна и хроническим мышечным напряжением."),
p("Стрессовые реакции возникают преимущественно в межличностном взаимодействии. Особенно значимыми триггерами являются ситуации неконструктивной и/или эмоционально насыщенной критики, вызывающие у клиента выраженные переживания стыда и вины."),
pRuns([
{ text: "Основной запрос: " , bold: true },
{ text: "лучше понять причины стрессовых реакций и освоить способы совладания с ними." }
]),
// === SECTION 3: PROCEDURE ===
h1("3. Процедура тестирования"),
p("Психодиагностическое обследование проводилось непосредственно после первичной беседы. Методики были предъявлены через платформу psytests.org в очном формате при присутствии психолога. Ответы фиксировались на бланке, по которому автором самостоятельно были рассчитаны сырые и стандартизированные баллы."),
p("Использовались два инструмента:"),
bullet("Опросник Большой пятерки — вторая редакция (BFI-2) — для оценки выраженности базовых черт личности;"),
bullet("Шкала воспринимаемого стресса (PSS-10) — для оценки субъективного восприятия стресса и совладания с ним."),
p("Сырые данные и расчёт баллов приведены в Приложении."),
// === SECTION 4: RESULTS TABLE ===
h1("4. Результаты тестирования"),
h2("BFI-2 — Опросник Большой пятерки"),
new Paragraph({ spacing: { before: 0, after: 120 }, children: [] }),
resultsTable([
["Шкала", "Сырой балл (X)", "Среднее (M)", "z-показатель"],
["E — Экстраверсия", "4,17", "3,22 ± 0,78", "+1,21"],
["A — Доброжелательность", "3,25", "3,43 ± 0,69", "−0,26"],
["C — Добросовестность", "3,75", "3,45 ± 0,74", "+0,41"],
["N — Нейротизм", "4,42", "3,12 ± 0,87", "+1,49"],
["O — Открытость опыту", "4,83", "3,84 ± 0,66", "+1,51"],
]),
new Paragraph({ spacing: { before: 0, after: 200 }, children: [] }),
h2("PSS-10 — Шкала воспринимаемого стресса"),
new Paragraph({ spacing: { before: 0, after: 120 }, children: [] }),
resultsTable([
["Шкала", "Сырой балл (X)", "Среднее (M)", "z-показатель"],
["Дистресс", "23,00", "10,01 ± 4,36", "+2,98"],
["Совладание", "5,00", "9,08 ± 2,83", "−1,44"],
["Воспринимаемый стресс", "34,00", "16,94 ± 5,98", "+2,85"],
]),
new Paragraph({ spacing: { before: 0, after: 200 }, children: [] }),
// === SECTION 5: CONCLUSION FOR CLIENT ===
h1("5. Заключение для клиента"),
h2("5.1. Результаты по методике BFI-2"),
pRuns([{ text: "Экстраверсия (E): " , bold: true }, { text: "выше среднего (z = +1,21)" }]),
p("Вы, по всей видимости, довольно общительный и активный человек, который получает энергию от взаимодействия с другими людьми. Вам, вероятно, комфортно быть на виду, легко вступать в разговор, и в целом вы не испытываете затруднений с тем, чтобы заявить о себе. Вместе с тем стоит помнить, что высокая общительность не означает отсутствия трудностей в общении — она лишь говорит о том, что контакт с людьми для вас, как правило, скорее источник ресурса, чем нагрузки."),
pRuns([{ text: "Доброжелательность (A): " , bold: true }, { text: "около среднего (z = −0,26)" }]),
p("По этой шкале ваш результат близок к среднему, что говорит о сбалансированном подходе к взаимодействию с людьми. Вы, вероятно, умеете как проявлять искреннюю заботу и доверие, так и отстаивать свои интересы, когда это необходимо. Это нейтральный результат, и он не указывает ни на какие трудности."),
pRuns([{ text: "Добросовестность (C): " , bold: true }, { text: "чуть выше среднего (z = +0,41)" }]),
p("Вы склонны к организованности и ответственному выполнению своих обязательств несколько больше, чем большинство людей. Это может выражаться в том, что вы стараетесь доводить начатое до конца, придерживаетесь договорённостей и в целом достаточно надёжны как в учёбе, так и в отношениях."),
pRuns([{ text: "Нейротизм (N): " , bold: true }, { text: "заметно выше среднего (z = +1,49)" }]),
p("Это, пожалуй, один из наиболее важных результатов в контексте вашего запроса. Нейротизм — это не патология и не слабость характера, а склонность достаточно остро и живо реагировать на стресс, неопределённость и негативные события. Люди с похожими результатами нередко описывают себя как «тех, кто переживает из-за всего», чувствуют напряжение даже в ситуациях, которые другие воспринимают спокойно, и достаточно долго «держат» в себе неприятные переживания."),
p("Важно понимать: высокий нейротизм не определяет вас целиком. Он говорит о том, что ваша нервная система в среднем более чувствительна к сигналам угрозы и оценки — и это, в свою очередь, может объяснять, почему ситуации критики воспринимаются вами настолько болезненно."),
pRuns([{ text: "Открытость опыту (O): " , bold: true }, { text: "заметно выше среднего (z = +1,51)" }]),
p("Вы обладаете выраженным интеллектуальным любопытством и открытостью к новым идеям, переживаниям и способам мышления. Такие люди часто глубоко рефлексируют, интересуются самопознанием, ценят нестандартные подходы. Это качество во многом является ресурсом — именно оно, скорее всего, и привело вас к желанию разобраться в себе."),
h2("5.2. Результаты по методике PSS-10"),
pRuns([{ text: "Дистресс (z = +2,98): " , bold: true }, { text: "значительно выше среднего" }]),
p("Этот показатель отражает, насколько часто за последний месяц вы чувствовали, что вещи выходят из-под контроля, что ситуации, требующие реакции, накапливаются быстрее, чем вы успеваете с ними справляться. Ваш результат заметно превышает средний для большинства людей. Иными словами, прямо сейчас вы переживаете весьма ощутимую нагрузку."),
pRuns([{ text: "Совладание (z = −1,44): " , bold: true }, { text: "ниже среднего" }]),
p("Эта шкала отражает, насколько вы ощущаете собственные ресурсы для управления стрессом — чувствуете ли вы себя способным справиться, уверены ли в том, что ситуация разрешима. Ваш результат здесь несколько ниже среднего, что говорит о том, что субъективно вы сейчас чувствуете себя менее оснащённым для работы со стрессом, чем большинство. Это вполне объяснимо на фоне хронически высокой нагрузки."),
pRuns([{ text: "Воспринимаемый стресс в целом (z = +2,85): " , bold: true }, { text: "значительно выше среднего" }]),
p("Суммарный показатель подтверждает: субъективный уровень стресса у вас сейчас очень высок. Это не «придуманное» переживание — это реальная нагрузка, которую фиксирует методика, и которую заслуживает внимания."),
h2("5.3. Общее заключение"),
p("Результаты двух методик складываются в достаточно цельную картину и хорошо согласуются между собой, а также с тем, что вы рассказали в беседе."),
p("С одной стороны, вы обладаете рядом выраженных сильных сторон: вы энергичны и общительны, интеллектуально любопытны, достаточно организованы. Это — реальные ресурсы, которые помогают вам функционировать и развиваться."),
p("С другой стороны, высокий нейротизм в сочетании с хроническим стрессом создают условия, при которых ваша чувствительность к угрозам и оценкам работает «на повышенных оборотах». Ситуации критики — особенно неконструктивной или эмоционально насыщенной — активируют у вас сильные реакции стыда и вины, которые трудно быстро «выключить». Это подкреплено и данными PSS-10: вы не просто испытываете стресс — вы ощущаете, что ресурсов для с ним совладания сейчас не хватает."),
p("Физические симптомы (напряжение, утомляемость, нарушение сна), о которых вы упоминали, хорошо вписываются в эту картину: они характерны для длительного нахождения в состоянии хронического стресса. Это не значит, что так будет всегда. Это значит, что сейчас ваша система регуляции работает на пределе, и ей нужна поддержка."),
p("Ваше желание разобраться в ситуации — уже шаг в правильном направлении. Ниже вы найдёте ряд конкретных рекомендаций, которые могут помочь."),
// === SECTION 6: RECOMMENDATIONS ===
h1("6. Рекомендации"),
h2("6.1. Общая рекомендация"),
p("Учитывая хронический характер стресса и его выраженность по результатам PSS-10, рекомендуется обратиться за консультацией к специалисту — психологу или психотерапевту. Особенно это актуально в контексте работы с реакциями стыда и вины, которые лучше поддаются проработке в индивидуальном формате. Само по себе понимание своих особенностей — важный шаг, но для устойчивых изменений зачастую нужна систематическая поддержка."),
h2("6.2. Техника самопомощи: «Пауза и наблюдение»"),
p("Когда вы оказываетесь в ситуации критики и чувствуете нарастающее напряжение, попробуйте применять следующую технику (основана на принципах когнитивно-поведенческой терапии и практик осознанности):"),
bullet("Сделайте паузу — буквально остановитесь на несколько секунд, прежде чем реагировать."),
bullet("Заметьте, что происходит в теле (напряжение, учащённое дыхание) — это сигнал активации стрессовой реакции."),
bullet("Задайте себе вопрос: «Это угрожает мне физически или это угрожает моей самооценке?» Для мозга эти два типа угрозы неразличимы — но для вас они разные."),
bullet("Сделайте 3 медленных выдоха (выдох длиннее вдоха). Это активирует парасимпатическую нервную систему и снижает остроту реакции."),
p("Регулярная практика этой техники помогает постепенно снижать интенсивность автоматических стрессовых реакций."),
h2("6.3. Что почитать"),
bullet("Кристин Нефф — «Самосострадание. О силе сочувствия к себе» (изд. «Манн, Иванов и Фербер»). Книга основана на обширной исследовательской базе и будет особенно полезна именно в контексте реакций стыда и самокритики."),
bullet("Роберт Сапольски — «Почему у зебр не бывает язвы» (изд. «Альпина нон-фикшн»). Доступное и научно обоснованное объяснение механизмов стресса — поможет лучше понять, что происходит в вашем организме."),
h2("6.4. Видеоконтент"),
bullet("Brené Brown — «The Power of Vulnerability» (TED Talk, есть русские субтитры, ted.com) — о стыде, уязвимости и их связи с переживанием стресса."),
bullet("Роберт Сапольски — цикл лекций «Human Behavioral Biology» (YouTube, Stanford). Лекция о стрессе — глубокое и доступное объяснение физиологии и психологии стресса."),
// PAGE BREAK before professional part
new Paragraph({
children: [new PageBreak()]
}),
// === ADDITIONAL PART: FOR COLLEAGUE ===
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 80 },
children: [new TextRun({ text: "ДОПОЛНИТЕЛЬНАЯ ЧАСТЬ", font: "Arial", size: 28, bold: true })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 400 },
children: [new TextRun({ text: "Заключение для коллеги-психолога", font: "Arial", size: 24, bold: true, italics: true, color: "2E75B6" })]
}),
h1("Психодиагностическое заключение (профессиональная версия)"),
h2("Профиль BFI-2"),
p("Профиль черт личности по BFI-2 демонстрирует статистически значимое превышение популяционной нормы по двум шкалам: Нейротизму (z = +1,49) и Открытости опыту (z = +1,51). Показатель Экстраверсии также выше нормы (z = +1,21). Добросовестность находится в диапазоне нормы с незначительным положительным отклонением (z = +0,41). Доброжелательность — в пределах нормы, практически на уровне среднего (z = −0,26)."),
p("Клинически значимым для понимания запроса является сочетание высокого нейротизма с выраженной открытостью: такая конфигурация черт типична для лиц с высокой аффективной чувствительностью и развитой рефлексией, что создаёт условия для интенсивного и длительного переживания межличностных стрессоров, в особенности связанных с угрозой самооценке."),
h2("Профиль PSS-10"),
p("По данным PSS-10 клиент демонстрирует выраженный дистресс (z = +2,98) при сниженном уровне воспринимаемого совладания (z = −1,44). Суммарный показатель воспринимаемого стресса значительно превышает нормативные значения (z = +2,85). Данный профиль указывает на дисбаланс между воспринимаемыми требованиями среды и оцениваемыми субъектом ресурсами для их преодоления, что соответствует транзакционной модели стресса Лазаруса и Фолкмана."),
h2("Общий психодиагностический вывод"),
p("Результаты психодиагностического обследования согласуются между собой и с данными клинической беседы. Картина соответствует состоянию хронического психологического дистресса на фоне конституционально высокого нейротизма. Ключевым механизмом поддержания дисфункционального реагирования, предположительно, является сочетание гиперчувствительности к сигналам социальной угрозы (критика, оценка) с ограниченным репертуаром стратегий эмоциональной регуляции."),
p("Соматические симптомы (нарушение сна, мышечное напряжение, утомляемость) могут рассматриваться как проявление хронической активации оси HPA и симпатической нервной системы. Реакции стыда и вины в ответ на критику могут указывать на наличие дисфункциональных убеждений в отношении собственной ценности и компетентности, что является мишенью для КПТ или схема-терапии."),
p("Высокий уровень открытости и интеллектуальной рефлексии, а также наличие запроса на самопознание представляют собой выраженные прогностически благоприятные ресурсы для психотерапевтической работы."),
// === REFERENCES ===
h1("Список литературы"),
new Paragraph({
spacing: { before: 0, after: 100 },
children: [new TextRun({ text: "1. Нефф К. Самосострадание. О силе сочувствия к себе. — М.: МИФ, 2021.", font: "Arial", size: 20 })]
}),
new Paragraph({
spacing: { before: 0, after: 100 },
children: [new TextRun({ text: "2. Сапольски Р. Почему у зебр не бывает язвы. — М.: Альпина нон-фикшн, 2022.", font: "Arial", size: 20 })]
}),
new Paragraph({
spacing: { before: 0, after: 100 },
children: [new TextRun({ text: "3. Lazarus R.S., Folkman S. Stress, appraisal, and coping. — New York: Springer, 1984.", font: "Arial", size: 20 })]
}),
new Paragraph({
spacing: { before: 0, after: 100 },
children: [new TextRun({ text: "4. Cohen S., Kamarck T., Mermelstein R. A global measure of perceived stress. Journal of Health and Social Behavior, 24(4), 385–396. 1983.", font: "Arial", size: 20 })]
}),
new Paragraph({
spacing: { before: 0, after: 100 },
children: [new TextRun({ text: "5. Soto C.J., John O.P. The next Big Five Inventory (BFI-2). Journal of Personality and Social Psychology, 113(1), 117–143. 2017.", font: "Arial", size: 20 })]
}),
new Paragraph({
spacing: { before: 0, after: 100 },
children: [new TextRun({ text: "6. Brown B. The Power of Vulnerability [TED Talk]. TED Conferences. https://www.ted.com/talks/brene_brown_the_power_of_vulnerability", font: "Arial", size: 20 })]
}),
]
}]
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync('/home/claude/psy_conclusion.docx', buffer);
console.log('done');
});
© 2023 Quttera Ltd. All rights reserved.