<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:ns0="http://rosmintrud.ru/mse/ipra/2024-12-25"
                xmlns:mt="http://rosmintrud.ru/mse/mt/2022-10-28"
				xmlns:ut="http://rosmintrud.ru/ut/2022-07-14"
                exclude-result-prefixes="ns0 mt">
  <xsl:output method="html" encoding="UTF-8" indent="yes"/>

  <xsl:template match="/">
    <html lang="ru">
      <head>
        <title>Выписка из ИПРА</title>
        <style>
          body {
          font-family: Arial, sans-serif;
          margin: 0;
          padding: 20px;
          background-color: #f4f6f9;
          }

          .container {
          max-width: 800px;
          margin: 0 auto;
          background-color: #fff;
          padding: 20px;
          border-radius: 8px;
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
          }

          h2 {
          color: #333;
          margin-bottom: 20px;
          }

          .section {
          margin-bottom: 20px;
          border-bottom: 1px solid #eee;
          padding-bottom: 20px;
          }

          .section h3 {
          color: #555;
          margin-bottom: 10px;
          }

          .data-item {
          display: flex;
          justify-content: space-between;
          margin-bottom: 5px;
          }

          .data-item label {
          font-weight: bold;
          color: #777;
          }

          .data-item span {
          color: #333;
          }
        </style>
      </head>
      <body>
        <div class="container">
          <h2>Выписка из ИПРА</h2>
          <div class="section">
            <h3>Общие сведения</h3>
            <div class="data-item">
              <label>Тип выписки:</label>
              <span>Выписка из ИПРА для ОИВ в сфере охраны здоровья</span>
            </div>
            <div class="data-item">
              <label>Номер ИПРА:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:СведенияИПРА/ns0:НомерИПРА"/>
              </span>
            </div>
            <div class="data-item">
              <label>Номер протокола:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:СведенияИПРА/ns0:НомерППМСЭ"/>
              </span>
            </div>
            <div class="data-item">
              <label>Учреждение, сформировавшее ИПРА:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:УчреждениеМСЭ/mt:Наименование"/>
              </span>
            </div>
            <div class="data-item">
              <label>Дата вынесения решения по ИПРА:</label>
              <span>
                <xsl:variable name="date" select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:СведенияИПРА/ns0:ДатаРешения"/>
                <xsl:variable name="year" select="substring($date, 1, 4)" />
                <xsl:variable name="month" select="substring($date, 6, 2)" />
                <xsl:variable name="day" select="substring($date, 9, 2)" />
                <xsl:value-of select="concat($day, '.', $month, '.', $year)"/>
              </span>
            </div>
            <div class="data-item">
              <label>Дата протокола:</label>
              <span>
                <xsl:variable name="date" select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:СведенияИПРА/ns0:ДатаППМСЭ"/>
                <xsl:variable name="year" select="substring($date, 1, 4)" />
                <xsl:variable name="month" select="substring($date, 6, 2)" />
                <xsl:variable name="day" select="substring($date, 9, 2)" />
                <xsl:value-of select="concat($day, '.', $month, '.', $year)"/>
              </span>
            </div>
          </div>
          <div class="section">
            <h3>Сведения о гражданине</h3>
            <div class="data-item">
              <label>СНИЛС:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Гражданин/mt:СНИЛС"/>
              </span>
            </div>
            <div class="data-item">
              <label>Фамилия:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Гражданин/mt:ФИО/ut:Фамилия"/>
              </span>
            </div>
            <div class="data-item">
              <label>Имя:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Гражданин/mt:ФИО/ut:Имя"/>
              </span>
            </div>
            <div class="data-item">
              <label>Отчество (при наличии):</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Гражданин/mt:ФИО/ut:Отчество"/>
              </span>
            </div>
            <div class="data-item">
              <label>Дата рождения:</label>
              <span>
                <xsl:variable name="date" select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Гражданин/mt:ДатаРождения"/>
                <xsl:variable name="year" select="substring($date, 1, 4)" />
                <xsl:variable name="month" select="substring($date, 6, 2)" />
                <xsl:variable name="day" select="substring($date, 9, 2)" />
                <xsl:value-of select="concat($day, '.', $month, '.', $year)"/>
              </span>
            </div>
          </div>
          <div class="section">
            <h3>Инвалидность</h3>
            <div class="data-item">
              <label>Дата установления инвалидности:</label>
              <span>
                <xsl:variable name="date" select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Инвалидность/mt:ДатаУстановленияИнвалидности"/>
                <xsl:variable name="year" select="substring($date, 1, 4)" />
                <xsl:variable name="month" select="substring($date, 6, 2)" />
                <xsl:variable name="day" select="substring($date, 9, 2)" />
                <xsl:value-of select="concat($day, '.', $month, '.', $year)"/>
              </span>
            </div>
            <div class="data-item">
              <label>Дата прекращения инвалидности:</label>
              <span>
                <xsl:variable name="date" select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Инвалидность/mt:ДатаПрекращенияИнвалидности"/>
                <xsl:variable name="year" select="substring($date, 1, 4)" />
                <xsl:variable name="month" select="substring($date, 6, 2)" />
                <xsl:variable name="day" select="substring($date, 9, 2)" />
                <xsl:value-of select="concat($day, '.', $month, '.', $year)"/>
              </span>
            </div>
            <div class="data-item">
              <label>Срок инвалидности:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Инвалидность/mt:СрокИнвалидности/mt:Значение"/>
              </span>
            </div>
            <div class="data-item">
              <label>Группа инвалидности:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Инвалидность/mt:ГруппаИнвалидности/mt:Значение"/>
              </span>
            </div>
            <div class="data-item">
              <label>Причина инвалидности: </label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Инвалидность/mt:ПричинаИнвалидности/mt:Значение"/>
              </span>
            </div>
            <div class="data-item">
              <label>Дата очередного освидетельствования: </label>
              <span>
                <xsl:variable name="date" select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Инвалидность/mt:ДатаОчередногоОсвидетельствования"/>
                <xsl:variable name="year" select="substring($date, 1, 4)" />
                <xsl:variable name="month" select="substring($date, 6, 2)" />
                <xsl:variable name="day" select="substring($date, 9, 2)" />
                <xsl:value-of select="concat($day, '.', $month, '.', $year)"/>
              </span>
            </div>
            <xsl:for-each select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:ЦРГ">
              <div class="data-item">
                <label>ЦРГ: </label>
                <span>
                  <xsl:value-of select="mt:Значение"/>
                </span>
              </div>
            </xsl:for-each>
            <div class="data-item">
              <label>Потенциал:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Потенциал/mt:Значение"/>
              </span>
            </div>
            <div class="data-item">
              <label>Прогноз:</label>
              <span>
                <xsl:value-of select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Прогноз/mt:Значение"/>
              </span>
            </div>
          </div>
          <div class="section">
            <h3>Показания:</h3>
            <table border="1" cellpadding="5" cellspacing="0">
              <thead>
                <tr>
                  <th>№ п/п</th>
                  <th>Значение</th>
                  <th>Степень</th>
                </tr>
              </thead>
              <tbody>
                <xsl:for-each select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Показания/ns0:Показание">
                  <tr>
                    <td>
                      <xsl:value-of select="position()"/>
                    </td>
                    <td>
                      <xsl:value-of select="mt:Ограничение/mt:Значение"/>
                    </td>
                    <td>
                      <xsl:value-of select="mt:Степень/mt:Значение"/>
                    </td>
                  </tr>
                </xsl:for-each>
              </tbody>
            </table>
          </div>
          <div class="section">
            <h3>Мероприятия</h3>
            <div class="data-item">
              <label>Медицинская реабилитация:</label>
            </div>
            <table border="1" cellpadding="5" cellspacing="0">
              <thead>
                <tr>
                  <th rowspan="2">№ п/п</th>
                  <th rowspan="2">Мероприятие</th>
                  <th rowspan="2">Исполнитель</th>
                  <th rowspan="2">Нуждаемость по функциям</th>
                  <th colspan="2">Нуждаемость по способности</th>
                </tr>
                <tr>
                  <th>Значение</th>
                  <th>Нуждаемость</th>
                </tr>
              </thead>
              <tbody>
                <xsl:for-each select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:Мероприятия/ns0:Мероприятие">
                  <xsl:variable name="countNeed" select="count(ns0:НуждаемостьПоСпособности)"/>
                  <xsl:choose>
                    <xsl:when test="$countNeed &gt; 1">
                      <tr>
                        <td>
                          <xsl:value-of select="position()"/>
                        </td>
                        <td>
                          <xsl:value-of select="mt:Подтип/mt:Значение"/>
                        </td>
                        <td>
                          <xsl:value-of select="mt:Исполнитель/mt:Наименование"/>
                        </td>
                        <td>
                          <xsl:choose>
                            <xsl:when test="ns0:НуждаемостьПоФункциям = '1'">полностью</xsl:when>
                            <xsl:when test="ns0:НуждаемостьПоФункциям = '2'">частично</xsl:when>
                            <xsl:otherwise>неизвестно</xsl:otherwise>
                          </xsl:choose>
                        </td>
                        <td>
                          <xsl:value-of select="ns0:НуждаемостьПоСпособности[1]/ns0:Тип/mt:Значение"/>
                        </td>
                        <td>
                          <xsl:choose>
                            <xsl:when test="ns0:НуждаемостьПоСпособности[1]/ns0:Нуждаемость = '1'">полностью</xsl:when>
                            <xsl:when test="ns0:НуждаемостьПоСпособности[1]/ns0:Нуждаемость = '2'">частично</xsl:when>
                            <xsl:otherwise>неизвестно</xsl:otherwise>
                          </xsl:choose>
                        </td>
                      </tr>
                      <xsl:for-each select="ns0:НуждаемостьПоСпособности[position() &gt; 1]">
                        <tr>
                          <td></td>
                          <td></td>
                          <td></td>
                          <td></td>
                          <td>
                            <xsl:value-of select="ns0:Тип/mt:Значение"/>
                          </td>
                          <td>
                            <xsl:choose>
                              <xsl:when test="ns0:Нуждаемость = '1'">полностью</xsl:when>
                              <xsl:when test="ns0:Нуждаемость = '2'">частично</xsl:when>
                              <xsl:otherwise>неизвестно</xsl:otherwise>
                            </xsl:choose>
                          </td>
                        </tr>
                      </xsl:for-each>
                    </xsl:when>
                    <xsl:when test="$countNeed = 1">
                      <tr>
                        <td>
                          <xsl:value-of select="position()"/>
                        </td>
                        <td>
                          <xsl:value-of select="mt:Подтип/mt:Значение"/>
                        </td>
                        <td>
                          <xsl:value-of select="mt:Исполнитель/mt:Наименование"/>
                        </td>
                        <td>
                          <xsl:choose>
                            <xsl:when test="ns0:НуждаемостьПоФункциям = '1'">полностью</xsl:when>
                            <xsl:when test="ns0:НуждаемостьПоФункциям = '2'">частично</xsl:when>
                            <xsl:otherwise>неизвестно</xsl:otherwise>
                          </xsl:choose>
                        </td>
                        <td>
                          <xsl:value-of select="ns0:НуждаемостьПоСпособности/ns0:Тип/mt:Значение"/>
                        </td>
                        <td>
                          <xsl:choose>
                            <xsl:when test="ns0:НуждаемостьПоСпособности/ns0:Нуждаемость = '1'">полностью</xsl:when>
                            <xsl:when test="ns0:НуждаемостьПоСпособности/ns0:Нуждаемость = '2'">частично</xsl:when>
                            <xsl:otherwise>неизвестно</xsl:otherwise>
                          </xsl:choose>
                        </td>
                      </tr>
                    </xsl:when>
                    <xsl:otherwise>
                      <tr>
                        <td>
                          <xsl:value-of select="position()"/>
                        </td>
                        <td>
                          <xsl:value-of select="mt:Подтип/mt:Значение"/>
                        </td>
                        <td>
                          <xsl:value-of select="mt:Исполнитель/mt:Наименование"/>
                        </td>
                        <td>
                          <xsl:choose>
                            <xsl:when test="ns0:НуждаемостьПоФункциям = '1'">полностью</xsl:when>
                            <xsl:when test="ns0:НуждаемостьПоФункциям = '2'">частично</xsl:when>
                            <xsl:otherwise>неизвестно</xsl:otherwise>
                          </xsl:choose>
                        </td>
                        <td></td>
                        <td></td>
                      </tr>
                    </xsl:otherwise>
                  </xsl:choose>
                </xsl:for-each>
              </tbody>
            </table>
          </div>
          <div class="section">
            <div class="item">
              <h3>Прогнозируемый результат:</h3>
            </div>
            <table border="1" cellpadding="5" cellspacing="0">
              <thead>
                <tr>
                  <th>№ п/п</th>
                  <th>Значение</th>
                  <th>Степень достижения</th>
                  <th>Тип достижения</th>
                </tr>
              </thead>
              <tbody>
                <xsl:for-each select="/ns0:ЭДМСЭ/ns0:ИПРА/ns0:ПрогнозируемыйРезультат">
                  <tr>
                    <td>
                      <xsl:value-of select="position()"/>
                    </td>
                    <td>
                      <xsl:value-of select="ns0:Прогноз/mt:Значение"/>
                    </td>
                    <td>
                      <xsl:choose>
                        <xsl:when test="ns0:СтепеньДостижения = '1'">полностью</xsl:when>
                        <xsl:when test="ns0:СтепеньДостижения = '2'">частично</xsl:when>
                        <xsl:otherwise>неизвестно</xsl:otherwise>
                      </xsl:choose>
                    </td>
                    <td>
                      <xsl:choose>
                        <xsl:when test="ns0:ТипДостижения = '1'">восстановление</xsl:when>
                        <xsl:when test="ns0:ТипДостижения = '2'">формирование</xsl:when>
                        <xsl:otherwise>неизвестно</xsl:otherwise>
                      </xsl:choose>
                    </td>
                  </tr>
                </xsl:for-each>
              </tbody>
            </table>
          </div>
          <div class="section">
            <h3>Исполнение ИПРА</h3>
            <div>
              <span>~Данных нет</span>
            </div>
          </div>
        </div>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>