SPPMC04200_진료의뢰서내역입력.xrw 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPPMC04200_진료의뢰서내역입력.xrw
  4. * 설 명 : 진료의뢰서내역
  5. * 설 계 자 :
  6. * 작 성 자 :
  7. * 작 성 일 :
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>진료의뢰서환자입력</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <h_cnst>
  20. <cnst/>
  21. </h_cnst>
  22. </main>
  23. <send>
  24. <updatedata>
  25. <datalist/>
  26. </updatedata>
  27. <rcv/>
  28. </send>
  29. <init>
  30. <orddeptcd>
  31. <orddeptcdlist>
  32. <cd/>
  33. <nm/>
  34. <deptengabbr/>
  35. </orddeptcdlist>
  36. </orddeptcd>
  37. </init>
  38. <init_com>
  39. <P0310list>
  40. <P0310>
  41. <cdnm/>
  42. <cdid/>
  43. </P0310>
  44. </P0310list>
  45. </init_com>
  46. <hidden>
  47. <session/>
  48. <h_cnst/>
  49. <select_cnst>
  50. <cnst/>
  51. </select_cnst>
  52. <rsv/>
  53. </hidden>
  54. <cnst_input>
  55. <cnst_pid/>
  56. <cnst_orddeptcd/>
  57. <cnst_insuflag/>
  58. <cnst_ordreqkind/>
  59. <cnst_reqformhospnm/>
  60. <cnst_reqformdrnm/>
  61. <cnst_remfact/>
  62. <cnst_todd/>
  63. <cnst_fromdd/>
  64. <cnst_histstat/>
  65. <cnst_seqno/>
  66. </cnst_input>
  67. </root>
  68. </instance>
  69. <script type="javascript" ev:event="xforms-ready">
  70. <![CDATA[
  71. fGetUserInfosSampling();
  72. //공통코드
  73. zbcfGetCodeList( new Array("P0310"),
  74. new Array("/root/init_com/P0310list" //진료의뢰서종류
  75. ) );
  76. //진료과코드 진료의사ID 조회
  77. pamGetDeptCDDrIDList();
  78. //SPPMC04100_PARM : pid▦insukind▦strSend▦strRcv▦
  79. //환자번호가 넘어오면, 해당환자의 진료의뢰서내역 조회
  80. //환자번호가 넘어오지 않으면, 환자번호가 없는 신규환자이다.
  81. if (checkOpener())
  82. {
  83. opener.javascript.setParameter("SPPMC04100_RTN","");
  84. var SPPMC04100_PARM = opener.javascript.getParameter("SPPMC04100_PARM");
  85. var array_parm = SPPMC04100_PARM.split("▦");
  86. gPID = array_parm[0];
  87. strSend = array_parm[1];
  88. strRcv = array_parm[2];
  89. var SPPMC04100_PARM1 = opener.javascript.getParameter("SPPMC04100_PARM1");
  90. var array_parm1 = SPPMC04100_PARM1.split("▦");
  91. sOrdDeptCD = array_parm1[0];
  92. sOrdReqKind = array_parm1[1];
  93. sInsuFlag = array_parm1[2];
  94. etcOrdFlag = array_parm1[3];
  95. if( etcOrdFlag == 'H' ){
  96. // model.setValue("/root/main/h_cnst/cnst/cnst_ordreqkind", '3'); //의뢰
  97. sOrdReqKind = "3";
  98. }else if( sOrdReqKind == '3' ){
  99. // model.setValue("/root/main/h_cnst/cnst/cnst_ordreqkind", '1'); //진료의뢰서
  100. sOrdReqKind = "1";
  101. }
  102. if( sInsuFlag == '11' || sInsuFlag == '21' || sInsuFlag == '22'){
  103. // model.setValue("/root/main/h_cnst/cnst/cnst_insuflag", sInsuFlag.substr(0,1));
  104. sInsuFlag = sInsuFlag.substr(0,1);
  105. }
  106. opener.javascript.setParameter("SPPMC04100_PARM","");
  107. opener.javascript.setParameter("SPPMC04100_PARM1","");
  108. model.setValue("/root/cnst_input/cnst_pid", gPID);
  109. model.setValue("/root/cnst_input/cnst_orddeptcd", sOrdDeptCD);
  110. model.setValue("/root/cnst_input/cnst_insuflag", sInsuFlag);
  111. model.setValue("/root/cnst_input/cnst_ordreqkind", sOrdReqKind);
  112. model.setValue("/root/cnst_input/cnst_todd", "99991231");
  113. model.setValue("/root/cnst_input/cnst_histstat", "Y");
  114. model.setValue("/root/cnst_input/cnst_fromdd", getCurrentDate());
  115. model.setValue("/root/cnst_input/cnst_seqno", "0");
  116. model.setValue("/root/cnst_input/cnst_reqformhospnm", "-");
  117. model.setValue("/root/cnst_input/cnst_reqformdrnm", "-");
  118. //model.refresh();
  119. sSearch();
  120. }
  121. model.refresh();
  122. ]]>
  123. </script>
  124. <submission id="TRPAMCOM01" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/session" replace="instance" resultref="/root/init"/>
  125. <submission id="TRPAM00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/tmp"/>
  126. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  127. <submission id="TRPAO04201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/cnst_input" resultref="/root/main"/>
  128. <submission id="TXPAO04202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/cnst_input" resultref="/root/hidden/rsv"/>
  129. </model>
  130. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  131. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  132. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  133. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  134. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  135. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  136. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  137. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  138. <script type="javascript" src="../../../pam/opatmngtweb/js/PMOCOM.js"/>
  139. <script type="javascript">
  140. <![CDATA[
  141. var gPID, strSend, strRcv, sOrdDeptCD, sOrdReqKind, sInsuFlag, etcOrdFlag;
  142. function sDefault() {
  143. var pid = model.getValue("/root/cnst_input/cnst_pid");
  144. model.resetInstanceNode("/root/cnst_input");
  145. model.setValue("/root/cnst_input/cnst_pid", pid);
  146. model.setValue("/root/cnst_input/cnst_todd", "99991231");
  147. model.setValue("/root/cnst_input/cnst_histstat", "Y");
  148. model.setValue("/root/cnst_input/cnst_fromdd", getCurrentDate());
  149. model.setValue("/root/cnst_input/cnst_seqno", "0");
  150. model.setValue("/root/cnst_input/cnst_reqformhospnm", "-");
  151. model.setValue("/root/cnst_input/cnst_reqformdrnm", "-");
  152. model.refresh();
  153. }
  154. function sSearch() {
  155. submit("TRPAO04201");
  156. }
  157. function sDelete() {
  158. if (model.getValue("/root/cnst_input/cnst_pid") == "") {
  159. messageBox("환자번호가 없습니다. 창을 닫은 후 다시 실행하십시오.", "I999", "");
  160. return;
  161. }
  162. if (model.getValue("/root/cnst_input/cnst_orddeptcd") == "") {
  163. messageBox("진료과가 없습니다. 진료과를 선택하십시오.", "I999", "");
  164. return;
  165. }
  166. if (model.getValue("/root/cnst_input/cnst_insuflag") == "") {
  167. messageBox("보험종류가 없습니다. 보험종류를 선택하십시오.", "I999", "");
  168. return;
  169. }
  170. if (model.getValue("/root/cnst_input/cnst_seqno") == "0") {
  171. messageBox("삭제할 의뢰서 내역을 선택하십시오.", "I999", "");
  172. return;
  173. }
  174. var rtn = messageBox("[" + model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + model.getValue("/root/cnst_input/cnst_orddeptcd") + "' ]/nm") + "]의 의뢰서를 삭제하시겠습니까?", "Q999");
  175. if(rtn == "7"){ //아니오
  176. return;
  177. }
  178. model.makeValue("/root/cnst_input/cnst_statflag", "D");
  179. submit("TXPAO04202");
  180. sSearch();
  181. grd_ordreqfrm.rebuild();
  182. sDefault();
  183. model.setFocus("btn_confirm");
  184. }
  185. function sSave(flag) {
  186. if (model.getValue("/root/cnst_input/cnst_pid") == "") {
  187. messageBox("환자번호가 없습니다. 창을 닫은 후 다시 실행하십시오.", "I999", "");
  188. return;
  189. }
  190. if (model.getValue("/root/cnst_input/cnst_orddeptcd") == "") {
  191. messageBox("진료과가 없습니다. 진료과를 선택하십시오.", "I999", "");
  192. return;
  193. }
  194. if (model.getValue("/root/cnst_input/cnst_insuflag") == "") {
  195. messageBox("보험종류가 없습니다. 보험종류를 선택하십시오.", "I999", "");
  196. return;
  197. }
  198. if (model.getValue("/root/cnst_input/cnst_ordreqkind") == "") {
  199. messageBox("의뢰서종류가 없습니다. 의뢰서종류를 선택하십시오.", "I999", "");
  200. return;
  201. }
  202. var sCount = getNodesetCount("/root/main/h_cnst/cnst");
  203. model.makeValue("/root/cnst_input/cnst_statflag", "I");
  204. for( var i = 1; i <= sCount; i++ ){
  205. if(model.getValue("/root/main/h_cnst/cnst[" + i + "]/cnst_orddeptcd") == model.getValue("/root/cnst_input/cnst_orddeptcd")){
  206. if(model.getValue("/root/main/h_cnst/cnst[" + i + "]/cnst_insuflag") == model.getValue("/root/cnst_input/cnst_insuflag")){
  207. var rtn = messageBox("[" + model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + model.getValue("/root/cnst_input/cnst_orddeptcd") + "' ]/nm") + "]로 등록된 진료의뢰서가 있습니다. 수정하시겠습니까?", "Q999");
  208. if(rtn == "7"){ //아니오
  209. return;
  210. }
  211. model.setValue("/root/cnst_input/cnst_statflag", "U");
  212. }
  213. }
  214. }
  215. if (model.getValue("/root/cnst_input/cnst_statflag") == "I") {
  216. var rtn = messageBox("[" + model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + model.getValue("/root/cnst_input/cnst_orddeptcd") + "' ]/nm") + "]의 의뢰서를 등록하시겠습니까?", "Q999");
  217. if(rtn == "7"){ //아니오
  218. return;
  219. }
  220. model.setValue("/root/cnst_input/cnst_todd", "99991231");
  221. model.setValue("/root/cnst_input/cnst_histstat", "Y");
  222. model.setValue("/root/cnst_input/cnst_fromdd", getCurrentDate());
  223. }
  224. // if (model.getValue("/root/cnst_input/cnst_seqno") == "0") {
  225. // model.makeValue("/root/cnst_input/cnst_statflag", "I");
  226. //
  227. // var rtn = messageBox("["+model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + model.getValue("/root/cnst_input/cnst_orddeptcd") + "' ]/nm") + "] 의뢰서를 저장 하시겠습니까? ", "Q999");
  228. // if(rtn == "7"){ //아니오
  229. // return;
  230. // }
  231. // } else {
  232. // model.makeValue("/root/cnst_input/cnst_statflag", "U");
  233. // var rtn = messageBox("["+model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + model.getValue("/root/cnst_input/cnst_orddeptcd") + "' ]/nm") + "] 의뢰서를 [수정] 하시겠습니까? ", "Q999");
  234. // if(rtn == "7"){ //아니오
  235. // return;
  236. // }
  237. // }
  238. submit("TXPAO04202");
  239. sSearch();
  240. grd_ordreqfrm.rebuild();
  241. sDefault();
  242. model.setFocus("btn_confirm");
  243. }
  244. ]]>
  245. </script>
  246. </xhtml:head>
  247. <xhtml:body pagewidth="710" pageheight="400" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  248. <group id="group3" scroll="auto" style="left:0px; top:0px; width:685px; height:365px; ">
  249. <line id="line3" class="line_2" style="x1:0px; y1:52px; x2:685px; y2:52px; "/>
  250. <datagrid id="grd_ordreqfrm" nodeset="/root/main/h_cnst/cnst" caption="상태^등록번호^진료과^보험종류^의뢰서종류^종료일자^일련번호^기관코드^이력상태^등록일자^의뢰병원명^의뢰의사명^참고사항^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시" colsep="^" colwidth="46, 66, 112, 56, 85, 85, 64, 68, 62, 76, 120, 80, 200, 100, 100, 100, 100" dataheight="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:87px; width:685px; height:277px; ">
  251. <col ref="cnst_stat" visibility="hidden"/>
  252. <col ref="cnst_pid" visibility="hidden"/>
  253. <col disabled="true" ref="cnst_orddeptcd" type="combo" visibility="visible">
  254. <choices>
  255. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  256. <label ref="nm"/>
  257. <value ref="cd"/>
  258. </itemset>
  259. </choices>
  260. </col>
  261. <col disabled="true" ref="cnst_insuflag" type="combo" visibility="visible" style="text-align:center; ">
  262. <choices>
  263. <item>
  264. <label>보험</label>
  265. <value>1</value>
  266. </item>
  267. <item>
  268. <label>보호</label>
  269. <value>2</value>
  270. </item>
  271. </choices>
  272. </col>
  273. <col disabled="true" ref="cnst_ordreqkind" type="combo" visibility="visible">
  274. <choices>
  275. <itemset nodeset="/root/init_com/P0310list/P0310">
  276. <label ref="cdnm"/>
  277. <value ref="cdid"/>
  278. </itemset>
  279. </choices>
  280. </col>
  281. <col ref="cnst_todd" type="output" visibility="hidden" format="yyyy-mm-dd"/>
  282. <col ref="cnst_seqno" visibility="hidden"/>
  283. <col ref="cnst_instcd" visibility="hidden"/>
  284. <col ref="cnst_histstat" visibility="hidden"/>
  285. <col ref="cnst_fromdd" type="output" visibility="visible" format="yyyy-mm-dd" style="text-align:center; "/>
  286. <col ref="cnst_reqformhospnm" type="input" visibility="visible"/>
  287. <col ref="cnst_reqformdrnm" type="input" visibility="visible"/>
  288. <col ref="cnst_remfact" type="input" visibility="visible"/>
  289. <col ref="cnst_fstrgstrid"/>
  290. <col ref="cnst_fstrgstdt" format="yyyy-mm-dd hh:nn"/>
  291. <col ref="cnst_lastupdtrid" visibility="hidden"/>
  292. <col ref="cnst_lastupdtdt" visibility="hidden"/>
  293. <script type="javascript" ev:event="onclick">
  294. <![CDATA[
  295. if (isDataCell() == true) {
  296. var srow = grd_ordreqfrm.row;
  297. if (srow <= 0 ) {
  298. srow = 1;
  299. }
  300. model.copyNode("/root/cnst_input", "/root/main/h_cnst/cnst["+ srow +"]");
  301. model.refresh();
  302. }
  303. ]]>
  304. </script>
  305. </datagrid>
  306. <line id="line1" class="line_1" style="x1:0px; y1:82px; x2:685px; y2:82px; "/>
  307. <caption id="caption1" class="tit_2" style="left:5px; top:10px; width:135px; height:13px; ">진료의뢰서 내역</caption>
  308. <button id="btn_addrow" class="btn2_letter4" style="left:620px; top:5px; width:64px; height:19px; ">
  309. <caption>새로입력</caption>
  310. <script type="javascript" ev:event="DOMActivate">
  311. <![CDATA[
  312. sDefault();
  313. ]]>
  314. </script>
  315. </button>
  316. <select1 id="cmb_orddeptcd" ref="/root/cnst_input/cnst_orddeptcd" class="combo_default" navindex="1" appearance="minimal" style="left:228px; top:31px; width:125px; height:19px; ">
  317. <choices>
  318. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  319. <label ref="nm"/>
  320. <value ref="cd"/>
  321. </itemset>
  322. </choices>
  323. <script type="javascript" ev:event="xforms-value-changed">
  324. <![CDATA[
  325. ]]>
  326. </script>
  327. </select1>
  328. <caption id="caption4" class="cell_1" style="left:160px; top:30px; width:65px; height:23px; vertical-align:middle; ">진료과</caption>
  329. <caption id="caption13" class="cell_1" style="left:0px; top:30px; width:70px; height:23px; vertical-align:middle; ">환자번호</caption>
  330. <line id="line2" class="line_1" style="x1:0px; y1:25px; x2:685px; y2:25px; "/>
  331. <caption id="caption3" class="cell_1" style="left:0px; top:54px; width:70px; height:23px; vertical-align:middle; ">의뢰병원명</caption>
  332. <caption id="caption6" class="cell_1" style="left:228px; top:54px; width:72px; height:23px; vertical-align:middle; ">의뢰의사명</caption>
  333. <input id="ipt_pid" ref="/root/cnst_input/cnst_pid" disabled="true" style="left:73px; top:31px; width:83px; height:19px; "/>
  334. <caption id="caption2" class="cell_1" style="left:357px; top:30px; width:58px; height:23px; vertical-align:middle; ">보험종류</caption>
  335. <select1 id="combo1" ref="/root/cnst_input/cnst_insuflag" class="combo_default" navindex="2" appearance="minimal" style="left:418px; top:31px; width:85px; height:19px; ">
  336. <choices>
  337. <item>
  338. <label>건강보험</label>
  339. <value>1</value>
  340. </item>
  341. <item>
  342. <label>의료급여</label>
  343. <value>2</value>
  344. </item>
  345. </choices>
  346. </select1>
  347. <select1 id="combo2" ref="/root/cnst_input/cnst_ordreqkind" class="combo_default" navindex="3" appearance="minimal" style="left:581px; top:31px; width:104px; height:19px; ">
  348. <choices>
  349. <itemset nodeset="/root/init_com/P0310list/P0310">
  350. <label ref="cdnm"/>
  351. <value ref="cdid"/>
  352. </itemset>
  353. </choices>
  354. </select1>
  355. <caption id="caption5" class="cell_1" style="left:507px; top:30px; width:71px; height:23px; vertical-align:middle; ">의뢰서종류</caption>
  356. <input id="input1" ref="/root/cnst_input/cnst_reqformhospnm" navindex="4" style="left:73px; top:56px; width:151px; height:19px; "/>
  357. <caption id="caption7" class="cell_1" style="left:396px; top:54px; width:58px; height:23px; vertical-align:middle; ">참고사항</caption>
  358. <input id="input2" ref="/root/cnst_input/cnst_reqformdrnm" navindex="5" style="left:303px; top:56px; width:89px; height:19px; "/>
  359. <input id="input3" ref="/root/cnst_input/cnst_remfact" navindex="6" style="left:457px; top:56px; width:228px; height:19px; "/>
  360. <line id="line4" class="line_3" style="x1:0px; y1:77px; x2:685px; y2:77px; "/>
  361. </group>
  362. <group id="group1" scroll="auto" style="left:0px; top:364px; width:685px; height:27px; ">
  363. <button id="btn_confirm" class="btn4_letter2" style="left:629px; top:5px; width:56px; height:22px; ">
  364. <caption>확인</caption>
  365. <script type="javascript" ev:event="DOMActivate">
  366. <![CDATA[
  367. if (checkOpener())
  368. {
  369. opener.javascript.setParameter("SPPMC04100_RTN","Y");
  370. if (strRcv != null && strRcv != "" && strRcv != " " && strRcv != "-") {
  371. var cur_row = grd_ordreqfrm.row;
  372. if( cur_row > 0 ){
  373. //디비에 입력되지 않은 데이터는 그리드에서만 삭제한다.
  374. if( model.getValue("/root/main/h_cnst/cnst["+ cur_row + "]/cnst_seqno") == '0' ){
  375. grd_ordreqfrm.deleteItem( cur_row );
  376. }
  377. }
  378. //--var nodeCnt = parseInt(getNodesetCount("/root/hidden/h_cnst/cnst/cnst_orddeptcd")) + 1;
  379. //alert(nodeCnt);
  380. //--model.makeNode("/root/hidden/h_cnst/cnst[" + nodeCnt + "]");
  381. //--copyNodeType("/root/hidden/h_cnst/cnst[" + nodeCnt + "]", "/root/main/h_cnst/cnst", "replace");
  382. copyNodeType("/root/hidden/h_cnst", "/root/main/h_cnst", "replace");
  383. //alert( instance1.selectNodesXml("/root/main/h_cnst/cnst"));
  384. //alert( instance1.selectNodesXml("/root/hidden/h_cnst/cnst[" + nodeCnt + "]"));
  385. //--copyNodesetType(strRcv, "/root/hidden/h_cnst", "replace", parent.model, model);
  386. copyNodesetType("/root/main/h_cnst", "/root/hidden/h_cnst", "replace", parent.model, model);
  387. }
  388. window.close();
  389. }
  390. ]]>
  391. </script>
  392. </button>
  393. <button id="btn_cancel" class="btn4_letter2" style="left:571px; top:5px; width:56px; height:22px; ">
  394. <caption>저장</caption>
  395. <script type="javascript" ev:event="DOMActivate">
  396. <![CDATA[
  397. sSave();
  398. ]]>
  399. </script>
  400. </button>
  401. <line id="line88" class="line_6" style="x1:0px; y1:0px; x2:370px; y2:0px; "/>
  402. <button id="button2" class="btn4_letter2" style="left:513px; top:5px; width:56px; height:22px; ">
  403. <caption>삭제</caption>
  404. <script type="javascript" ev:event="DOMActivate">
  405. <![CDATA[
  406. sDelete();
  407. ]]>
  408. </script>
  409. </button>
  410. </group>
  411. </xhtml:body>
  412. </xhtml:html>