# Animal Management Plugin — Project Requirements ## Purpose Manage animal profiles, intake, transfers, progress, and adoption. Enable public and admin/rescue/staff workflows for animal intake, care, transfer, and adoption. ## Features - Animal profile pages (public details, gallery, donation/adoption options, comments) - Unique animal IDs for transfer/ownership tracking - Transfer options and AI-powered match suggestions - Social media feed per animal (follow, post updates) - Search/filter animal profiles (various display modes) - Intake form (flexible fields, AI suggestions) - Medical Visit Form (for documenting medical/vetrinary visits) - Progress updates (routine care, behavioral, daily life) - Placement/adoption/transfer workflows ## Access Control - User: Read only - Admin/Rescue/Staff: Manage - Social: Manage animal feeds ## Data Model >These are the default fields, Admin/Rescue/Staff can manage additional fields & all field groups, and hide/show any field >Default fields should only be managable by Admin to avoid breaking a feature that relys on specific fields - Animal: - Basic fields: - id - name - DOB - breed - age - previous owner >If the previous owner has an account on this humhub network the User ID field is used to link the account >instead of copying the contact details which could cause data inconsistency. - User ID (if on this humhub network) >If not on this humhub network these fields are used and User ID is not - Name - Business Name - Street Address - City - State - Zip - Cell phone - Business phone - Email - History fields: - Lineage - backstory - Gallery: - Staff/Social users post to the animals feed with #gallery as a tag and the image gets added to the animals gallery. - Staff/Social user can upload images directly to gallery - Medical fields: - Weight - Pulse - Blood Pressure - Oxygen - Chronic Conditions - Acute Conditions - Special Needs - Date of this Medical Visit - Date of Most Recent Medical Visit - Physician - Name - Business Name - Street Address - City - State - Zip - Cell phone - Business phone - License Number - Physician - Name - Business Name - Street Address - City - State - Zip - Cell phone - Business phone - License Number - Previous Physician(s) - Name - Business Name - Street Address - City - State - Zip - Cell phone - Business phone - License Number - Location fields: - Rescue - Location Name - city - state - zip - On animal intake form - When animal is not their possession yet. - If previous owner's city/state are known autopopulate the Location Name form field with the City and/or State properly capitalized - The user can enter a string of their choosing - When the animal is in their possession - The Rescue field is populated by this rescue's id, Location Name field is populated by the Rescue's name - The city,state,zip fields are cleared and unused. - Transfer: from/to, status, agreements, notifications - Progress: vitals, notes, updates, media ## Workflows - Intake: add new animal, flexible/unknown fields, AI suggestions - Progress: regular updates, post to feeds - Medical Visit: document a medical/vetrinary visit, information collected by a Rescue/Staff user, does not include gallery or Location fields - Placement: adoption or transfer, notifications, agreements ## Integration Points - AI for matching, meal/vitals suggestions, owner lookup - Social feed, donation/adoption blocks ## Open Questions / Needs Clarification - What are the privacy requirements for animal data? >Research this and advice, focus on requirements in CT to start. - How are transfer agreements and notifications managed? >All notifications use the humhub notification system >Transfer workflow is defined in custom-plugins.md - What is the approval process for posts/updates? >No approval needed for posts/updates by Admin/Rescue/Staff >Optional setting to require approval for posts from Social user >Research approval process options ## Notes - Add more detail on transfer workflow, AI requirements, and privacy as needed.