141
All checks were successful
Build And Push / publish (push) Successful in 1m21s

This commit is contained in:
2025-12-02 16:25:34 +03:00
parent 187396c003
commit 2333301225

View File

@ -21,7 +21,7 @@
<!-- Файл для трансформации XML->HTML->PDF при помощи библиотек iText Core, iText XMLWorker или аналогичных
Данный файл должен использоваться только для трансформации документа СЭМД (141) Льготный рецепт на лекарственный препарат, изделие медицинского назначения и специализированный продукт лечебного питания (CDA) Редакция 4, v1.7
Разработан по заказу Минздрава РФ компанией ООО "Цифромед" 20.02.2024
Замечания по данному файлу можно направить на почту egisz@stp-egisz.ru
Замечания по данному файлу можно направить на почту egisz@stp-egisz.ru
Тема сообщения: замечания и вопросы по файлам визуализации -->
<head>
<style>
@ -32,40 +32,40 @@
margin-left: 10pt;
margin-right: 20pt;
}
table {
table-layout: fixed;
width: 98%;
border-collapse: collapse;
font-family: Arial, sans-serif;
word-wrap: break-word;
margin-top: 0;
margin-bottom: 10pt;
margin-left: 20pt;
}
td {
vertical-align: top;
padding: 2;
}
.table-break {
margin-left: 0;
border-collapse: collapse;
}
.param {
font-size: 15px;
border: 1pt solid gray;
word-wrap: none;
}
.created {
vertical-align: middle;
}
.medorg {
text-align: left;
font-size: 15px;
@ -75,7 +75,7 @@
margin-bottom: 5pt;
white-space: normal;
}
.address {
text-align: left;
font-size: 15px;
@ -85,7 +85,7 @@
margin-bottom: 5pt;
white-space: normal;
}
.emd {
text-align: center;
font-size: 18px;
@ -95,7 +95,7 @@
margin-bottom: 25pt;
white-space: normal;
}
.date {
text-align: center;
font-size: 15px;
@ -105,7 +105,7 @@
margin-bottom: 5pt;
white-space: normal;
}
.tablegray {
text-align: left;
font-size: 15px;
@ -114,7 +114,7 @@
margin-top: 5pt;
margin-bottom: 5pt;
}
.tablegrayhead {
text-align: left;
font-size: 15px;
@ -123,7 +123,7 @@
margin-top: 5pt;
margin-bottom: 5pt;
}
.tableblack {
text-align: left;
font-size: 15px;
@ -133,7 +133,7 @@
margin-bottom: 3pt;
white-space: normal;
}
.tableresult {
text-align: left;
font-size: 15px;
@ -153,8 +153,8 @@
margin-bottom: 2pt;
white-space: normal;
}
.tableresultscore {
text-align: left;
font-size: 15px;
@ -164,7 +164,7 @@
margin-bottom: 5pt;
white-space: normal;
}
.createdate {
text-align: right;
font-size: 15px;
@ -172,7 +172,7 @@
color: #aaaaaa;
margin-right: 10pt;
}
.pagenumber {
text-align: center;
valign: center;
@ -181,29 +181,29 @@
color: #aaaaaa;
margin-right: 10pt;
}
h2+p {
page-break-inside: avoid;
}
th {
text-align: left;
font-size: 15px;
padding: 5pt;
background-color: #D9D9D6;
}
.first-block-form {
margin-top: -10pt;
}
.block-form {
border-collapse: collapse;
margin-top: 0;
margin-bottom: 0;
border-bottom: 1pt solid #e0e0e0;
}
.end-block-form {
}
</style>
@ -267,7 +267,7 @@
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:choose>
<xsl:choose>
<xsl:when test="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/n1:providerOrganization/n1:id[2][not(@nullFlavor)]">
<br/><xsl:text>Лицензия на осуществление медицинской деятельности: </xsl:text>
@ -305,7 +305,7 @@
</xsl:when>
</xsl:choose>
</table>
<table class="block-form">
<table class="block-form">
<tr>
<td colspan="8">
<h1 class="emd">
@ -325,7 +325,7 @@
</b>
</h1>
</td>
</tr>
</tr>
<tr>
<td colspan="4">
<h2 class="tablegray">
@ -362,7 +362,7 @@
</xsl:call-template>
<xsl:text>)</xsl:text>
</xsl:when>
</xsl:choose>
</xsl:choose>
</xsl:when>
</xsl:choose>
</p>
@ -510,7 +510,7 @@
<xsl:with-param name="newdate" select="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/identity:IdentityDoc/identity:IssueDate/@value"/>
</xsl:call-template>
<xsl:choose>
<xsl:when test="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/identity:IdentityDoc/identity:IssueOrgName[not(@nullFlavor)]">
<xsl:when test="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/identity:IdentityDoc/identity:IssueOrgName[not(@nullFlavor)]">
<xsl:text> выдан </xsl:text>
<xsl:value-of select="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/identity:IdentityDoc/identity:IssueOrgName"/>
</xsl:when>
@ -522,15 +522,15 @@
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:choose>
</p>
</td>
</tr>
</xsl:when>
</xsl:choose>
</xsl:choose>
<xsl:choose>
<xsl:when test="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/n1:telecom[not(@nullFlavor)]">
<tr>
<tr>
<td colspan="8">
<p class="tableblack">
<xsl:for-each select="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/n1:telecom">
@ -756,7 +756,7 @@
</tr>
<xsl:choose>
<xsl:when test="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/n1:patient/n1:guardian/n1:telecom[not(@nullFlavor)]">
<tr>
<tr>
<td colspan="8">
<p class="tableblack">
<xsl:for-each select="/n1:ClinicalDocument/n1:recordTarget/n1:patientRole/n1:patient/n1:guardian/n1:telecom">
@ -770,7 +770,7 @@
</tr>
</xsl:when>
</xsl:choose>
</table>
</table>
</xsl:when>
</xsl:choose>
<table class="block-form">
@ -787,7 +787,7 @@
</td>
</tr>
</xsl:when>
</xsl:choose>
</xsl:choose>
<tr>
<td colspan="4">
<h2 class="tablegray">
@ -940,7 +940,7 @@
<xsl:otherwise>
<xsl:value-of select="./n1:product/n1:manufacturedProduct/n1:manufacturedMaterial/n1:code/@displayName"/>
</xsl:otherwise>
</xsl:choose>
</xsl:choose>
</p>
<xsl:choose>
<xsl:when test="./n1:text">
@ -948,7 +948,7 @@
<xsl:value-of select="./n1:text"/>
</p>
</xsl:when>
</xsl:choose>
</xsl:choose>
</td>
<td class="param">
<p class="tableresult">
@ -956,10 +956,10 @@
<xsl:text> </xsl:text>
<xsl:value-of select="./n1:quantity/n1:translation/@displayName"/>
</p>
</td>
</td>
</tr>
</xsl:for-each>
</table>
</table>
</p>
</xsl:if>
<xsl:if test="/n1:ClinicalDocument/n1:component/n1:structuredBody/n1:component/n1:section[n1:code/@code='RECIPE']/n1:entry/n1:substanceAdministration">
@ -992,7 +992,7 @@
<xsl:value-of select="./n1:text"/>
</p>
</xsl:when>
</xsl:choose>
</xsl:choose>
</td>
<td class="param">
<p class="tableresult">
@ -1075,24 +1075,24 @@
</xsl:when>
</xsl:choose>
<br/>
</xsl:for-each>
</xsl:for-each>
</p>
</td>
<td class="param">
<xsl:for-each select="./n1:precondition/n1:criterion[n1:code/@code='ASSERTION']">
<p class="tableresult">
<xsl:value-of select="./n1:value"/>
<xsl:value-of select="./n1:value"/>
</p>
</xsl:for-each>
</td>
<td class="param">
<p class="tableresult">
<xsl:value-of select="./n1:entryRelationship/n1:observation[n1:code/@code='6011']/n1:value/n1:translation/@value"/>
<xsl:value-of select="./n1:entryRelationship/n1:observation[n1:code/@code='6011']/n1:value/n1:translation/@value"/>
</p>
</td>
</tr>
</xsl:for-each>
</table>
</table>
</p>
</xsl:when>
<xsl:otherwise>
@ -1205,20 +1205,20 @@
</xsl:when>
</xsl:choose>
<br/>
</xsl:for-each>
</xsl:for-each>
</p>
</td>
<td class="param">
<p class="tableresult">
<xsl:value-of select="./n1:entryRelationship/n1:observation[n1:code/@code='6011']/n1:value/n1:translation/@value"/>
<xsl:value-of select="./n1:entryRelationship/n1:observation[n1:code/@code='6011']/n1:value/n1:translation/@value"/>
</p>
</td>
</tr>
</xsl:for-each>
</table>
</table>
</p>
</xsl:otherwise>
</xsl:choose>
</xsl:choose>
</xsl:if>
</td>
</tr>
@ -1226,13 +1226,13 @@
<xsl:choose>
<xsl:when test="/n1:ClinicalDocument/n1:component/n1:structuredBody/n1:component/n1:section[n1:code/@code='LINKDOCS']">
<table class="block-form">
<tr>
<tr>
<td colspan="8">
<h2 class="tablegrayhead">
<xsl:text>Связанные документы</xsl:text>
</h2>
<xsl:for-each select="/n1:ClinicalDocument/n1:component/n1:structuredBody/n1:component/n1:section[n1:code/@code='LINKDOCS']/n1:entry/n1:act">
<tr>
<tr>
<td colspan="8">
<h2 class="tablegray">
<xsl:value-of select="./n1:code/@displayName"/>
@ -1261,13 +1261,13 @@
<p class="tableblack">
<xsl:value-of select="./n1:text"/>
</p>
</td>
</td>
</tr>
</xsl:for-each>
</td>
</tr>
</table>
</xsl:when>
</td>
</tr>
</table>
</xsl:when>
</xsl:choose>
<table class="end-block-form">
<tr>
@ -1312,12 +1312,12 @@
</xsl:when>
</xsl:choose>
</p>
</td>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:template>
<xsl:template name="getR">
<xsl:param name="templateId"/>
<xsl:variable name="templateIdLength" select="string-length($templateId)"/>
@ -1730,7 +1730,7 @@
<xsl:for-each select="$contact[position()>1]">
<xsl:text>; </xsl:text>
<xsl:value-of select="substring-after($contact[position()>1], ':')"/>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:when test="substring($contact,1,7)='mailto:'">
<xsl:text>E-mail: </xsl:text>
@ -1738,7 +1738,7 @@
<xsl:for-each select="$contact[position()>1]">
<xsl:text>; </xsl:text>
<xsl:value-of select="substring-after($contact[position()>1], ':')"/>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:when test="substring($contact,1,5)='http:'">
<xsl:text>Сайт: </xsl:text>
@ -1746,7 +1746,7 @@
<xsl:for-each select="$contact[position()>1]">
<xsl:text>; </xsl:text>
<xsl:value-of select="substring-after($contact[position()>1], ':')"/>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:when test="substring($contact,1,4)='fax:'">
<xsl:text>Факс: </xsl:text>
@ -1754,7 +1754,7 @@
<xsl:for-each select="$contact[position()>1]">
<xsl:text>; </xsl:text>
<xsl:value-of select="substring-after($contact[position()>1], ':')"/>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:template>
@ -1773,7 +1773,7 @@
<xsl:otherwise>
<xsl:text>Номер медицинской карты: </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:choose>
</xsl:template>
<xsl:template name="formatNullFlavor">
<xsl:param name="nullflavor"/>
@ -1823,7 +1823,7 @@
<xsl:when test="$nullflavor='QS'">
<xsl:text>Достаточное количество</xsl:text>
</xsl:when>
</xsl:choose>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
@ -1831,4 +1831,4 @@
v1.6: Изменен блок style и getAges
v1.7: Скорректирован блок "Наименование изделия" и "Назначено" секции "Рецепт" для отображения text при его наличии -->
v1.7: Скорректирован блок "Наименование изделия" и "Назначено" секции "Рецепт" для отображения text при его наличии -->