Spaces:
Running
Running
Add 2 files
Browse files- README.md +7 -5
- index.html +448 -19
README.md
CHANGED
@@ -1,10 +1,12 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
-
emoji:
|
4 |
-
colorFrom:
|
5 |
-
colorTo:
|
6 |
sdk: static
|
7 |
pinned: false
|
|
|
|
|
8 |
---
|
9 |
|
10 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
1 |
---
|
2 |
+
title: my-test-space
|
3 |
+
emoji: 🐳
|
4 |
+
colorFrom: yellow
|
5 |
+
colorTo: green
|
6 |
sdk: static
|
7 |
pinned: false
|
8 |
+
tags:
|
9 |
+
- deepsite
|
10 |
---
|
11 |
|
12 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
index.html
CHANGED
@@ -1,19 +1,448 @@
|
|
1 |
-
<!
|
2 |
-
<html>
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>XML Analysis Dashboard</title>
|
7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
8 |
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
9 |
+
<style>
|
10 |
+
.cursor-trail {
|
11 |
+
position: absolute;
|
12 |
+
width: 8px;
|
13 |
+
height: 8px;
|
14 |
+
border-radius: 50%;
|
15 |
+
background-color: rgba(99, 102, 241, 0.7);
|
16 |
+
pointer-events: none;
|
17 |
+
z-index: 9999;
|
18 |
+
transform: translate(-50%, -50%);
|
19 |
+
}
|
20 |
+
.xml-tag {
|
21 |
+
transition: all 0.2s ease;
|
22 |
+
}
|
23 |
+
.xml-tag:hover {
|
24 |
+
background-color: rgba(99, 102, 241, 0.1);
|
25 |
+
transform: translateY(-2px);
|
26 |
+
}
|
27 |
+
.progress-bar {
|
28 |
+
height: 6px;
|
29 |
+
background: linear-gradient(90deg, #4f46e5, #8b5cf6);
|
30 |
+
transition: width 0.3s ease;
|
31 |
+
}
|
32 |
+
.code-block {
|
33 |
+
font-family: 'Courier New', monospace;
|
34 |
+
background-color: #1e293b;
|
35 |
+
color: #f8fafc;
|
36 |
+
}
|
37 |
+
.floating-card {
|
38 |
+
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
39 |
+
}
|
40 |
+
</style>
|
41 |
+
</head>
|
42 |
+
<body class="bg-gray-50 min-h-screen relative overflow-x-hidden">
|
43 |
+
<!-- Cursor trail elements -->
|
44 |
+
<div id="cursor-trail-container"></div>
|
45 |
+
|
46 |
+
<!-- Navigation -->
|
47 |
+
<nav class="bg-indigo-600 text-white shadow-lg">
|
48 |
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
49 |
+
<div class="flex justify-between h-16 items-center">
|
50 |
+
<div class="flex items-center">
|
51 |
+
<i class="fas fa-file-code text-2xl mr-3"></i>
|
52 |
+
<span class="text-xl font-bold">XML Analyzer Pro</span>
|
53 |
+
</div>
|
54 |
+
<div class="hidden md:flex space-x-8">
|
55 |
+
<a href="#" class="hover:text-indigo-200 transition">Dashboard</a>
|
56 |
+
<a href="#" class="hover:text-indigo-200 transition">Analysis</a>
|
57 |
+
<a href="#" class="hover:text-indigo-200 transition">Reports</a>
|
58 |
+
<a href="#" class="hover:text-indigo-200 transition">Settings</a>
|
59 |
+
</div>
|
60 |
+
<button class="md:hidden text-xl">
|
61 |
+
<i class="fas fa-bars"></i>
|
62 |
+
</button>
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
</nav>
|
66 |
+
|
67 |
+
<!-- Main content -->
|
68 |
+
<main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
69 |
+
<!-- Header -->
|
70 |
+
<div class="mb-10 text-center">
|
71 |
+
<h1 class="text-4xl font-bold text-gray-800 mb-3">Hospital Quality Reports Analysis</h1>
|
72 |
+
<p class="text-lg text-gray-600 max-w-3xl mx-auto">
|
73 |
+
Process and analyze XML files from the QB-Referenzdatenbank containing structured quality reports of German hospitals (2023)
|
74 |
+
</p>
|
75 |
+
</div>
|
76 |
+
|
77 |
+
<!-- Progress bar -->
|
78 |
+
<div class="mb-8 bg-gray-200 rounded-full overflow-hidden">
|
79 |
+
<div id="analysis-progress" class="progress-bar" style="width: 0%"></div>
|
80 |
+
</div>
|
81 |
+
|
82 |
+
<!-- Dashboard cards -->
|
83 |
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-10">
|
84 |
+
<!-- File Info Card -->
|
85 |
+
<div class="bg-white rounded-xl p-6 floating-card">
|
86 |
+
<div class="flex items-center mb-4">
|
87 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
88 |
+
<i class="fas fa-file-alt text-indigo-600 text-xl"></i>
|
89 |
+
</div>
|
90 |
+
<h3 class="text-xl font-semibold text-gray-800">File Content Overview</h3>
|
91 |
+
</div>
|
92 |
+
<p class="text-gray-600 mb-4">
|
93 |
+
These XML files contain structured quality reports from German hospitals, managed by IQTIG/BQS.
|
94 |
+
</p>
|
95 |
+
<div class="bg-indigo-50 p-4 rounded-lg">
|
96 |
+
<p class="text-sm text-indigo-800">
|
97 |
+
<i class="fas fa-info-circle mr-2"></i>
|
98 |
+
Includes hospital information, services, quality indicators, personnel data, and more.
|
99 |
+
</p>
|
100 |
+
</div>
|
101 |
+
</div>
|
102 |
+
|
103 |
+
<!-- Structure Card -->
|
104 |
+
<div class="bg-white rounded-xl p-6 floating-card">
|
105 |
+
<div class="flex items-center mb-4">
|
106 |
+
<div class="bg-purple-100 p-3 rounded-full mr-4">
|
107 |
+
<i class="fas fa-sitemap text-purple-600 text-xl"></i>
|
108 |
+
</div>
|
109 |
+
<h3 class="text-xl font-semibold text-gray-800">Tag Structure Analysis</h3>
|
110 |
+
</div>
|
111 |
+
<div class="space-y-2">
|
112 |
+
<div class="flex items-center">
|
113 |
+
<span class="xml-tag bg-gray-100 px-2 py-1 rounded text-sm font-mono mr-2"><hospital></span>
|
114 |
+
<span class="text-gray-500 text-sm">(parent)</span>
|
115 |
+
</div>
|
116 |
+
<div class="ml-4 space-y-1">
|
117 |
+
<div class="flex items-center">
|
118 |
+
<span class="xml-tag bg-gray-100 px-2 py-1 rounded text-sm font-mono mr-2"><info></span>
|
119 |
+
</div>
|
120 |
+
<div class="flex items-center">
|
121 |
+
<span class="xml-tag bg-gray-100 px-2 py-1 rounded text-sm font-mono mr-2"><services></span>
|
122 |
+
</div>
|
123 |
+
<div class="flex items-center">
|
124 |
+
<span class="xml-tag bg-gray-100 px-2 py-1 rounded text-sm font-mono mr-2"><quality></span>
|
125 |
+
</div>
|
126 |
+
</div>
|
127 |
+
</div>
|
128 |
+
</div>
|
129 |
+
|
130 |
+
<!-- Analysis Card -->
|
131 |
+
<div class="bg-white rounded-xl p-6 floating-card">
|
132 |
+
<div class="flex items-center mb-4">
|
133 |
+
<div class="bg-green-100 p-3 rounded-full mr-4">
|
134 |
+
<i class="fas fa-chart-line text-green-600 text-xl"></i>
|
135 |
+
</div>
|
136 |
+
<h3 class="text-xl font-semibold text-gray-800">Analytical Opportunities</h3>
|
137 |
+
</div>
|
138 |
+
<ul class="space-y-2">
|
139 |
+
<li class="flex items-start">
|
140 |
+
<i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
|
141 |
+
<span class="text-gray-700">Performance benchmarking</span>
|
142 |
+
</li>
|
143 |
+
<li class="flex items-start">
|
144 |
+
<i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
|
145 |
+
<span class="text-gray-700">Regional hospital comparisons</span>
|
146 |
+
</li>
|
147 |
+
<li class="flex items-start">
|
148 |
+
<i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
|
149 |
+
<span class="text-gray-700">Trend analysis over time</span>
|
150 |
+
</li>
|
151 |
+
<li class="flex items-start">
|
152 |
+
<i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
|
153 |
+
<span class="text-gray-700">Quality indicator correlations</span>
|
154 |
+
</li>
|
155 |
+
</ul>
|
156 |
+
</div>
|
157 |
+
</div>
|
158 |
+
|
159 |
+
<!-- Code section -->
|
160 |
+
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-10">
|
161 |
+
<!-- Python Script -->
|
162 |
+
<div class="bg-white rounded-xl overflow-hidden floating-card">
|
163 |
+
<div class="bg-gray-800 text-white px-4 py-3 flex justify-between items-center">
|
164 |
+
<div class="flex items-center">
|
165 |
+
<i class="fab fa-python text-xl mr-2"></i>
|
166 |
+
<span class="font-mono">analysis_script.py</span>
|
167 |
+
</div>
|
168 |
+
<button class="text-gray-300 hover:text-white">
|
169 |
+
<i class="far fa-copy"></i>
|
170 |
+
</button>
|
171 |
+
</div>
|
172 |
+
<div class="p-4 code-block overflow-x-auto">
|
173 |
+
<pre class="text-sm">
|
174 |
+
<span class="text-green-400"># XML Analysis Script for Hospital Quality Reports</span>
|
175 |
+
<span class="text-purple-400">import</span> os
|
176 |
+
<span class="text-purple-400">import</span> xml.etree.ElementTree <span class="text-purple-400">as</span> ET
|
177 |
+
<span class="text-purple-400">import</span> pandas <span class="text-purple-400">as</span> pd
|
178 |
+
|
179 |
+
<span class="text-green-400"># Directory paths</span>
|
180 |
+
input_dir = <span class="text-yellow-300">"/Users/alikhosravi/Desktop/XLMNEW/xml_2023"</span>
|
181 |
+
output_dir = <span class="text-yellow-300">"/Users/alikhosravi/Desktop/XLMNEW/Result/2. Structure/XML file structure"</span>
|
182 |
+
|
183 |
+
<span class="text-green-400"># Initialize data structures</span>
|
184 |
+
tag_inventory = {}
|
185 |
+
hospital_data = []
|
186 |
+
|
187 |
+
<span class="text-green-400"># Process each XML file</span>
|
188 |
+
<span class="text-purple-400">for</span> filename <span class="text-purple-400">in</span> os.listdir(input_dir):
|
189 |
+
<span class="text-purple-400">if</span> filename.endswith(<span class="text-yellow-300">".xml"</span>):
|
190 |
+
filepath = os.path.join(input_dir, filename)
|
191 |
+
tree = ET.parse(filepath)
|
192 |
+
root = tree.getroot()
|
193 |
+
|
194 |
+
<span class="text-green-400"># Extract hospital information</span>
|
195 |
+
hospital = {
|
196 |
+
<span class="text-yellow-300">'name'</span>: root.find(<span class="text-yellow-300">'hospital/name'</span>).text,
|
197 |
+
<span class="text-yellow-300">'ik_code'</span>: root.find(<span class="text-yellow-300">'hospital/ik_code'</span>).text,
|
198 |
+
<span class="text-yellow-300">'location'</span>: root.find(<span class="text-yellow-300">'hospital/address/city'</span>).text
|
199 |
+
}
|
200 |
+
hospital_data.append(hospital)
|
201 |
+
|
202 |
+
<span class="text-green-400"># Build tag inventory</span>
|
203 |
+
<span class="text-purple-400">for</span> elem <span class="text-purple-400">in</span> root.iter():
|
204 |
+
tag_path = <span class="text-yellow-300">' > '</span>.join([e.tag <span class="text-purple-400">for</span> e <span class="text-purple-400">in</span> elem.findall(<span class="text-yellow-300">'./ancestor-or-self::*'</span>)])
|
205 |
+
tag_inventory[tag_path] = tag_inventory.get(tag_path, <span class="text-blue-400">0</span>) + <span class="text-blue-400">1</span>
|
206 |
+
|
207 |
+
<span class="text-green-400"># Save results</span>
|
208 |
+
pd.DataFrame(hospital_data).to_excel(os.path.join(output_dir, <span class="text-yellow-300">'hospital_info.xlsx'</span>))
|
209 |
+
pd.DataFrame(list(tag_inventory.items()), columns=[<span class="text-yellow-300">'Tag_Path'</span>, <span class="text-yellow-300">'Count'</span>]).to_csv(
|
210 |
+
os.path.join(output_dir, <span class="text-yellow-300">'tag_inventory.csv'</span>), index=<span class="text-purple-400">False</span>)</pre>
|
211 |
+
</div>
|
212 |
+
</div>
|
213 |
+
|
214 |
+
<!-- XML Sample -->
|
215 |
+
<div class="bg-white rounded-xl overflow-hidden floating-card">
|
216 |
+
<div class="bg-indigo-800 text-white px-4 py-3 flex justify-between items-center">
|
217 |
+
<div class="flex items-center">
|
218 |
+
<i class="fas fa-file-code text-xl mr-2"></i>
|
219 |
+
<span class="font-mono">sample_hospital.xml</span>
|
220 |
+
</div>
|
221 |
+
<button class="text-indigo-300 hover:text-white">
|
222 |
+
<i class="far fa-copy"></i>
|
223 |
+
</button>
|
224 |
+
</div>
|
225 |
+
<div class="p-4 code-block overflow-x-auto">
|
226 |
+
<pre class="text-sm">
|
227 |
+
<?xml version=<span class="text-yellow-300">"1.0"</span> encoding=<span class="text-yellow-300">"UTF-8"</span>?>
|
228 |
+
<hospital_report>
|
229 |
+
<hospital>
|
230 |
+
<info>
|
231 |
+
<name><span class="text-gray-400">Charité - Universitätsmedizin Berlin</span></name>
|
232 |
+
<ik_code><span class="text-gray-400">260500499</span></ik_code>
|
233 |
+
<address>
|
234 |
+
<street><span class="text-gray-400">Charitéplatz 1</span></street>
|
235 |
+
<city><span class="text-gray-400">Berlin</span></city>
|
236 |
+
<zip><span class="text-gray-400">10117</span></zip>
|
237 |
+
</address>
|
238 |
+
</info>
|
239 |
+
<services>
|
240 |
+
<department name=<span class="text-yellow-300">"Cardiology"</span> beds=<span class="text-yellow-300">"120"</span>/>
|
241 |
+
<department name=<span class="text-yellow-300">"Neurology"</span> beds=<span class="text-yellow-300">"85"</span>/>
|
242 |
+
</services>
|
243 |
+
<quality_indicators>
|
244 |
+
<indicator name=<span class="text-yellow-300">"Patient Satisfaction"</span> value=<span class="text-yellow-300">"92.5"</span>/>
|
245 |
+
<indicator name=<span class="text-yellow-300">"Readmission Rate"</span> value=<span class="text-yellow-300">"8.2"</span>/>
|
246 |
+
</quality_indicators>
|
247 |
+
</hospital>
|
248 |
+
</hospital_report></pre>
|
249 |
+
</div>
|
250 |
+
</div>
|
251 |
+
</div>
|
252 |
+
|
253 |
+
<!-- Data categories -->
|
254 |
+
<div class="bg-white rounded-xl p-6 floating-card mb-10">
|
255 |
+
<h2 class="text-2xl font-bold text-gray-800 mb-6 flex items-center">
|
256 |
+
<i class="fas fa-tags text-indigo-600 mr-3"></i>
|
257 |
+
Data Categories in XML Files
|
258 |
+
</h2>
|
259 |
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
|
260 |
+
<div class="bg-indigo-50 p-4 rounded-lg border-l-4 border-indigo-500">
|
261 |
+
<h3 class="font-semibold text-indigo-800 mb-2">Hospital Information</h3>
|
262 |
+
<ul class="text-sm text-indigo-700 space-y-1">
|
263 |
+
<li class="flex items-start">
|
264 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
265 |
+
<span>Name and address</span>
|
266 |
+
</li>
|
267 |
+
<li class="flex items-start">
|
268 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
269 |
+
<span>IK code</span>
|
270 |
+
</li>
|
271 |
+
<li class="flex items-start">
|
272 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
273 |
+
<span>Ownership</span>
|
274 |
+
</li>
|
275 |
+
</ul>
|
276 |
+
</div>
|
277 |
+
<div class="bg-purple-50 p-4 rounded-lg border-l-4 border-purple-500">
|
278 |
+
<h3 class="font-semibold text-purple-800 mb-2">Services & Departments</h3>
|
279 |
+
<ul class="text-sm text-purple-700 space-y-1">
|
280 |
+
<li class="flex items-start">
|
281 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
282 |
+
<span>Department types</span>
|
283 |
+
</li>
|
284 |
+
<li class="flex items-start">
|
285 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
286 |
+
<span>Bed counts</span>
|
287 |
+
</li>
|
288 |
+
<li class="flex items-start">
|
289 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
290 |
+
<span>Special treatments</span>
|
291 |
+
</li>
|
292 |
+
</ul>
|
293 |
+
</div>
|
294 |
+
<div class="bg-green-50 p-4 rounded-lg border-l-4 border-green-500">
|
295 |
+
<h3 class="font-semibold text-green-800 mb-2">Quality Indicators</h3>
|
296 |
+
<ul class="text-sm text-green-700 space-y-1">
|
297 |
+
<li class="flex items-start">
|
298 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
299 |
+
<span>Treatment outcomes</span>
|
300 |
+
</li>
|
301 |
+
<li class="flex items-start">
|
302 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
303 |
+
<span>Performance metrics</span>
|
304 |
+
</li>
|
305 |
+
<li class="flex items-start">
|
306 |
+
<i class="fas fa-circle text-xs mt-1 mr-2"></i>
|
307 |
+
<span>Guideline compliance</span>
|
308 |
+
</li>
|
309 |
+
</ul>
|
310 |
+
</div>
|
311 |
+
</div>
|
312 |
+
</div>
|
313 |
+
|
314 |
+
<!-- Output section -->
|
315 |
+
<div class="bg-white rounded-xl p-6 floating-card">
|
316 |
+
<h2 class="text-2xl font-bold text-gray-800 mb-6 flex items-center">
|
317 |
+
<i class="fas fa-file-export text-indigo-600 mr-3"></i>
|
318 |
+
Output Reports
|
319 |
+
</h2>
|
320 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
321 |
+
<div class="border rounded-lg p-4 hover:border-indigo-400 transition">
|
322 |
+
<div class="flex items-center mb-3">
|
323 |
+
<i class="fas fa-file-excel text-green-600 text-2xl mr-3"></i>
|
324 |
+
<div>
|
325 |
+
<h3 class="font-semibold text-gray-800">hospital_info.xlsx</h3>
|
326 |
+
<p class="text-sm text-gray-500">Excel spreadsheet with hospital information</p>
|
327 |
+
</div>
|
328 |
+
</div>
|
329 |
+
<div class="flex justify-between items-center text-sm">
|
330 |
+
<span class="text-gray-500">Saved to:</span>
|
331 |
+
<span class="font-mono bg-gray-100 px-2 py-1 rounded">/Result/2. Structure/</span>
|
332 |
+
</div>
|
333 |
+
</div>
|
334 |
+
<div class="border rounded-lg p-4 hover:border-indigo-400 transition">
|
335 |
+
<div class="flex items-center mb-3">
|
336 |
+
<i class="fas fa-file-csv text-blue-600 text-2xl mr-3"></i>
|
337 |
+
<div>
|
338 |
+
<h3 class="font-semibold text-gray-800">tag_inventory.csv</h3>
|
339 |
+
<p class="text-sm text-gray-500">Complete XML tag hierarchy inventory</p>
|
340 |
+
</div>
|
341 |
+
</div>
|
342 |
+
<div class="flex justify-between items-center text-sm">
|
343 |
+
<span class="text-gray-500">Saved to:</span>
|
344 |
+
<span class="font-mono bg-gray-100 px-2 py-1 rounded">/Result/2. Structure/</span>
|
345 |
+
</div>
|
346 |
+
</div>
|
347 |
+
</div>
|
348 |
+
</div>
|
349 |
+
</main>
|
350 |
+
|
351 |
+
<!-- Footer -->
|
352 |
+
<footer class="bg-gray-800 text-white py-8 mt-12">
|
353 |
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
354 |
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
355 |
+
<div>
|
356 |
+
<h3 class="text-lg font-semibold mb-4">XML Analyzer Pro</h3>
|
357 |
+
<p class="text-gray-400">
|
358 |
+
Advanced tool for processing and analyzing hospital quality report XML files from the QB-Referenzdatenbank.
|
359 |
+
</p>
|
360 |
+
</div>
|
361 |
+
<div>
|
362 |
+
<h3 class="text-lg font-semibold mb-4">Quick Links</h3>
|
363 |
+
<ul class="space-y-2">
|
364 |
+
<li><a href="#" class="text-gray-400 hover:text-white transition">Documentation</a></li>
|
365 |
+
<li><a href="#" class="text-gray-400 hover:text-white transition">API Reference</a></li>
|
366 |
+
<li><a href="#" class="text-gray-400 hover:text-white transition">GitHub Repository</a></li>
|
367 |
+
</ul>
|
368 |
+
</div>
|
369 |
+
<div>
|
370 |
+
<h3 class="text-lg font-semibold mb-4">Contact</h3>
|
371 |
+
<ul class="space-y-2 text-gray-400">
|
372 |
+
<li class="flex items-center">
|
373 |
+
<i class="fas fa-envelope mr-2"></i>
|
374 |
+
<span>support@xmlanalyzer.pro</span>
|
375 |
+
</li>
|
376 |
+
<li class="flex items-center">
|
377 |
+
<i class="fas fa-globe mr-2"></i>
|
378 |
+
<span>www.xmlanalyzer.pro</span>
|
379 |
+
</li>
|
380 |
+
</ul>
|
381 |
+
</div>
|
382 |
+
</div>
|
383 |
+
<div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400">
|
384 |
+
<p>© 2023 XML Analyzer Pro. All rights reserved.</p>
|
385 |
+
</div>
|
386 |
+
</div>
|
387 |
+
</footer>
|
388 |
+
|
389 |
+
<script>
|
390 |
+
// Cursor trail effect
|
391 |
+
document.addEventListener('DOMContentLoaded', function() {
|
392 |
+
const container = document.getElementById('cursor-trail-container');
|
393 |
+
const colors = ['#6366f1', '#8b5cf6', '#a855f7', '#d946ef'];
|
394 |
+
|
395 |
+
document.addEventListener('mousemove', function(e) {
|
396 |
+
// Create new trail element
|
397 |
+
const trail = document.createElement('div');
|
398 |
+
trail.className = 'cursor-trail';
|
399 |
+
|
400 |
+
// Random size and color
|
401 |
+
const size = Math.random() * 10 + 5;
|
402 |
+
const color = colors[Math.floor(Math.random() * colors.length)];
|
403 |
+
|
404 |
+
trail.style.width = `${size}px`;
|
405 |
+
trail.style.height = `${size}px`;
|
406 |
+
trail.style.backgroundColor = color;
|
407 |
+
|
408 |
+
// Position at cursor
|
409 |
+
trail.style.left = `${e.pageX}px`;
|
410 |
+
trail.style.top = `${e.pageY}px`;
|
411 |
+
|
412 |
+
// Add to container
|
413 |
+
container.appendChild(trail);
|
414 |
+
|
415 |
+
// Remove after animation
|
416 |
+
setTimeout(() => {
|
417 |
+
trail.style.opacity = '0';
|
418 |
+
trail.style.transform = 'translate(-50%, -50%) scale(2)';
|
419 |
+
setTimeout(() => trail.remove(), 200);
|
420 |
+
}, 500);
|
421 |
+
});
|
422 |
+
|
423 |
+
// Simulate progress bar animation
|
424 |
+
const progressBar = document.getElementById('analysis-progress');
|
425 |
+
let progress = 0;
|
426 |
+
const interval = setInterval(() => {
|
427 |
+
progress += Math.random() * 5;
|
428 |
+
if (progress >= 100) {
|
429 |
+
progress = 100;
|
430 |
+
clearInterval(interval);
|
431 |
+
}
|
432 |
+
progressBar.style.width = `${progress}%`;
|
433 |
+
}, 200);
|
434 |
+
|
435 |
+
// Add hover effects to XML tags
|
436 |
+
const xmlTags = document.querySelectorAll('.xml-tag');
|
437 |
+
xmlTags.forEach(tag => {
|
438 |
+
tag.addEventListener('mouseenter', () => {
|
439 |
+
tag.style.boxShadow = '0 4px 6px -1px rgba(99, 102, 241, 0.3)';
|
440 |
+
});
|
441 |
+
tag.addEventListener('mouseleave', () => {
|
442 |
+
tag.style.boxShadow = 'none';
|
443 |
+
});
|
444 |
+
});
|
445 |
+
});
|
446 |
+
</script>
|
447 |
+
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - <a href="https://enzostvs-deepsite.hf.space?remix=Alivee95/my-test-space" style="color: #fff;text-decoration: underline;" target="_blank" >🧬 Remix</a></p></body>
|
448 |
+
</html>
|