บันทึกการสื่อสารและตอบกลับบริการ
กรอกข้อมูลคำถาม ช่องทางสื่อสาร และสถานะการให้บริการเพื่อบันทึกลงในฐานข้อมูลโรงพยาบาล
Lamphun Near Doctor - Executive Mint Dashboard
สถิติและวิเคราะห์ข้อมูลการให้บริการแชท ช่องทางการสื่อสาร และประสิทธิภาพการตอบกลับของเจ้าหน้าที่
จำนวนการทักแชทรวม
0
บันทึกในระบบตอบกลับเรียบร้อย
0%
0 รายการเวลาตอบเฉลี่ย
0 นาที
Response Speedช่องทางอันดับ 1
-
ยอดสูงสุดสัดส่วนช่องทางที่ติดต่อเข้ามา
หมวดหมู่คำถามยอดนิยม
สรุปสถานะการตอบกลับ
สถิติการตอบกลับแยกตามเจ้าหน้าที่
ประวัติการบันทึกการตอบกลับแชททั้งหมด
ค้นหา กรอง และส่งออกข้อมูลประวัติการบันทึก
| วันเวลาทักมา | ช่องทาง | หมวดหมู่ | คำถาม / รายละเอียด | สถานะการตอบ | ข้อมูลผู้รับบริการ / นัดหมาย | จนท. ผู้ตอบ | จัดการ |
|---|
ไม่พบข้อมูลบันทึกที่ตรงกับเงื่อนไขการค้นหา
การเชื่อมต่อ Google Sheets ด้วย Google Apps Script
คัดลอกโค้ดด้านล่างไปใส่ใน Google Sheets แล้วนำ Web App URL มาวางเชื่อมต่อได้ทันที
ไปที่เมนู ส่วนขยาย (Extensions) > Apps Script
วางโค้ดล่างนี้ แล้วกด Deploy เลือกผู้มีสิทธิ์เข้าถึงเป็น "ทุกคน (Anyone)"
นำ URL ที่ได้มาวางในช่องด้านล่าง แล้วกดบันทึก
* หากยังไม่ได้วาง URL ระบบจะบันทึกข้อมูลในความจำเครื่อง (Local Storage) ให้โดยอัตโนมัติ
// ==========================================
// Google Apps Script - โรงพยาบาลลำพูนใกล้หมอ
// ==========================================
function doGet(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var data = sheet.getDataRange().getValues();
if (data.length === 0 || data[0][0] === "") {
setupHeaders(sheet);
data = sheet.getDataRange().getValues();
}
var headers = data[0];
var rows = data.slice(1);
var result = rows.map(function(row) {
var obj = {};
headers.forEach(function(header, index) {
obj[header] = row[index];
});
return obj;
});
return ContentService.createTextOutput(JSON.stringify({ status: "success", data: result }))
.setMimeType(ContentService.MimeType.JSON);
}
function doPost(e) {
try {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
if (sheet.getLastRow() === 0) {
setupHeaders(sheet);
}
var params = {};
if (e.postData && e.postData.contents) {
params = JSON.parse(e.postData.contents);
} else if (e.parameter) {
params = e.parameter;
}
sheet.appendRow([
params.id || "LOG-" + new Date().getTime(),
params.inboundTime || new Date(),
params.channel || "",
params.category || "",
params.questionText || "",
params.responseStatus || "",
params.patientName || "",
params.patientPhone || "",
params.bookingTopic || "",
params.bookingDate || "",
params.bookingTime || "",
params.hnNumber || "",
params.staffName || "",
params.completedTime || new Date(),
params.turnaroundMinutes || 0,
new Date()
]);
return ContentService.createTextOutput(JSON.stringify({ status: "success", message: "บันทึกเรียบร้อย" }))
.setMimeType(ContentService.MimeType.JSON);
} catch (error) {
return ContentService.createTextOutput(JSON.stringify({ status: "error", message: error.toString() }))
.setMimeType(ContentService.MimeType.JSON);
}
}
function setupHeaders(sheet) {
var headers = [
"ID", "เวลาทักมา", "ช่องทาง", "หมวดคำถาม", "คำถาม",
"สถานะการตอบ", "ชื่อผู้รับบริการ", "เบอร์โทร", "การจอง",
"วันที่จอง", "เวลาจอง", "เปิด HN", "เจ้าหน้าที่ตอบกลับ",
"เวลาตอบเสร็จ", "ระยะเวลาตอบ(นาที)", "เวลาบันทึกระบบ"
];
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
sheet.getRange(1, 1, 1, headers.length)
.setFontWeight("bold")
.setBackground("#0d9488")
.setFontColor("#ffffff");
sheet.setFrozenRows(1);
}