Skip to content

Smart Discord bot designed to assist medical interpreters by providing and organizing commonly used medical terms in specific specialties.

License

Notifications You must be signed in to change notification settings

diegoabeltran16/Medical-Interpreter-Bot

Repository files navigation

Medical Interpreter Discord Bot

Español - English

Description

The Medical Interpreter Discord Bot is designed to assist medical interpreters by providing and organizing commonly used medical terms across various specialties. It supports real-time queries, allows for the easy addition of new terms, and provides relevant terms and definitions based on user input without requiring explicit commands.

Scope

Develop a smart Discord bot designed to assist medical interpreters by providing and organizing commonly used medical terms in specific specialties. The bot will support real-time queries, allow for the easy addition of new terms, and provide relevant terms and definitions based on user input without requiring explicit commands.

Objectives

  • Enable quick and intuitive access to medical terms for interpreters during consultations.
  • Automatically analyze and organize new information provided by users.
  • Provide specialty-specific term lists.
  • Allow for easy expansion and updates to the database.
  • Ensure the bot is user-friendly and accessible.
  • Incorporate best programming practices for maintainability and scalability.

Requirements

Technical Requirements

  • Python 3.6+
  • Libraries:
  • discord.py
  • SQLite
  • pandas
  • scikit-learn
  • schedule
  • spaCy/NLTK
  • transformers
  • dotenv
  • Discord bot token
  • Version control with Git

Functional Requirements

  • NLU capabilities to recognize terms and context without explicit commands.
  • User input analysis to identify new terms and their definitions.
  • Automated database updates.
  • Specialty prediction based on term definitions.

Non-Functional Requirements

  • User-friendly and intuitive interface.
  • Secure data handling and storage.
  • Scalable architecture for future enhancements.
  • Compliance with coding standards and best practices.
Architecture

Components

  • Discord Bot: Handles user interactions and commands, with NLU capabilities.
  • Database: Stores medical terms and their definitions.
  • NLU Model: Recognizes and organizes terms based on user input.
  • Automation Scripts: Schedule regular updates and maintenance tasks.
Best Practices for Programming

Project Organization:

  • Maintain a clear and consistent directory structure.
  • Use version control (Git) and maintain a clear commit history.

Coding Standards:

  • Follow PEP 8 style guide.
  • Use linters like flake8 or pylint to enforce coding standards.
  • Document modules, classes, and functions with clear docstrings.
  • Write modular code with single responsibility principles.

Error Handling and Logging:

  • Implement robust error handling with try-except blocks.
  • Use the logging module for logging events and errors.
  • Configure logging levels (DEBUG, INFO, WARNING, ERROR, CRITICAL).

Database Management:

  • Use ORM (Object-Relational Mapping) like SQLAlchemy for database interactions.
  • Ensure data integrity with clear schemas and constraints.
  • Validate inputs to prevent inconsistent data.

NLU Model:

  • Choose appropriate NLP tools (spaCy, NLTK, transformers) for natural language understanding.
  • Train the model with a diverse and representative dataset.
  • Evaluate model performance with cross-validation and other metrics.
  • Regularly retrain the model with new data.

Automation and Scheduling:

  • Use the schedule library for automated updates and maintenance.
  • Handle network issues and partial failures gracefully in automation scripts.

Security Best Practices:

  • Store sensitive information in environment variables using a .env file.
  • Sanitize user inputs to prevent injection attacks.

Testing and Deployment:

  • Write unit tests using unittest or pytest.
  • Aim for high test coverage.
  • Set up CI/CD pipelines (e.g., GitHub Actions, Travis CI) for automated testing and deployment.

User Experience:

  • Design intuitive and consistent interactions.
  • Provide clear and concise responses.
  • Collect user feedback and incorporate it into improvements.

Contributing xxx

Authors and Acknowledgments xxx

License xxx

Project Status This project is actively maintained. If you are interested in contributing or have any questions, please reach out to us.

About

Smart Discord bot designed to assist medical interpreters by providing and organizing commonly used medical terms in specific specialties.

Resources

License

Stars

Watchers

Forks