diff --git a/hackathon/AI-Care(novathon)/.env b/hackathon/AI-Care(novathon)/.env new file mode 100644 index 00000000..ec78a96c --- /dev/null +++ b/hackathon/AI-Care(novathon)/.env @@ -0,0 +1 @@ +GOOGLE_API_KEY="AIzaSyDIJJGW7zSbkDzcV8uwZTDnUF1_S2PW8Bk" diff --git a/hackathon/AI-Care(novathon)/CA/bars.svg b/hackathon/AI-Care(novathon)/CA/bars.svg new file mode 100644 index 00000000..faff4482 --- /dev/null +++ b/hackathon/AI-Care(novathon)/CA/bars.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/hackathon/AI-Care(novathon)/CA/ca.html b/hackathon/AI-Care(novathon)/CA/ca.html new file mode 100644 index 00000000..7c75bc31 --- /dev/null +++ b/hackathon/AI-Care(novathon)/CA/ca.html @@ -0,0 +1,65 @@ + + + + + + + + Consultation Analysis + + +
+

Consultation Analysis

+

Summarizes doctor-patient talks in real time, providing clear, detailed medical reports.

+
+
+
+

Language

+ +
+
+
+ +

Result :

+
+

+
+
+ + +
+
+ + + + + + + + + + + + diff --git a/hackathon/AI-Care(novathon)/CA/languages.js b/hackathon/AI-Care(novathon)/CA/languages.js new file mode 100644 index 00000000..0ff774ec --- /dev/null +++ b/hackathon/AI-Care(novathon)/CA/languages.js @@ -0,0 +1,350 @@ +const languages = [ + { + no: "16", + name: "English", + native: "English", + code: "en", + }, + { + no: "1", + name: "Afrikaans", + native: "Afrikaans", + code: "af", + }, + { + no: "2", + name: "Albanian", + native: "Shqip", + code: "sq", + }, + { + no: "3", + name: "Arabic", + native: "عربي", + code: "ar", + }, + { + no: "4", + name: "Armenian", + native: "Հայերէն", + code: "hy", + }, + { + no: "5", + name: "Azerbaijani", + native: "آذربایجان دیلی", + code: "az", + }, + { + no: "6", + name: "Basque", + native: "Euskara", + code: "eu", + }, + { + no: "7", + name: "Belarusian", + native: "Беларуская", + code: "be", + }, + { + no: "8", + name: "Bulgarian", + native: "Български", + code: "bg", + }, + { + no: "9", + name: "Catalan", + native: "Català", + code: "ca", + }, + { + no: "10", + name: "Chinese (Simplified)", + native: "中文简体", + code: "zh-CN", + }, + { + no: "11", + name: "Chinese (Traditional)", + native: "中文繁體", + code: "zh-TW", + }, + { + no: "12", + name: "Croatian", + native: "Hrvatski", + code: "hr", + }, + { + no: "13", + name: "Czech", + native: "Čeština", + code: "cs", + }, + { + no: "14", + name: "Danish", + native: "Dansk", + code: "da", + }, + { + no: "15", + name: "Dutch", + native: "Nederlands", + code: "nl", + }, + { + no: "17", + name: "Estonian", + native: "Eesti keel", + code: "et", + }, + { + no: "18", + name: "Filipino", + native: "Filipino", + code: "tl", + }, + { + no: "19", + name: "Finnish", + native: "Suomi", + code: "fi", + }, + { + no: "20", + name: "French", + native: "Français", + code: "fr", + }, + { + no: "21", + name: "Galician", + native: "Galego", + code: "gl", + }, + { + no: "22", + name: "Georgian", + native: "ქართული", + code: "ka", + }, + { + no: "23", + name: "German", + native: "Deutsch", + code: "de", + }, + { + no: "24", + name: "Greek", + native: "Ελληνικά", + code: "el", + }, + { + no: "25", + name: "Haitian Creole", + native: "Kreyòl ayisyen", + code: "ht", + }, + { + no: "26", + name: "Hebrew", + native: "עברית", + code: "iw", + }, + { + no: "27", + name: "Hindi", + native: "हिन्दी", + code: "hi", + }, + { + no: "28", + name: "Hungarian", + native: "Magyar", + code: "hu", + }, + { + no: "29", + name: "Icelandic", + native: "Íslenska", + code: "is", + }, + { + no: "30", + name: "Indonesian", + native: "Bahasa Indonesia", + code: "id", + }, + { + no: "31", + name: "Irish", + native: "Gaeilge", + code: "ga", + }, + { + no: "32", + name: "Italian", + native: "Italiano", + code: "it", + }, + { + no: "33", + name: "Japanese", + native: "日本語", + code: "ja", + }, + { + no: "34", + name: "Korean", + native: "한국어", + code: "ko", + }, + { + no: "35", + name: "Latvian", + native: "Latviešu", + code: "lv", + }, + { + no: "36", + name: "Lithuanian", + native: "Lietuvių kalba", + code: "lt", + }, + { + no: "37", + name: "Macedonian", + native: "Македонски", + code: "mk", + }, + { + no: "38", + name: "Malay", + native: "Malay", + code: "ms", + }, + { + no: "39", + name: "Maltese", + native: "Malti", + code: "mt", + }, + { + no: "40", + name: "Norwegian", + native: "Norsk", + code: "no", + }, + { + no: "41", + name: "Persian", + native: "فارسی", + code: "fa", + }, + { + no: "42", + name: "Polish", + native: "Polski", + code: "pl", + }, + { + no: "43", + name: "Portuguese", + native: "Português", + code: "pt", + }, + { + no: "44", + name: "Romanian", + native: "Română", + code: "ro", + }, + { + no: "45", + name: "Russian", + native: "Русский", + code: "ru", + }, + { + no: "46", + name: "Serbian", + native: "Српски", + code: "sr", + }, + { + no: "47", + name: "Slovak", + native: "Slovenčina", + code: "sk", + }, + { + no: "48", + name: "Slovenian", + native: "Slovensko", + code: "sl", + }, + { + no: "49", + name: "Spanish", + native: "Español", + code: "es", + }, + { + no: "50", + name: "Swahili", + native: "Kiswahili", + code: "sw", + }, + { + no: "51", + name: "Swedish", + native: "Svenska", + code: "sv", + }, + { + no: "52", + name: "Thai", + native: "ไทย", + code: "th", + }, + { + no: "53", + name: "Turkish", + native: "Türkçe", + code: "tr", + }, + { + no: "54", + name: "Ukrainian", + native: "Українська", + code: "uk", + }, + { + no: "55", + name: "Urdu", + native: "اردو", + code: "ur", + }, + { + no: "56", + name: "Vietnamese", + native: "Tiếng Việt", + code: "vi", + }, + { + no: "57", + name: "Welsh", + native: "Cymraeg", + code: "cy", + }, + { + no: "58", + name: "Yiddish", + native: "ייִדיש", + code: "yi", + }, +]; diff --git a/hackathon/AI-Care(novathon)/CA/script.js b/hackathon/AI-Care(novathon)/CA/script.js new file mode 100644 index 00000000..2b737a69 --- /dev/null +++ b/hackathon/AI-Care(novathon)/CA/script.js @@ -0,0 +1,112 @@ +const recordBtn = document.querySelector(".record"), + result = document.querySelector(".result"), + downloadBtn = document.querySelector(".download"), + inputLanguage = document.querySelector("#language"), + clearBtn = document.querySelector(".clear"); + +let SpeechRecognition = + window.SpeechRecognition || window.webkitSpeechRecognition, + recognition, + recording = false; + +function populateLanguages() { + languages.forEach((lang) => { + const option = document.createElement("option"); + option.value = lang.code; + option.innerHTML = lang.name; + inputLanguage.appendChild(option); + }); +} + +populateLanguages(); + +function speechToText() { + try { + recognition = new SpeechRecognition(); + recognition.lang = inputLanguage.value; + recognition.interimResults = true; + recordBtn.classList.add("recording"); + recordBtn.querySelector("p").innerHTML = "Listening..."; + recognition.start(); + recognition.onresult = (event) => { + const speechResult = event.results[0][0].transcript; + //detect when intrim results + if (event.results[0].isFinal) { + result.innerHTML += " " + speechResult; + result.querySelector("p").remove(); + } else { + //creative p with class interim if not already there + if (!document.querySelector(".interim")) { + const interim = document.createElement("p"); + interim.classList.add("interim"); + result.appendChild(interim); + } + //update the interim p with the speech result + document.querySelector(".interim").innerHTML = " " + speechResult; + } + downloadBtn.disabled = false; + }; + recognition.onspeechend = () => { + speechToText(); + }; + recognition.onerror = (event) => { + stopRecording(); + if (event.error === "no-speech") { + alert("No speech was detected. Stopping..."); + } else if (event.error === "audio-capture") { + alert( + "No microphone was found. Ensure that a microphone is installed." + ); + } else if (event.error === "not-allowed") { + alert("Permission to use microphone is blocked."); + } else if (event.error === "aborted") { + alert("Listening Stopped."); + } else { + alert("Error occurred in recognition: " + event.error); + } + }; + } catch (error) { + recording = false; + + console.log(error); + } +} + +recordBtn.addEventListener("click", () => { + if (!recording) { + speechToText(); + recording = true; + } else { + stopRecording(); + } +}); + +function stopRecording() { + recognition.stop(); + recordBtn.querySelector("p").innerHTML = "Start Listening"; + recordBtn.classList.remove("recording"); + recording = false; +} + +function download() { + const text = result.innerText; + const filename = "speech.txt"; + + const element = document.createElement("a"); + element.setAttribute( + "href", + "data:text/plain;charset=utf-8," + encodeURIComponent(text) + ); + element.setAttribute("download", filename); + element.style.display = "none"; + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); +} + +downloadBtn.addEventListener("click", download); + +clearBtn.addEventListener("click", () => { + result.innerHTML = ""; + downloadBtn.disabled = true; +}); diff --git a/hackathon/AI-Care(novathon)/CA/style.css b/hackathon/AI-Care(novathon)/CA/style.css new file mode 100644 index 00000000..90e5549b --- /dev/null +++ b/hackathon/AI-Care(novathon)/CA/style.css @@ -0,0 +1,130 @@ +@import url(https://fonts.googleapis.com/css?family=Poppins:100,100italic,200,200italic,300,300italic,regular,italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic); + +:root { + --primary-color: #356aff; + --bg-color: #fff; + --text-color: #000; + --light-text-color: #a5a5a5; + --body-bg-color: #f5f5f5; +} +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: "Poppins", sans-serif; +} +body { + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + background-color: var(--body-bg-color); + color: var(--text-color); +} +.container { + width: 400px; + padding: 20px; + border-radius: 10px; + background-color: var(--bg-color); +} +.container .heading { + font-size: 25px; + font-weight: 500; + margin-bottom: 10px; +} +.container2 { + display: flex; + flex-direction: column; + align-items: center; + width: 800px; + padding: 20px; + border-radius: 10px; + background-color: var(--bg-color); +} +.container2 .heading { + font-size: 25px; + font-weight: 500; + margin-bottom: 10px; +} +.container .options select { + width: 100%; + padding: 10px; + border: 1px solid var(--light-text-color); + border-radius: 5px; + outline: none; +} +.container .options div:not(:last-child) select { + margin-bottom: 20px; +} + +.container .options p { + font-size: 14px; + font-weight: 600; + margin-bottom: 5px; + color: var(--light-text-color); +} +.container .line { + position: relative; + width: 100%; + height: 1px; + background-color: var(--light-text-color); + opacity: 0.5; + margin: 30px 0; +} +.btn { + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + margin-bottom: 20px; + height: 60px; + padding: 20px; + width: 100%; + outline: none; + border: none; + border-radius: 5px; + font-size: 20px; + font-weight: 500; + cursor: pointer; + color: #fff; + background-color: var(--primary-color); +} +.btn ion-icon { + font-size: 30px; +} +.btn:disabled { + background-color: var(--light-text-color); + cursor: not-allowed; +} +.container .record img { + width: 30px; + height: 30px; + display: none; +} +.container .record.recording img { + display: block; +} +.container .record.recording ion-icon { + display: none; +} +.container .result { + width: 100%; + min-height: 200px; + padding: 10px; + border: 1px solid var(--light-text-color); + border-radius: 5px; + font-size: 18px; + font-weight: 500; + margin-bottom: 20px; + color: var(--text-color); +} +.container .result p { + display: inline; + margin-left: 3px; + color: var(--light-text-color); +} +.buttons { + display: flex; + gap: 20px; +} diff --git a/hackathon/AI-Care(novathon)/app.py b/hackathon/AI-Care(novathon)/app.py new file mode 100644 index 00000000..f1fdeb61 --- /dev/null +++ b/hackathon/AI-Care(novathon)/app.py @@ -0,0 +1,57 @@ +import subprocess +import re +import webbrowser +from flask import Flask, render_template + +app = Flask(__name__) + +# Route to display the buttons +@app.route('/') +def index(): + return render_template('index.html') + +# Route for About Us page (about_us.html) +@app.route('/about_us') +def about_us(): + return render_template('about_us.html') + +# Route for Scan AI page (scan_ai.html) +@app.route('/scan_ai') +def scan_ai(): + return render_template('scan_ai.html') + +# Route for Invoice Decoder page (invoice_decoder.html) +@app.route('/invoice_decoder') +def invoice_decoder(): + return render_template('invoice_decoder.html') + +# Route for Consultation Analysis page (consultation_analysis.html) +@app.route('/consultation_analysis') +def consultation_analysis(): + return render_template('consultation_analysis.html') + +# Route to run scanAi.py with Streamlit +@app.route('/run_button1', methods=['POST']) +def run_button1(): + try: + # Run the scanAi.py Streamlit app in the background + subprocess.Popen(['streamlit', 'run', 'scanAi.py']) + except Exception as e: + print(f"Error running scanAi.py with Streamlit: {str(e)}") + # Stay on the index page without any message + return render_template('index.html') + +# Route to run invoiceDecoder.py with Streamlit +@app.route('/run_button2', methods=['POST']) +def run_button2(): + try: + # Run the invoiceDecoder.py Streamlit app in the background + subprocess.Popen(['streamlit', 'run', 'invoiceDecoder.py']) + except Exception as e: + print(f"Error running invoiceDecoder.py with Streamlit: {str(e)}") + # Stay on the index page without any message + return render_template('index.html') + + +if __name__ == "__main__": + app.run(debug=True) diff --git a/hackathon/AI-Care(novathon)/google_api_key.py b/hackathon/AI-Care(novathon)/google_api_key.py new file mode 100644 index 00000000..b929957f --- /dev/null +++ b/hackathon/AI-Care(novathon)/google_api_key.py @@ -0,0 +1 @@ +google_api_key='AIzaSyB5IM3-8h8SljeUWXl-58pceOev8bON4hU' \ No newline at end of file diff --git a/hackathon/AI-Care(novathon)/images/About.jpg b/hackathon/AI-Care(novathon)/images/About.jpg new file mode 100644 index 00000000..8e7feaf3 Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/About.jpg differ diff --git a/hackathon/AI-Care(novathon)/images/ConsultAnalysis2.jpg b/hackathon/AI-Care(novathon)/images/ConsultAnalysis2.jpg new file mode 100644 index 00000000..268c4a7a Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/ConsultAnalysis2.jpg differ diff --git a/hackathon/AI-Care(novathon)/images/ConsultationAnalysis.jpg b/hackathon/AI-Care(novathon)/images/ConsultationAnalysis.jpg new file mode 100644 index 00000000..a8c5c826 Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/ConsultationAnalysis.jpg differ diff --git a/hackathon/AI-Care(novathon)/images/Invoice.jpg b/hackathon/AI-Care(novathon)/images/Invoice.jpg new file mode 100644 index 00000000..d03d821d Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/Invoice.jpg differ diff --git a/hackathon/AI-Care(novathon)/images/Invoice2.jpg b/hackathon/AI-Care(novathon)/images/Invoice2.jpg new file mode 100644 index 00000000..4b51f63d Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/Invoice2.jpg differ diff --git a/hackathon/AI-Care(novathon)/images/Scan AI.jpg b/hackathon/AI-Care(novathon)/images/Scan AI.jpg new file mode 100644 index 00000000..65fd2eb4 Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/Scan AI.jpg differ diff --git a/hackathon/AI-Care(novathon)/images/ScanAI2.jpg b/hackathon/AI-Care(novathon)/images/ScanAI2.jpg new file mode 100644 index 00000000..70bffcd4 Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/ScanAI2.jpg differ diff --git a/hackathon/AI-Care(novathon)/images/bg_1.jpg b/hackathon/AI-Care(novathon)/images/bg_1.jpg new file mode 100644 index 00000000..98a9e004 Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/bg_1.jpg differ diff --git a/hackathon/AI-Care(novathon)/images/logo.png b/hackathon/AI-Care(novathon)/images/logo.png new file mode 100644 index 00000000..1502ee82 Binary files /dev/null and b/hackathon/AI-Care(novathon)/images/logo.png differ diff --git a/hackathon/AI-Care(novathon)/invoiceDecoder.py b/hackathon/AI-Care(novathon)/invoiceDecoder.py new file mode 100644 index 00000000..3013b15d --- /dev/null +++ b/hackathon/AI-Care(novathon)/invoiceDecoder.py @@ -0,0 +1,78 @@ +from dotenv import load_dotenv +import streamlit as st +import os +from PIL import Image +import google.generativeai as genai +from llmware.models import ModelCatalog # Import llmware model + +# Load environment variables +load_dotenv() # take environment variables from .env + +# Configure Google Generative AI +genai.configure(api_key=os.getenv("GOOGLE_API_KEY")) + +# Function to get response from Gemini model +def get_gemini_response(input, image, prompt): + model = genai.GenerativeModel('gemini-1.5-flash') + response = model.generate_content([input, image[0], prompt]) + return response.text + +# Function to process uploaded image +def input_image_setup(uploaded_file): + if uploaded_file is not None: + bytes_data = uploaded_file.getvalue() + image_parts = [ + { + "mime_type": uploaded_file.type, # Get the mime type of the uploaded file + "data": bytes_data + } + ] + return image_parts + else: + raise FileNotFoundError("No file uploaded") + +# Initialize the Streamlit app +st.set_page_config(page_title="Invoice Decoder") +st.title("Invoice Decoder") +st.subheader("Transforms invoices into readable text, simplifying billing across multiple languages.") +input = st.text_input("Input Prompt: ", key="input") +uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"]) +image = "" + +if uploaded_file is not None: + image = Image.open(uploaded_file) + st.image(image, caption="Uploaded Image.", use_column_width=True) + +submit = st.button("Execute Prompt") + +input_prompt = """ + You are an expert in understanding invoices. + You will receive input images as invoices & + you will have to answer questions based on the input image. + """ + +# If the submit button is clicked +if submit: + image_data = input_image_setup(uploaded_file) + # Get response from Gemini model + response = get_gemini_response(input_prompt, image_data, input) + + # Display the Gemini response (detailed analysis of the invoice) + st.subheader("The Response from Gemini Model") + st.write(response) + + # Now, integrate the llmware model to summarize the response + # Initialize llmware model for summarization + llm_model = ModelCatalog().load_model(selected_model="slim-summary-tool", sample=False, temperature=0.0, max_output=200) + + # Call llmware model to summarize the response from Gemini model + summary_response = llm_model.function_call(response, function="summarize", params=["summary points (5)"]) + + # Assuming the summary response is a list of points in the "llm_response" + if "llm_response" in summary_response: + st.subheader("Summary of the Invoice") + # Loop through the summary response list and display each point + for i, point in enumerate(summary_response["llm_response"]): + st.write(f"{i + 1}. {point}") + else: + st.write("No summary available.") diff --git a/hackathon/AI-Care(novathon)/readme.txt b/hackathon/AI-Care(novathon)/readme.txt new file mode 100644 index 00000000..0b07b45f --- /dev/null +++ b/hackathon/AI-Care(novathon)/readme.txt @@ -0,0 +1,2 @@ + +# AI-Care diff --git a/hackathon/AI-Care(novathon)/scanAi.py b/hackathon/AI-Care(novathon)/scanAi.py new file mode 100644 index 00000000..c12e6db5 --- /dev/null +++ b/hackathon/AI-Care(novathon)/scanAi.py @@ -0,0 +1,79 @@ +import streamlit as st +from pathlib import Path +import google.generativeai as genai +from google_api_key import google_api_key +from llmware.models import ModelCatalog + +# Configure Google API Key +genai.configure(api_key=google_api_key) + +# Streamlit App Setup +st.set_page_config(page_title="Scan AI", layout="wide") +st.title("Scan AI") +st.subheader("Upload medical images to get precise, AI-driven diagnoses for improved healthcare decisions.") + +# File upload widget +file_uploaded = st.file_uploader('Upload the image for Analysis', type=['png', 'jpg', 'jpeg']) + +# Set up the Gemini model +generation_config = { + "temperature": 1, + "top_p": 0.95, + "top_k": 0, + "max_output_tokens": 8192, +} + +safety_settings = [ + {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"}, + {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"}, + {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"}, + {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"}, +] + +system_prompts = [ + """ + You are a domain expert in medical image analysis. You are tasked with + examining medical images for a renowned hospital. + Your expertise will help in identifying or + discovering any anomalies, diseases, conditions or + any health issues that might be present in the image. + """ +] + +model = genai.GenerativeModel(model_name="gemini-1.5-flash", + generation_config=generation_config, + safety_settings=safety_settings) + +# Upload button and submission logic +if file_uploaded: + st.image(file_uploaded, width=200, caption='Uploaded Image') + + submit = st.button("Generate Analysis") + + if submit: + image_data = file_uploaded.getvalue() + image_parts = [{"mime_type": "image/jpg", "data": image_data}] + prompt_parts = [image_parts[0], system_prompts[0]] + + # Generate response from Gemini model + response = model.generate_content(prompt_parts) + + if response: + st.title('Detailed Analysis Based on the Uploaded Image') + st.write(response.text) + + # Now integrate llmware model to summarize the response + # Initialize llmware model for summarization + llm_model = ModelCatalog().load_model(selected_model="slim-summary-tool", sample=False, temperature=0.0, max_output=200) + + # Call llmware model to summarize the analysis response + summary_response = llm_model.function_call(response.text, function="summarize", params=["summary points (5)"]) + + # Assuming summary_response is a dictionary with a key "llm_response" containing a list of points + if "llm_response" in summary_response: + st.title('Summary of the Analysis') + # Loop through the summary response list and display each point + for i, point in enumerate(summary_response["llm_response"]): + st.write(f"{i+1}. {point}") + else: + st.write("No summary available.") diff --git a/hackathon/AI-Care(novathon)/templates/about_us.html b/hackathon/AI-Care(novathon)/templates/about_us.html new file mode 100644 index 00000000..9c770314 --- /dev/null +++ b/hackathon/AI-Care(novathon)/templates/about_us.html @@ -0,0 +1,116 @@ + + + + About + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+ +
+ +
+
+

About Us

+

At AI-CARE, we are dedicated to transforming healthcare through the power of artificial intelligence. Our platform integrates advanced technologies to enhance diagnostic accuracy, streamline communication, and improve patient care. By leveraging AI to analyze medical data, generate insightful reports, and automate critical workflows, we empower healthcare professionals to make informed decisions quickly and efficiently. With AI-CARE, we aim to simplify the healthcare experience, reduce administrative burdens, and ensure that every patient receives the highest quality care.

+
+
+
+
+
+
+
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hackathon/AI-Care(novathon)/templates/consultation_analysis.html b/hackathon/AI-Care(novathon)/templates/consultation_analysis.html new file mode 100644 index 00000000..4bd80813 --- /dev/null +++ b/hackathon/AI-Care(novathon)/templates/consultation_analysis.html @@ -0,0 +1,114 @@ + + + + Consultation Analysis + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+ +
+ +
+
+

Consultation Analysis

+ +

This feature transcribes and summarizes doctor-patient conversations in real-time, generating detailed reports with key symptoms, diagnosis suggestions, and treatment options, which are shared with patients for better understanding and engagement in their care.

+ +
+
+
+
+
+
+
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hackathon/AI-Care(novathon)/templates/index.html b/hackathon/AI-Care(novathon)/templates/index.html new file mode 100644 index 00000000..edee3bea --- /dev/null +++ b/hackathon/AI-Care(novathon)/templates/index.html @@ -0,0 +1,181 @@ + + + + AI Care + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ ... +
+
Scan AI
+

Upload medical images to get precise, AI-driven diagnoses for improved healthcare decisions.

+
+ +
+
+
+
+ ... +
+
Invoice Decoder
+

Transforms invoices into readable text, simplifying billing across multiple languages.

+
+ +
+
+
+
+ ... +
+
Consultation Analysis
+

Summarizes doctor-patient talks in real time, providing clear, detailed medical reports.

+ +
+
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hackathon/AI-Care(novathon)/templates/invoice_decoder.html b/hackathon/AI-Care(novathon)/templates/invoice_decoder.html new file mode 100644 index 00000000..7573e375 --- /dev/null +++ b/hackathon/AI-Care(novathon)/templates/invoice_decoder.html @@ -0,0 +1,119 @@ + + + + Invoice Decoder + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+ +
+ +
+
+

Invoice Decoder

+

Our multilingual invoice reader automatically converts invoice details into clear, descriptive text. With support for multiple languages, it ensures that healthcare providers and patients can understand billing details with ease. This tool streamlines financial processes, reduces misunderstandings, and helps maintain transparent communication between doctors, patients, and pharmacies.

+
+ +
+
+
+
+
+
+
+
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hackathon/AI-Care(novathon)/templates/scan_ai.html b/hackathon/AI-Care(novathon)/templates/scan_ai.html new file mode 100644 index 00000000..be7f5716 --- /dev/null +++ b/hackathon/AI-Care(novathon)/templates/scan_ai.html @@ -0,0 +1,119 @@ + + + + Scan AI + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+ +
+ +
+
+

Scan AI

+

Upload medical images and receive instant, AI-powered diagnoses using Google’s Gemini Pro Vision model. The system analyzes images to provide accurate insights into possible medical conditions. This tool enhances diagnostic accuracy, enabling healthcare providers to make informed decisions quickly. With advanced AI capabilities, it ensures fast and reliable results. Empowering healthcare professionals, it streamlines diagnostic workflows and improves patient care. Experience the future of medical analysis with cutting-edge technology.

+
+ +
+
+
+
+
+
+
+
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file