@@ -0,0 +1,174 @@ | |||||
import sys | |||||
from PyQt5.uic import loadUi | |||||
from PyQt5 import QtWidgets | |||||
from PyQt5.QtWidgets import QDialog, QApplication, QWidget, QLabel, QScrollArea, QVBoxLayout, QFrame, QComboBox | |||||
from PyQt5.QtGui import QPixmap | |||||
import firebase_admin | |||||
from firebase_admin import credentials, auth, db, initialize_app | |||||
import os | |||||
current_directory = os.path.dirname(os.path.realpath(__file__)) | |||||
json_path = os.path.join(current_directory, 'chatbot.json') | |||||
#cred = credentials.Certificate('/home/knight/ChatBot_UI/chatbot.json') | |||||
cred = credentials.Certificate(json_path) | |||||
firebase_admin.initialize_app(cred, {'databaseURL': 'https://chatbot-402717-default-rtdb.firebaseio.com/'}) | |||||
class RoundedVBoxLayout(QVBoxLayout): | |||||
def __init__(self): | |||||
super().__init__() | |||||
self.rounded_frame = QFrame() | |||||
self.rounded_frame.setStyleSheet("QFrame {border-radius: 50px; background-color: lightgray;}") | |||||
self.rounded_frame.setLayout(self) | |||||
def addWidget(self, widget): | |||||
# Add widgets to the rounded frame | |||||
super().addWidget(widget) | |||||
class LoginScreen(QDialog): | |||||
def __init__(self): | |||||
super(LoginScreen, self).__init__() | |||||
loadUi("login.ui",self) | |||||
self.passwordfield.setEchoMode(QtWidgets.QLineEdit.Password) | |||||
self.loginButton.clicked.connect(self.loginfunction) | |||||
#self.loginButton.clicked.connect(self.gotoDashboard) | |||||
def loginfunction(self): | |||||
username = self.emailfield.text() | |||||
password = self.passwordfield.text() | |||||
if len(username)==0 or len(password)==0: | |||||
self.labelError.setText("Please input all fields.") | |||||
else: | |||||
try: | |||||
user = auth.get_user_by_email(username) | |||||
if user: | |||||
self.gotoDashboard() | |||||
except: | |||||
print("Login Failed !") | |||||
self.labelError.setText("Login Failed Invalid Username or Password") | |||||
def gotoDashboard(self): | |||||
dashBoard = DashBoard() | |||||
widget.addWidget(dashBoard) | |||||
widget.setCurrentIndex(widget.currentIndex()+1) | |||||
class DashBoard(QDialog): | |||||
def __init__(self): | |||||
super(DashBoard, self).__init__() | |||||
loadUi('dashboard.ui', self) | |||||
self.ref = db.reference('/intents_and_questions') | |||||
self.layout = self.questionLayout | |||||
self.show_intents_questions() | |||||
self.get_intents() | |||||
def update_intent(self): | |||||
pass | |||||
def update_question(self): | |||||
pass | |||||
def get_intents(self): | |||||
self.intentCombo.setContentsMargins(40, 140, 0, 0) | |||||
data = self.ref.get() | |||||
if data: | |||||
self.intentCombo.addItems(list(data.keys())) | |||||
else: | |||||
self.intentCombo.addItems([]) | |||||
def show_intents_questions(self): | |||||
data = self.ref.get() | |||||
if data: | |||||
# Assuming data is a dictionary | |||||
for intent, questions in data.items(): | |||||
questions_text = '\n'.join(questions) | |||||
#label_text = f"Intent: {intent}\nQuestions:{questions_text}\n{'-'*50}" | |||||
label_text = f"INTENT : {intent}\n\nQUESTIONS : \n{questions_text}\n{'-'*50}" | |||||
label = QLabel(label_text) | |||||
label.setContentsMargins(20,20,20,20) | |||||
self.layout.addWidget(label) | |||||
scroll_area = QScrollArea() | |||||
scroll_area.setWidgetResizable(True) | |||||
scroll_widget = QWidget() | |||||
scroll_widget.setLayout(self.layout) | |||||
scroll_area.setWidget(scroll_widget) | |||||
#main_layout = QVBoxLayout() | |||||
main_layout = RoundedVBoxLayout() | |||||
main_layout.addWidget(scroll_area) | |||||
main_layout.setContentsMargins(20, 120, 800, 30) | |||||
self.setLayout(main_layout) | |||||
self.setGeometry(300, 300, 400, 200) | |||||
self.setWindowTitle('Dashboard') | |||||
self.show() | |||||
app = QApplication(sys.argv) | |||||
welcome = LoginScreen() | |||||
widget = QtWidgets.QStackedWidget() | |||||
widget.addWidget(welcome) | |||||
widget.setFixedHeight(800) | |||||
widget.setFixedWidth(1200) | |||||
widget.show() | |||||
try: | |||||
sys.exit(app.exec_()) | |||||
except: | |||||
print("Exiting") |
@@ -0,0 +1,13 @@ | |||||
{ | |||||
"type": "service_account", | |||||
"project_id": "chatbot-402717", | |||||
"private_key_id": "a8af9eb772aee6b957ee35dd990c2f29d2beb4b2", | |||||
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDSslvYD9b5QOBc\nZpyvueKSaE71wMI2z+bozngRNufxLAVLy6p/0YkAMUfhPQGyu5Qw0X2ReXO9NOUU\n2T885CXTaXEXQOvk1Z8IAwp7i/bt/WDInVoDZ9mVu8OxNxtGJh0urLxbS4R1Fqb4\np/s1Gx/kgUOZvBTttUb5HMBZWwECclbCfowjmaUwTBp88BSZEmRV0rW+rUhcD34y\nYe6raksOgqpZbwW4JrQGNruoyJkEgOjTzE3kJ6Df5ttPyrvCFpRokvekD3uv/u+b\nRsd5Y5Obo5lNVRep2+vlMBy+4u6wypfZHONQuy+6RsA1RGBZbT0K1d4MIvJXL68g\nwtuDfbBxAgMBAAECggEABhjpY6J7NpO+HmxthcAVzoX4XYAoWqrX8EYr1zcxHYOI\nLHQqlSf6nIvgjDQOUtZe9K32Ud27d8byZ3DdRbFGRzTEpB8xyGm2cEZawP4pHWRl\nDu8vS/yPEVhJgq0RI+29z9RJv+RawyLufnEJifUUzmF/g+Ebk7C4muROLHPPztrT\n2XBG942dwFmjlrRGzb1MbQIDi7UOFY19hQskQTLMjnLIw+SfPXq8Kj3HK8JHeNc8\nVALcI4BWYZrFNYfsY5Rf0L68w07GLSnHVgndWm6nJfMw40CWaDnWG9b4QZfOFouo\nEtphmcifU9QyXOC2PvCwTJUJcbM9gQnIXbF2wczfIQKBgQD9tBS9zUGm00oe3lkx\nR5svvoUHEgAg2ZfU+ERjRPlLgnfj9FxWu/H0SPsgy66FhgyuVNvUVnWRUen2G2yB\nXbYcu8hMKMmD6BMaAyuOZMuO2m4FHS2eTgfOeSKi+dCIwbtDwuTsitjDeOKwbAFp\ne7Mos/C/ql6JPBD2og43R00coQKBgQDUmp3AsX7NPkFbNzZMrV2SCnnJ4ImmEtYj\nVGXnnSKdorCWVaID81NyNEblaRErg0kJfV7AQG45K53pIyyBvv1QETXgofc3jzw5\nXq21edzOTSFjKfTz5409Cv2cYky1+xuP2S30z3Ry7TxACCcVHXaxDLPucKhiA/24\n6V0Wdf6x0QKBgATXwimZWG55zAlozyUMq96ucVWgN1ZpMOfE0XFfqK6TT/yO9pBF\nSCoUlo6atLshwu40+nlEKTxb5u5muZyCkG5d+0XQ5X/aFztA4jz2mZghfUYlt3A1\nJxr+3vVjdWKW6B80AjCtudOJZDJf7Wr5DINzY94Uv3c5KU277C+L8eHhAoGAV8iP\nomSnaq9t5O/jJ73diNNyffyMWVoluOi8OuoSxOvL5gbtopvxtJIJQ+giAsluetCd\nMtxnpotv5Dd1xQzLIyg4CsxVe0dVIosJRolOto/6XSuRzLOrCa1kEhI0gl9wffC6\nnP6bomh6HCZBnOJRg8Eu+iDiJbZoKNWSbhfCVkECgYEAixIjtmZ8IbatLSnVs6N4\nHz9b/wLKK+nyXq2hRBmWRbBXlXDxasKavLZ/OgmtM9/R8vMrwVKvJloRVhbnK1/q\n8DrVrgFn3pJOXtzrnNtQkR6Y5uYi7cn6DVI9RhObXqY1XhLZDX4acJTSRgvUUdu8\nMuXeZr6PsBwGM5nlBTTT6Hg=\n-----END PRIVATE KEY-----\n", | |||||
"client_email": "firebase-adminsdk-7gtu4@chatbot-402717.iam.gserviceaccount.com", | |||||
"client_id": "104666490557463603037", | |||||
"auth_uri": "https://accounts.google.com/o/oauth2/auth", | |||||
"token_uri": "https://oauth2.googleapis.com/token", | |||||
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", | |||||
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-7gtu4%40chatbot-402717.iam.gserviceaccount.com", | |||||
"universe_domain": "googleapis.com" | |||||
} |
@@ -0,0 +1,102 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<ui version="4.0"> | |||||
<class>Dialog</class> | |||||
<widget class="QDialog" name="Dialog"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>0</x> | |||||
<y>0</y> | |||||
<width>1200</width> | |||||
<height>800</height> | |||||
</rect> | |||||
</property> | |||||
<property name="windowTitle"> | |||||
<string>Dialog</string> | |||||
</property> | |||||
<widget class="QWidget" name="bgwidget" native="true"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>0</x> | |||||
<y>0</y> | |||||
<width>1201</width> | |||||
<height>801</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">QWidget#bgwidget { | |||||
background-color: qlineargradient(spread: pad, x1: 0.091, y1: 0.101636, x2: 0.991379, y2: 0.977, stop: 0 rgba(30, 30, 40, 255), stop: 1 rgba(50, 50, 80, 255)); | |||||
} | |||||
</string> | |||||
</property> | |||||
<widget class="QLabel" name="labelDashboard"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>480</x> | |||||
<y>10</y> | |||||
<width>262</width> | |||||
<height>57</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">font: 36pt "MS Shell Dlg 2"; color:rgb(255, 255, 255)</string> | |||||
</property> | |||||
<property name="text"> | |||||
<string>Dashboard</string> | |||||
</property> | |||||
<property name="alignment"> | |||||
<set>Qt::AlignCenter</set> | |||||
</property> | |||||
</widget> | |||||
<widget class="QWidget" name="verticalLayoutWidget"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>30</x> | |||||
<y>100</y> | |||||
<width>441</width> | |||||
<height>691</height> | |||||
</rect> | |||||
</property> | |||||
<layout class="QVBoxLayout" name="questionLayout"/> | |||||
</widget> | |||||
<widget class="QLabel" name="label"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>0</x> | |||||
<y>60</y> | |||||
<width>311</width> | |||||
<height>31</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">color: rgb(255, 255, 255); | |||||
font: 75 15pt "Waree";</string> | |||||
</property> | |||||
<property name="text"> | |||||
<string>Questions and Intents</string> | |||||
</property> | |||||
<property name="alignment"> | |||||
<set>Qt::AlignCenter</set> | |||||
</property> | |||||
</widget> | |||||
<widget class="QComboBox" name="intentCombo"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>480</x> | |||||
<y>126</y> | |||||
<width>230</width> | |||||
<height>24</height> | |||||
</rect> | |||||
</property> | |||||
<property name="font"> | |||||
<font> | |||||
<weight>75</weight> | |||||
<bold>true</bold> | |||||
</font> | |||||
</property> | |||||
</widget> | |||||
</widget> | |||||
</widget> | |||||
<resources/> | |||||
<connections/> | |||||
</ui> |
@@ -0,0 +1,188 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<ui version="4.0"> | |||||
<class>Dialog</class> | |||||
<widget class="QDialog" name="Dialog"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>0</x> | |||||
<y>0</y> | |||||
<width>1200</width> | |||||
<height>800</height> | |||||
</rect> | |||||
</property> | |||||
<property name="windowTitle"> | |||||
<string>Admin Panel</string> | |||||
</property> | |||||
<widget class="QWidget" name="bgwidget" native="true"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>0</x> | |||||
<y>0</y> | |||||
<width>1200</width> | |||||
<height>800</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">QWidget#bgwidget { | |||||
background-color: qlineargradient(spread: pad, x1: 0.091, y1: 0.101636, x2: 0.991379, y2: 0.977, stop: 0 rgba(30, 30, 40, 255), stop: 1 rgba(50, 50, 80, 255)); | |||||
} | |||||
</string> | |||||
</property> | |||||
<widget class="QLabel" name="labelWelcome"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>490</x> | |||||
<y>110</y> | |||||
<width>251</width> | |||||
<height>71</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">font: 36pt "MS Shell Dlg 2"; color:rgb(255, 255, 255)</string> | |||||
</property> | |||||
<property name="text"> | |||||
<string>WELCOME</string> | |||||
</property> | |||||
<property name="alignment"> | |||||
<set>Qt::AlignCenter</set> | |||||
</property> | |||||
</widget> | |||||
<widget class="QLabel" name="labelInfo"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>420</x> | |||||
<y>200</y> | |||||
<width>391</width> | |||||
<height>41</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">font: 16pt "MS Shell Dlg 2";color:rgb(255, 255, 255)</string> | |||||
</property> | |||||
<property name="text"> | |||||
<string>Sign in to your existing account</string> | |||||
</property> | |||||
<property name="alignment"> | |||||
<set>Qt::AlignCenter</set> | |||||
</property> | |||||
</widget> | |||||
<widget class="QPushButton" name="loginButton"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>440</x> | |||||
<y>490</y> | |||||
<width>341</width> | |||||
<height>51</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">border-radius:20px; | |||||
background-color: rgb(170, 255, 255); | |||||
font: 14pt "MS Shell Dlg 2";</string> | |||||
</property> | |||||
<property name="text"> | |||||
<string>Log in</string> | |||||
</property> | |||||
</widget> | |||||
<widget class="QLineEdit" name="emailfield"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>440</x> | |||||
<y>290</y> | |||||
<width>341</width> | |||||
<height>51</height> | |||||
</rect> | |||||
</property> | |||||
<property name="minimumSize"> | |||||
<size> | |||||
<width>15</width> | |||||
<height>0</height> | |||||
</size> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">background-color:rgba(0,0,0,0); | |||||
font: 12pt "MS Shell Dlg 2"; | |||||
color: rgb(255, 255, 255); | |||||
</string> | |||||
</property> | |||||
</widget> | |||||
<widget class="QLineEdit" name="passwordfield"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>440</x> | |||||
<y>390</y> | |||||
<width>341</width> | |||||
<height>51</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">background-color:rgba(0,0,0,0); | |||||
font: 12pt "MS Shell Dlg 2"; | |||||
color: rgb(255, 255, 255);</string> | |||||
</property> | |||||
</widget> | |||||
<widget class="QLabel" name="labelUsername"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>440</x> | |||||
<y>270</y> | |||||
<width>81</width> | |||||
<height>20</height> | |||||
</rect> | |||||
</property> | |||||
<property name="font"> | |||||
<font> | |||||
<family>MS Shell Dlg 2</family> | |||||
<pointsize>10</pointsize> | |||||
<weight>50</weight> | |||||
<italic>false</italic> | |||||
<bold>false</bold> | |||||
</font> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">font: 10pt "MS Shell Dlg 2"; | |||||
color: rgb(255, 255, 255);</string> | |||||
</property> | |||||
<property name="text"> | |||||
<string>Username</string> | |||||
</property> | |||||
</widget> | |||||
<widget class="QLabel" name="labelPassword"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>440</x> | |||||
<y>370</y> | |||||
<width>81</width> | |||||
<height>20</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">font: 10pt "MS Shell Dlg 2"; | |||||
color: rgb(255, 255, 255);</string> | |||||
</property> | |||||
<property name="text"> | |||||
<string>Password</string> | |||||
</property> | |||||
</widget> | |||||
<widget class="QLabel" name="labelError"> | |||||
<property name="geometry"> | |||||
<rect> | |||||
<x>440</x> | |||||
<y>456</y> | |||||
<width>341</width> | |||||
<height>20</height> | |||||
</rect> | |||||
</property> | |||||
<property name="styleSheet"> | |||||
<string notr="true">font: 12pt "MS Shell Dlg 2"; color:red;</string> | |||||
</property> | |||||
<property name="text"> | |||||
<string/> | |||||
</property> | |||||
</widget> | |||||
</widget> | |||||
</widget> | |||||
<resources/> | |||||
<connections/> | |||||
</ui> |
@@ -0,0 +1,124 @@ | |||||
import sys | |||||
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QPushButton, QLabel, QVBoxLayout, QWidget | |||||
from PyQt5.QtMultimediaWidgets import QVideoWidget | |||||
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent | |||||
from PyQt5.QtCore import QUrl | |||||
import speech_recognition as sr | |||||
import question | |||||
import os | |||||
current_directory = os.path.dirname(os.path.realpath(__file__)) | |||||
main_video_path = os.path.join(current_directory, 'Friendly_new.mp4') | |||||
class HospitalChatbotGUI(QMainWindow): | |||||
def __init__(self): | |||||
super().__init__() | |||||
self.setWindowTitle("Hospital Chatbot") | |||||
self.setGeometry(100, 100, 800, 600) | |||||
self.central_widget = QWidget(self) | |||||
self.setCentralWidget(self.central_widget) | |||||
self.layout = QVBoxLayout() | |||||
#self.submit_button = QPushButton("Submit", self) | |||||
#self.submit_button.clicked.connect(self.get_response) | |||||
#self.layout.addWidget(self.submit_button) | |||||
self.speak_button = QPushButton("Speak", self) | |||||
self.speak_button.clicked.connect(self.audio_to_text) | |||||
self.layout.addWidget(self.speak_button) | |||||
self.video_widget = QVideoWidget(self) | |||||
self.layout.addWidget(self.video_widget) | |||||
#self.video_widget.setFixedWidth(500) | |||||
self.central_widget.setLayout(self.layout) | |||||
self.media_player = QMediaPlayer() | |||||
self.media_player.setVideoOutput(self.video_widget) | |||||
self.media_player.mediaStatusChanged.connect(self.handle_media_status_changed) | |||||
#self.sample_video_url = "/home/knight/ChatBot_UI/Friendly_new.mp4" | |||||
self.sample_video_url = main_video_path | |||||
self.answer_video_url = None | |||||
self.play_video(self.sample_video_url) | |||||
def audio_to_text(self): | |||||
init_rec = sr.Recognizer() | |||||
print("Let's speak!!") | |||||
with sr.Microphone(3) as source: | |||||
audio_data = init_rec.record(source, duration=2) | |||||
print("Recognizing your text.............") | |||||
text = init_rec.recognize_google(audio_data) | |||||
self.get_response(text.strip()) | |||||
print(text) | |||||
def get_response(self,text): | |||||
video_url = None | |||||
print("Response Text: ",text) | |||||
user_input = text.strip() | |||||
lowercase_text = user_input.lower() | |||||
matching_intent = [intent for intent, questions in question.intents_and_question.items() if any(q in lowercase_text for q in questions)] | |||||
if matching_intent: | |||||
print("Intent: ", matching_intent[0]) | |||||
video_url = question.get_video_response(matching_intent[0]) | |||||
else: | |||||
print("No matching intent found.") | |||||
if video_url: | |||||
self.play_video(video_url) | |||||
return | |||||
matching_intent = None | |||||
#self.play_video("/home/knight/ChatBot_UI/Friendly_new.mp4") | |||||
self.play_video(main_video_path) | |||||
def play_video(self, video_url): | |||||
media_content = QMediaContent(QUrl.fromLocalFile(video_url)) | |||||
self.media_player.setMedia(media_content) | |||||
self.media_player.play() | |||||
def handle_media_status_changed(self, status): | |||||
if status == QMediaPlayer.EndOfMedia: | |||||
print("Video finished playing.") | |||||
#self.play_video("/home/knight/ChatBot_UI/Friendly_new.mp4") | |||||
self.play_video(main_video_path) | |||||
if __name__ == '__main__': | |||||
app = QApplication(sys.argv) | |||||
window = HospitalChatbotGUI() | |||||
window.show() | |||||
sys.exit(app.exec_()) |
@@ -0,0 +1,217 @@ | |||||
import os | |||||
current_directory = os.path.dirname(os.path.realpath(__file__)) | |||||
intents_and_question = { | |||||
"greet": [ | |||||
"hey", | |||||
"hello", | |||||
"Hello?", | |||||
"hello?", | |||||
"hi", | |||||
"hello there", | |||||
"good morning", | |||||
"good evening", | |||||
"moin", | |||||
"hey there", | |||||
"let's go", | |||||
"hey dude", | |||||
"goodmorning", | |||||
"goodevening", | |||||
"good afternoon" | |||||
], | |||||
"appointment_booking": [ | |||||
"How can I schedule an appointment", | |||||
"I need to book an appointment with a doctor", | |||||
"what's the procedure for booking an appointment", | |||||
"hello, I'd like to schedule an appointment.", | |||||
"book an appointment", | |||||
"appointment", | |||||
"need an appointment" | |||||
], | |||||
"doctor_information": [ | |||||
"tell me more about dr. abc", | |||||
"what's the specialty of dr. abc", | |||||
"give me the contact details for dr. abc" | |||||
"doctor", | |||||
"contact doctor", | |||||
"doctor contact", | |||||
"doctor detail", | |||||
"detail doctor" | |||||
], | |||||
"department_information": [ | |||||
"which departments are available in the hospital", | |||||
"can you provide details about the cardiology department", | |||||
"tell me more about the pediatric department", | |||||
"department", | |||||
"which department", | |||||
"department info" | |||||
], | |||||
"visiting_hours":[ | |||||
"what are the visiting hours for patients", | |||||
"when can I visit a patient in the hospital", | |||||
"is there a specific time for visiting hours", | |||||
"visiting time", | |||||
"visit", | |||||
"time", | |||||
"time to visit", | |||||
"visit time", | |||||
"hospital visit", | |||||
"visit hospital" | |||||
], | |||||
"location_and_directions":[ | |||||
"how do I get to the hospital", | |||||
"can you provide me with directions to your location", | |||||
"where is the hospital situated", | |||||
"direction", | |||||
"direction hospital", | |||||
"hospital direction", | |||||
"location", | |||||
"hospital location" | |||||
], | |||||
"billing_and_insurance": [ | |||||
"how do I pay my medical bills", | |||||
"do you accept my insurance", | |||||
"what's the billing process for a hospital stay", | |||||
"bills", | |||||
"insurance", | |||||
"pay bill", | |||||
], | |||||
"medical_records": [ | |||||
"how can I access my medical records", | |||||
"request my medical history", | |||||
"I need a copy of my lab results", | |||||
"medical records", | |||||
"medical record", | |||||
"record", | |||||
"records", | |||||
"record medical", | |||||
"results", | |||||
"lab results", | |||||
"result copy", | |||||
"copy result" | |||||
], | |||||
"emergency_services": [ | |||||
"what should I do in case of a medical emergency", | |||||
"how do I contact the hospital in an emergency", | |||||
"tell me about your emergency services", | |||||
"emergency", | |||||
"emergency service" | |||||
], | |||||
"covid19_information": [ | |||||
"what safety measures are in place due to COVID-19", | |||||
"is it safe to visit the hospital during the pandemic", | |||||
"do you offer COVID-19 testing or vaccinations", | |||||
"covid19" | |||||
], | |||||
"feedback_and_complaints": [ | |||||
"I want to provide feedback about my experience", | |||||
"how can I file a complaint about a staff member", | |||||
"share my thoughts on my recent visit", | |||||
"feedback", | |||||
"complaints", | |||||
"complain", | |||||
"share thoughts", | |||||
"experiance" | |||||
], | |||||
"general_information": [ | |||||
"tell me more about the hospital", | |||||
"what services do you offer", | |||||
"is there a cafeteria in the hospital", | |||||
"information", | |||||
"cafeteria", | |||||
"services", | |||||
"services offered", | |||||
"offered services" | |||||
] | |||||
} | |||||
'''video_urls = { | |||||
"greet": "/home/knight/ChatBot_UI/video/greet.mp4", | |||||
"appointment_booking": "/home/knight/ChatBot_UI/video/appointment_booking.mp4", | |||||
"doctor_information": "/home/knight/ChatBot_UI/video/doctor_information.mp4", | |||||
"department_information": "/home/knight/ChatBot_UI/video/department_information.mp4", | |||||
"visiting_hours": "/home/knight/ChatBot_UI/video/visiting_hours.mp4", | |||||
"location_and_directions": "/home/knight/ChatBot_UI/video/location_and_directions.mp4", | |||||
"billing_and_insurance": "/home/knight/ChatBot_UI/video/billing_and_insurance.mp4", | |||||
"medical_records": "/home/knight/ChatBot_UI/video/medical_records.mp4", | |||||
"emergency_assistance": "/home/knight/ChatBot_UI/video/emergency_services.mp4", | |||||
"covid19_information": "/home/knight/ChatBot_UI/video/covid19_information.mp4", | |||||
"feedback_and_complaints": "/home/knight/ChatBot_UI/video/feedback_and_complaints.mp4", | |||||
"thank_you": "/home/knight/ChatBot_UI/video/thank_you.mp4", | |||||
"general_information": "/home/knight/ChatBot_UI/video/general_information.mp4" | |||||
}''' | |||||
video_urls = { | |||||
"greet": os.path.join(current_directory, 'video', 'greet.mp4'), | |||||
"appointment_booking": os.path.join(current_directory, 'video', 'appointment_booking.mp4'), | |||||
"doctor_information": os.path.join(current_directory, 'video', 'doctor_information.mp4'), | |||||
"department_information": os.path.join(current_directory, 'video' ,'department_information.mp4'), | |||||
"visiting_hours": os.path.join(current_directory, 'video', 'visiting_hours.mp4'), | |||||
"location_and_directions": os.path.join(current_directory, 'video','location_and_directions.mp4'), | |||||
"billing_and_insurance": os.path.join(current_directory, 'video', 'billing_and_insurance.mp4'), | |||||
"medical_records": os.path.join(current_directory, 'video', 'medical_records.mp4'), | |||||
"emergency_assistance": os.path.join(current_directory, 'video','emergency_services.mp4'), | |||||
"covid19_information": os.path.join(current_directory, 'video','covid19_information.mp4'), | |||||
"feedback_and_complaints": os.path.join(current_directory, 'video','feedback_and_complaints.mp4'), | |||||
"thank_you": os.path.join(current_directory, 'video','video/thank_you.mp4'), | |||||
"general_information": os.path.join(current_directory, 'video','general_information.mp4') | |||||
} | |||||
def get_video_response(intent): | |||||
return video_urls.get(intent) | |||||
#print(get_video_response('greet')) | |||||