Để sử dụng toàn bộ tiện ích nâng cao của Hệ Thống Pháp Luật vui lòng lựa chọn và đăng ký gói cước.
| ỦY BAN NHÂN DÂN | CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM |
| Số: 2970/QĐ-UBND | Thanh Hóa, ngày 22 tháng 8 năm 2023 |
QUYẾT ĐỊNH
VỀ VIỆC CÔNG BỐ DANH MỤC THỦ TỤC HÀNH CHÍNH ĐƯỢC SỬA ĐỔI, BỔ SUNG TRONG LĨNH VỰC TRANG THIẾT BỊ VÀ CÔNG TRÌNH Y TẾ THUỘC THẨM QUYỀN GIẢI QUYẾT CỦA SỞ Y TẾ TỈNH THANH HÓA
CHỦ TỊCH ỦY BAN NHÂN DÂN TỈNH THANH HÓA
Căn cứ Luật Tổ chức chính quyền địa phương 19/6/2015; Luật sửa đổi, bổ sung một số điều của Luật Tổ chức Chính phủ và Luật Tổ chức chính quyền địa phương ngày 22/11/2019;
Căn cứ Nghị định số 63/2010/NĐ-CP ngày 08/6/2010 của Chính phủ về kiểm soát thủ tục hành chính; Nghị định số 92/2017/NĐ-CP ngày 07/8/2017 của Chính phủ sửa đổi, bổ sung một số điều của các nghị định liên quan đến kiểm soát thủ tục hành chính;
Căn cứ Thông tư số 02/2017/TT-VPCP ngày 31/10/2017 của Bộ trưởng, Chủ nhiệm Văn phòng Chính phủ hướng dẫn về nghiệp vụ kiểm soát thủ tục hành chính;
Căn cứ Quyết định số 2962/QĐ-BYT ngày 24/7/2023 của Bộ Y tế về việc công bố thủ tục hành chính được sửa đổi, bổ sung, bãi bỏ trong lĩnh vực Trang thiết bị và công trình y tế thuộc phạm vi chức năng quản lý của Bộ Y tế quy định tại Nghị định số 98/2021/NĐ-CP ngày 08/11/2021 của Chính phủ, Nghị định số 07/2023/NĐ-CP ngày 03/3/2023 của Chính phủ và Thông tư số 10/2023/TT-BYT ngày 11/5/2023 của Bộ trưởng Bộ Y tế;
Theo đề nghị của Giám đốc Sở Y tế tại Tờ trình số 3569/TTr-SYT ngày 16/8/2023.
QUYẾT ĐỊNH:
Điều 1. Công bố kèm theo Quyết định này Danh mục 01 TTHC được sửa đổi, bổ sung lĩnh vực Trang thiết bị và công trình y tế thuộc thẩm quyền giải quyết của Sở Y tế tỉnh Thanh Hóa.
(có Danh mục kèm theoĐiều 2. Quyết định này có hiệu lực thi hành kể từ ngày ký.
Chánh Văn phòng UBND tỉnh, Giám đốc Sở Y tế, Thủ trưởng các cơ quan, đơn vị và các tổ chức, cá nhân có liên quan chịu trách nhiệm thi hành Quyết định này./.
|
| KT. CHỦ TỊCH |
DANH MỤC
THỦ TỤC HÀNH CHÍNH ĐƯỢC SỬA ĐỔI, BỔ SUNG LĨNH VỰC TRANG THIẾT BỊ VÀ CÔNG TRÌNH Y TẾ THUỘC THẨM QUYỀN GIẢI QUYẾT CỦA SỞ Y TẾ TỈNH THANH HÓA
(kèm theo Quyết định số: /QĐ-UBND ngày /8/2023 của Chủ tịch UBND tỉnh Thanh Hóa)
Sửa đổi, bổ sung 01 TTHC lĩnh vực Trang thiết bị và công trình y tế tại Quyết định số 565/QĐ-UBND ngày 08/02/2022 của Chủ tịch UBND tỉnh về công bố Danh mục thủ tục hành chính được sửa đổi, bổ sung/bị bãi bỏ trong lĩnh vực Trang thiết bị y tế thuộc thẩm quyền giải quyết của Sở Y tế tỉnh Thanh Hóa.
| STT | Tên thủ tục hành chính (Mã TTHC) | Thời hạn giải quyết | Địa điểm thực hiện | Phí , lệ phí | Căn cứ pháp lý | Nội dung được sửa đổi, bổ sung |
| 1 | Công bố tiêu chuẩn áp dụng đối với trang thiết bị y tế thuộc loại A, B (1.003029.000.00.00.H56) | 01 ngày | Sở Y tế tỉnh Thanh Hóa qua Hệ thống dịch vụ công trực tuyến về quản lý trang thiết bị y tế tại địa chỉ: https://dmec. moh.gov.vn/ (trực tuyến toàn trình) | - Phí thẩm định công bố trang thiết bị y tế loại A: 1.000.000 đồng/1 hồ sơ - Phí thẩm định công bố trang thiết bị y tế loại B: 3.000.000 đồng/ 1 hồ sơ | - Nghị định số 98/2021/NĐ-CP ngày 08 tháng 11 năm 2021 của Chính phủ về quản lý trang thiết bị y tế; - Nghị định số 07/2023/NĐ-CP ngày 03 tháng 3 năm 2023 của Chính phủ sửa đổi, bổ sung một số điều của Nghị định số 98/2021/NĐ-CP ngày 08 tháng 11 năm 2021 của Chính phủ về quản lý trang thiết bị y tế; - Thông tư số 19/2021/TT-BYT ngày 16 tháng 11 năm 2021 của Bộ Y tế quy định mẫu văn bản, báo cáo thực hiện Nghị định số 98/2021/NĐ-CP ngày 08 tháng 11 năm 2021 của Chính phủ về quản lý trang thiết bị y tế; - Thông tư số 10/2023/TT-BYT ngày 11 tháng 5 năm 2023 của Bộ trưởng Bộ Y tế sửa đổi bổ sung một số điều của Thông tư số 19/2021/TT-BYT ngày 16 tháng 11 năm 2021 của Bộ trưởng Bộ Y tế quy định mẫu văn bản, báo cáo thực hiện Nghị định số 98/2021/NĐ-CP ngày 08 tháng 11 năm 2021 của Chính phủ về quản lý trang thiết bị y tế; - Thông tư số 278/2016/TT-BTC ngày 14/11/2016 quy định mức thu, chế độ thu, nộp, quản lý và sử dụng phí trong lĩnh vực y tế. | Thời hạn giải quyết; Mẫu tờ khai; Căn cứ pháp lý |
lồng nhau (bên trong) hay không
const memberID = 0;
const vbID = 'd6c5d255968258eefaee7a6b35ef5fd0';
// State management cho phân tích
let isAnalyzing = false; // Có đang phân tích không
let currentAnalyzingAddress = null; // Address đang được phân tích
let currentAnalyzingElement = null; // Element đang được phân tích
let currentAnalyzingBadge = null; // Badge của element đang phân tích
let isPanelOpen = false; // Panel phân tích có đang mở không
function isInViewportAndTabNoiDung(element) {
const rect = element.getBoundingClientRect();
const buffer = 1500; // Buffer to preload content below the viewport (approx. 50+ lines)
const viewHeight = window.innerHeight || document.documentElement.clientHeight;
const isInViewport = rect.top < viewHeight + buffer && rect.bottom >= 0;
const isInTabNoiDung = $(element).closest('#tab_noi_dung_vb').length > 0;
return isInViewport && isInTabNoiDung;
}
function getAddress(element) {
const validTags = ['trichyeu', 'cancu', 'phan', 'chuong', 'muc', 'tieumuc', 'dieu', 'khoan', 'diem'];
const $parent = $(element).closest(validTags.join(','));
if (!$parent.length) {
return null;
}
let addr = $parent.attr('address');
if (!addr && $parent.prop('tagName').toLowerCase() === 'trichyeu') {
addr = 'trichyeu';
$parent.attr('address', addr);
}
return addr || null;
}
function processTnplClasses($element) {
const tnplKeysInLine = new Set(); // key = slug hoặc text (thường là slug)
$element.find('tnpl').each(function () {
const $tnpl = $(this);
const tnplSlug = ($tnpl.attr('slug') || '').trim().toLowerCase();
const tnplKey = tnplSlug || $tnpl.text().trim().toLowerCase();
// Đã xử lý trong cùng dòng => bỏ
if (tnplKeysInLine.has(tnplKey)) {
return;
}
tnplKeysInLine.add(tnplKey);
let tnplExists = false;
// Chỉ duyệt các tnpl đã được tô màu (class on)
$('tnpl.on').each(function () {
const $existingTnpl = $(this);
const existingSlug = ($existingTnpl.attr('slug') || '').trim().toLowerCase();
const existingKey = existingSlug || $existingTnpl.text().trim().toLowerCase();
if (
existingKey === tnplKey &&
isInViewportAndTabNoiDung($existingTnpl[0])
) {
tnplExists = true;
return false; // break each
}
});
if (!tnplExists) {
$tnpl.addClass('on');
}
});
}
function processQueue() {
while (pendingRequests < maxConcurrentRequests && requestQueue.length > 0) {
const task = requestQueue.shift();
pendingRequests++;
task()
.always(() => {
pendingRequests--;
processQueue();
});
}
}
function processVisibleParagraphs() {
try {
$('#tab_noi_dung_vb p:not([is-posted="1"])').each(function () {
let $element = $(this);
if (isInViewportAndTabNoiDung(this)) {
$element.attr('is-posted', '1');
$element.addClass('loading-content');
let p_innerHTML = $element.html();
let address = null;
if (cac_cau_hinh.loai_noi_dung.includes('docs')) {
address = getAddress($element);
}
const isSubP = $element.parents('p').length > 0;
if (isSubP && !allow_sub_p) {
$element.removeClass('loading-content');
return; // Không gửi nếu không cho phép
}
const postData = { p_content: p_innerHTML, cac_cau_hinh, address };
if (isSubP && allow_sub_p) {
postData.sub_p = 1;
}
requestQueue.push(() =>
$.ajax({
url: '//tnpl' + (Math.floor(Math.random() * 10) + 1) + '.hethongphapluat.com/tien-ich/tim.tien.ich.php',
type: 'POST',
data: postData,
success: function(response) {
$element.html(response);
processTnplClasses($element);
// Đợi CTTD và các tiện ích load xong rồi mới attach badge
if (memberID === 4 && typeof attachPhanTichBadge === 'function') {
setTimeout(function() {
// $element chính là thẻ p, kiểm tra và attach badge trực tiếp
const $parent = $element.closest('phan, chuong, muc, tieumuc, dieu, khoan, diem');
if ($parent.length > 0 && $parent.find('.badge-phan-tich[data-for="' + $parent.attr('address') + '"]').length === 0) {
const address = $parent.attr('address');
$element.attr('data-address', address);
// Lấy tên loại thẻ cho tooltip
const parentType = getParentTypeName($parent.prop('tagName').toLowerCase());
// Append badge VÀO PARENT (dieu, khoan,...) thay vì vào để tránh xung đột CTTD
const $badge = $('Phân tích');
$parent.append($badge);
// Thêm class để CSS set position: relative CHỈ cho element có badge
$parent.addClass('has-phan-tich-badge');
}
// Xử lý các p con (nếu có sub-p)
attachPhanTichBadge($element);
}, 300); // Đợi 300ms để CTTD render xong
}
},
complete: function() {
$element.removeClass('loading-content');
}
})
);
processQueue();
}
});
} catch(e) {
}
}
$(window).on('scroll resize', function () {
processVisibleParagraphs();
});
processVisibleParagraphs();
// Chức năng phân tích điều luật (chỉ cho member_id = 4)
if (memberID === 4 || memberID === 3 || memberID === 2) {
// Modal cảnh báo
function showWarningModal(message) {
// Tạo modal nếu chưa có
if ($('#warningModal').length === 0) {
const modalHTML = `
' + message + '
const $badge = $('Phân tích');
$parent.append($badge);
// Thêm class để CSS set position: relative CHỈ cho element có badge
$parent.addClass('has-phan-tich-badge');
}
}
});
}
// Helper: Escape HTML entities
function escapeHtml(text) {
const map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
return String(text).replace(/[&<>"']/g, function(m) { return map[m]; });
}
// Helper: Convert Markdown to HTML (đơn giản)
function markdownToHtml(markdown) {
if (!markdown) return '';
let html = markdown;
// Headers
html = html.replace(/^### (.*$)/gim, ' ' + para.replace(/\n/g, ' Đang phân tích... Đang phân tích... Đang xóa cache và phân tích lại... Đang phân tích...$1
');
html = html.replace(/^## (.*$)/gim, '$1
');
html = html.replace(/^# (.*$)/gim, '$1
');
// Bold
html = html.replace(/\*\*(.*?)\*\*/g, '$1');
// Italic
html = html.replace(/\*(.*?)\*/g, '$1');
// Blockquote
html = html.replace(/^> (.*$)/gim, '$1
');
html = html.replace(/^> (.*$)/gim, '$1
');
// Lists (unordered)
html = html.replace(/^\- (.*$)/gim, '$1
');
// Lists (ordered)
html = html.replace(/^\d+\. (.*$)/gim, '
') + '' + escapeHtml(response.ten_van_ban) + '
';
if (response.so_hieu) {
html += 'Số hiệu: ' + escapeHtml(response.so_hieu) + '
';
}
html += 'Điều khoản: ' + escapeHtml(response.address) + '';
if (response.from_cache) {
html += ' Cache';
}
html += '
Vui lòng thử lại sau.
Chi tiết: ${escapeHtml(errorMsg)}
' + escapeHtml(response.ten_van_ban) + '
';
if (response.so_hieu) {
html += 'Số hiệu: ' + escapeHtml(response.so_hieu) + '
';
}
html += 'Điều khoản: ' + escapeHtml(response.address) + '';
html += '
Vui lòng thử lại sau.
Chi tiết: ${escapeHtml(errorMsg)}
