Titulo: Ánalisis de las Necropsias realizadas por 3 meses en el centro de rescate Alturas Wildlife Sanctuary
Por: Ana María Villada Rosales
Descripción del Proyecto
El centro de rescate Alturas Wildlife Sanctuary recibe una gran cantidad de animales de los cuales debido a lesiones severas mueren al arribó o debido a problemas muy severos su calidad de vida se ve terriblemente afectado y la eutanasia termina siendo la mejor opción (Orakpoghenor & Terfa, 2024). Debido a ello los resultados se han estado organizando dentro de una base de datos para tener reportes sobre los hallazgos y las muertes
Descripción del Problema
A pesar de que ellos poseen una base de datos de 3 meses con un análisis exhaustivo de las necropsias seria más util tener la base de datos de manera visual para un mejor entendimiento de las lesiones encontradas.
Justificación
A pesar de que realizar necropsias es una práctica común en centros de rescate el análisis de los datos no es algo que pase continuamente por lo que proveer un análisis de datos de la información reunida puede ayudar a los centros de rescate a entender mejor los casos y crear protocolos de acuerdo a los datos analizados.
Antecedentes
Las Necropsias, también llamadas autopsia animal, es un procedimiento indispensable en la medicina veterinaria que provee un medio comprensivo para investigar las causas de la mortalidad animal y entender los procesos de enfermedad en las poblaciones animales. En la medicina veterinaria moderna una herramienta de diagnóstico sumamente importante para explicar muertes y entender las enfermedades de los animales (Boileau & Kapil, 2010; Orakpoghenor & Terfa, 2024; Zühlke et al., 2021) que llegan a un centro de rescate donde se desconoce mucha de la historia de los animales, y donde los profesionales de veterinaria deben entender que es lo que sucede con sus pacientes con poca información y basándose en la historia natural de la especie.
Una vez realizada la necropsia es importante analizar los datos para entender las enfermedades que se encuentran en los ejemplares que arriban a centros de rescate. Para responder a las preguntas importantes la data se puede analizar usando varios sistemas de datos para proveer un mejor análisis(Slob et al., 2021) de la información expuesta durante las necropsias.
El uso de análisis de los sistemas de datos no solo proveerá respuestas a investigaciones(Slob et al., 2021) también ayudara a crear sistemas de análisis de enfermedades y un entendimiento de las principales enfermedades encontradas entre los pacientes(Boileau & Kapil, 2010; Moxley & Smith, 2010; Orakpoghenor & Terfa, 2024; Zühlke et al., 2021) que se encuentran más comúnmente en los centros de rescate.
Objetivos
- Analizar las clase(Ave, Mamífero o Reptil) que más se reciben en el centro de rescate
- Montar en el mapa las áreas de conservación que trabajan con Alturas
- Analizar visual e interactivamente las lesiones
Resultados y Futuros posibles usos
- La clase que más se recibe son Aves.
- 19 de los 41 ejemplares a los que se les hicieron necropsia fueron Eutanasiados.
- Lo más común es no poseer historia de los ejemplares y el motivo de llegada más comúnmente es incierto.
- Las lesiones que más amenazan la vida son lesiones traumáticas y sepsis, la severidad no se conoce hasta realizar la necropsia.
Futuro posible uso: Para un analisis más exhaustivo se pueden crear 3 bases de datos diferentes usando la clase (Aves, Mamíferos y Reptiles) y analizar los lesiones por especie.
!pip install openpyxl
import pandas as pd
!pip install geodatasets
import pandas as pd
import geopandas as gpd
import numpy as np
import geodatasets
from matplotlib import pyplot as plt
import chardet
with open('Base de datos necropsias.csv', 'rb') as f:
result = chardet.detect(f.read())
df = pd.read_csv('Base de datos necropsias.csv', encoding=result['encoding'])
df
Requirement already satisfied: openpyxl in /usr/local/lib/python3.10/dist-packages (3.1.5) Requirement already satisfied: et-xmlfile in /usr/local/lib/python3.10/dist-packages (from openpyxl) (1.1.0) Collecting geodatasets Downloading geodatasets-2024.8.0-py3-none-any.whl.metadata (5.4 kB) Requirement already satisfied: pooch in /usr/local/lib/python3.10/dist-packages (from geodatasets) (1.8.2) Requirement already satisfied: platformdirs>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pooch->geodatasets) (4.3.6) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from pooch->geodatasets) (24.1) Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from pooch->geodatasets) (2.32.3) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->geodatasets) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->geodatasets) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->geodatasets) (2.0.7) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->geodatasets) (2024.8.30) Downloading geodatasets-2024.8.0-py3-none-any.whl (20 kB) Installing collected packages: geodatasets Successfully installed geodatasets-2024.8.0
Número | Código | Género | Especie | Clase | Fecha necropsia | Tiempo fallecido | Procedencia | Localización | Edad | ... | Unnamed: 137 | Cloaca.1 | Unnamed: 139 | Bursa de Fabricio.1 | Unnamed: 141 | Cráneo y Cerebro | Unnamed: 143 | Huesos y articulaciones.1 | Unnamed: 145 | Diagnósticos | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1.0 | A-001-24 | Pulsatrix | perspicillata | Ave | 04-jun-24 | 24h | Vida Libre | 3.0 | Adulto | ... | NaN | Normal | NaN | Normal | NaN | Normal | NaN | Normal | NaN | Enfermedad metabólica ósea (EMO) |
1 | 2.0 | A-002-24 | Buteo | magnirostris | Ave | 11-jun-24 | 0h | Vida Libre | 3.0 | Adulto | ... | NaN | Hemorragia | NaN | No se evaluó | NaN | No se evaluó | NaN | Anquilosis | NaN | Tuberculosis |
2 | 3.0 | A-003-24 | Aramides | cajaneus | Ave | 13-jun-24 | 24h | Vida Libre | 2.0 | Adulto | ... | NaN | Impactación | NaN | Atrofiada/ausente | NaN | Absceso(s) | NaN | Artritis | NaN | Ictericia |
3 | 4.0 | A-004-24 | Pteroglossus | frantzii | Ave | 18-jun-24 | 36h | Vida Libre | 3.0 | Adulto | ... | NaN | Inflamación | NaN | No se identifica | NaN | Congestión | NaN | Deformidad | NaN | Clamidiasis |
4 | 5.0 | A-005-24 | Herpetotheres | cachinnans | Ave | 20-jun-24 | 0h | Vida Libre | 1.0 | Adulto | ... | NaN | Necrosis | NaN | Inflamación | NaN | Hemorragia | NaN | Dislocación | NaN | Candidiasis |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
244 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
245 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
246 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
247 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
248 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
249 rows × 147 columns
# Eliminar filas que solo tienen NAN
df = df.iloc[:41]
#Eliminar los unnamed que no se pudieron procesar
df = df.loc[:, ~df.columns.str.contains('^Unnamed')]
# Todo lo que dice NaN significa que es Normal por lo que se cambia a Normal
df = df.fillna("Normal")
df
Número | Código | Género | Especie | Clase | Fecha necropsia | Tiempo fallecido | Procedencia | Localización | Edad | ... | Molleja.1 | Duodeno.1 | Páncreas.1 | Yeyuno e íleon.1 | Ciegos | Cloaca.1 | Bursa de Fabricio.1 | Cráneo y Cerebro | Huesos y articulaciones.1 | Diagnósticos | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1.0 | A-001-24 | Pulsatrix | perspicillata | Ave | 04-jun-24 | 24h | Vida Libre | 3.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Enfermedad metabólica ósea (EMO) |
1 | 2.0 | A-002-24 | Buteo | magnirostris | Ave | 11-jun-24 | 0h | Vida Libre | 3.0 | Adulto | ... | Atrofia | Autolítico | Autolítico | Autolítico | No aplica a sp. | Hemorragia | No se evaluó | No se evaluó | Anquilosis | Tuberculosis |
2 | 3.0 | A-003-24 | Aramides | cajaneus | Ave | 13-jun-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Agenesia | Contenido anormal | Pancreatitis | Contenido anormal | Autolítico | Impactación | Atrofiada/ausente | Absceso(s) | Artritis | Ictericia |
3 | 4.0 | A-004-24 | Pteroglossus | frantzii | Ave | 18-jun-24 | 36h | Vida Libre | 3.0 | Adulto | ... | Contenido anormal | Cuerpo extraño | Atrofia | Cuerpo extraño | Contenido anormal | Inflamación | No se identifica | Congestión | Deformidad | Clamidiasis |
4 | 5.0 | A-005-24 | Herpetotheres | cachinnans | Ave | 20-jun-24 | 0h | Vida Libre | 1.0 | Adulto | ... | Cuerpo extraño | Congestión | Hemorragia | Congestión | Cuerpo extraño | Necrosis | Inflamación | Hemorragia | Dislocación | Candidiasis |
5 | 6.0 | A-006-24 | Brotogeris | jugularis | Ave | 21-jun-24 | 24h | Decomiso | 3.0 | Adulto | ... | Fístula | Enteritis | Necrosis | Enteritis | Tiflitis | Neoplasia | Hemorragia | Hidrocefalia | Displasia | Aspergilosis |
6 | 7.0 | A-007-24 | Ara | macao | Ave | 21-jun-24 | 0h | Vida Libre | 2.0 | Adulto | ... | Hemorragia | Hemorragia | Neoplasia(s) | Hemorragia | Hemorragia | Obstrucción | ***TIPO DE INFLAMACIÓN*** | Inflamación | Fractura(s) | Normal |
7 | 8.0 | A-008-24 | Lophostrix | cristata | Ave | 24-jun-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Ventriculitis | Hiperemia | Fibrosis | Hiperemia | Infarto y necrosis | Papiloma | Caseosa | Necrosis | Hemorragia | Normal |
8 | 9.0 | A-009-24 | Ciccaba | nigrolineata | Ave | 26-jun-24 | 24h | Vida Libre | 3.0 | Adulto | ... | Parasitosis | Infarto | Congestión | Infarto y necrosis | Neoplasia(s) | Parasitosis | Catarral | Neoplasia | Neoplasia | Normal |
9 | 10.0 | A-010-24 | Falco | rufigularis | Ave | 27-jun-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Perforación | Necrosis | ***TIPO DE PANCREATITIS*** | Neoplasia(s) | Parasitosis | Prolapso | Fibrinosa | ***TIPO DE INFLAMACIÓN*** | Osteomielitis | Normal |
10 | 11.0 | A-011-24 | Psarocolius | montezuma | Ave | 30-jun-24 | 36h | Vida Libre | 2.0 | Juvenil | ... | Úlcera(s) | Neoplasia(s) | Caseosa | Parasitosis | Perforación | Suciedad (Diarrea) | Granulomatosa | Hemorrágica | ***TIPO DE INFLAMACIÓN*** | Normal |
11 | 12.0 | A-012-24 | Ara | macao | Ave | 04-jul-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Vacío | Obstrucción | Catarral | Perforación | Úlcera(s) | Normal | Hemorrágica | Granulomatosa | Caseosa | Normal |
12 | 13.0 | A-013-24 | Ramphastos | ambiguus | Ave | 04-jul-24 | 12h | Vida Libre | 3.0 | Adulto | ... | ***TIPO DE VENTRICULITIS*** | Parasitosis | Fibrinosa | Úlcera(s) | ***TIPO DE TIFLITIS*** | Normal | Necrotizante | Necrotizante | Fibrinosa | Normal |
13 | 14.0 | A-014-24 | Ramphastos | ambiguus | Ave | 08-jul-24 | 24h | Vida Libre | 2.0 | Cría | ... | Caseosa | Perforación | Granulomatosa | ***TIPO DE ENTERITIS*** | Caseosa | Normal | ***TIPO DE HEMORRAGIA*** | ***LOCALIZACIÓN*** | Granulomatosa | Normal |
14 | 15.0 | A-015-24 | Buteo | magnirostris | Ave | 11-jul-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Catarral | Úlcera(s) | Hemorrágica | Caseosa | Catarral | Normal | Petequial | Cráneo | Hemorrágica | Normal |
15 | 16.0 | A-016-24 | Pteroglossus | frantzii | Ave | 14-jul-24 | 48h | Vida Libre | 2.0 | Adulto | ... | Fibrinosa | ***TIPO DE ENTERITIS*** | Necrotizante | Catarral | Fibrinosa | Normal | Equimótica | Epidural | Necrotizante | Normal |
16 | 17.0 | A-017-24 | Brotogeris | jugularis | Ave | 17-jul-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Granulomatosa | Caseosa | ***TIPO DE HEMORRAGIA*** | Fibrinosa | Granulomatosa | Normal | Hematoma | Subdural | ***LOCALIZACIÓN*** | Normal |
17 | 18.0 | A-018-24 | Ara | macao | Ave | 18-jul-24 | 24h | Vida Libre | 2.0 | Juvenil | ... | Hemorrágica | Catarral | Petequial | Granulomatosa | Hemorrágica | Normal | Sufusión | Cerebro | Cráneo | Normal |
18 | 19.0 | A-019-24 | Ara | macao | Ave | 20-jul-24 | 12h | Vida Libre | 2.0 | Adulto | ... | Necrotizante | Fibrinosa | Equimótica | Hemorrágica | Necrotizante | Normal | ***DISTRIBUCIÓN*** | Cerebelo | Ala | Normal |
19 | 20.0 | A-020-24 | Ara | macao | Ave | 23-jul-24 | 72h | Vida Libre | 2.0 | Adulto | ... | ***LOCALIZACIÓN*** | Granulomatosa | Hematoma | Necrotizante | ***LOCALIZACIÓN*** | Normal | Focal | ***TIPO DE HEMORRAGIA*** | Pata | Normal |
20 | 21.0 | A-021-24 | Brotogeris | jugularis | Ave | 26-jul-24 | 12h | Decomiso | 3.0 | Adulto | ... | Coelina/mucosa | Hemorrágica | Sufusión | ***LOCALIZACIÓN*** | Mucosa/submucosa | Normal | Multifocal | Petequial | Costillas | Normal |
21 | 22.0 | A-022-24 | Euphonia | elegantissima | Ave | 27-jul-24 | 0h | Decomiso | 3.0 | Adulto | ... | Muscular | Necrotizante | ***DISTRIBUCIÓN*** | Mucosa/submucosa | Muscular | Normal | Difuso | Equimótica | Quilla | Normal |
22 | 23.0 | A-023-24 | Ardea | alba | Ave | 02-ago-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Serosa | ***LOCALIZACIÓN*** | Focal | Muscular | Serosa | Normal | Normal | Hematoma | Columna vertebral | Normal |
23 | 24.0 | A-024-24 | Ramphastos | ambiguus | Ave | 07-ago-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Toda la pared | Mucosa/submucosa | Multifocal | Serosa | Toda la pared | Normal | Normal | Sufusión | Sinsacro | Normal |
24 | 25.0 | A-025-24 | Pteroglossus | frantzii | Ave | 09-ago-24 | 0h | Vida Libre | 1.0 | Juvenil | ... | ***TIPO DE HEMORRAGIA*** | Muscular | Difuso | Toda la pared | ***TIPO DE HEMORRAGIA*** | Normal | Normal | ***DISTRIBUCIÓN*** | ***DISTRIBUCIÓN*** | Normal |
25 | 26.0 | A-026-24 | Ara | macao | Ave | 19-ago-24 | 0h | Vida Libre | 2.0 | Adulto | ... | Petequial | Serosa | ***TEXTURA*** | ***TIPO DE HEMORRAGIA*** | Petequial | Normal | Normal | Focal | Focal | Normal |
26 | 1.0 | M-001-24 | Tayassu | tajacu | Mamífero | 29-jun-24 | 36h | Santuario/Rehab/Prerelease | 2.0 | Cría | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
27 | 2.0 | M-002-24 | Alouatta | palliata | Mamífero | 01-jul-24 | 0h | Vida Libre | 2.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
28 | 3.0 | M-003-24 | Didelphis | marsupialis | Mamífero | 05-jul-24 | 36h | Vida Libre | 1.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
29 | 4.0 | M-004-24 | Sciurus | variegatoides melania | Mamífero | 09-jul-24 | 24h | Vida Libre | 1.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
30 | 5.0 | M-005-24 | Alouatta | palliata | Mamífero | 12-jul-24 | 48h | Vida Libre | 2.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
31 | 6.0 | M-006-24 | Alouatta | palliata | Mamífero | 17-jul-24 | 6h | Vida Libre | 2.0 | Cría | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
32 | 7.0 | M-007-24 | Dasyprocta | punctata | Mamífero | 22-jul-24 | 48h | Vida Libre | 2.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
33 | 8.0 | M-008-24 | Dasyprocta | punctata | Mamífero | 23-jul-24 | 6h | Vida Libre | 2.0 | Cría | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
34 | 9.0 | M-009-24 | Procyon | cancrivorus | Mamífero | 24-jul-24 | 36h | Vida Libre | 3.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
35 | 10.0 | M-010-24 | Alouatta | palliata | Mamífero | 29-jul-24 | 0h | Vida Libre | 2.0 | Juvenil | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
36 | 11.0 | M-011-24 | Alouatta | palliata | Mamífero | 29-jul-24 | 24h | Vida Libre | 2.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
37 | 12.0 | M-012-24 | Alouatta | palliata | Mamífero | 02-ago-24 | 0h | Vida Libre | 2.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
38 | 13.0 | M-013-24 | Cebus | imitator | Mamífero | 08-ago-24 | 0h | Vida Libre | 1.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
39 | 14.0 | M-014-24 | Cebus | imitator | Mamífero | 10-ago-24 | 0h | Vida Libre | 2.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
40 | 1.0 | R-001-24 | Kinosternon | scorpioides | Reptil | 16-jun-24 | 0h | Vida Libre | 2.0 | Adulto | ... | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal | Normal |
41 rows × 100 columns
# Contar clases de aves, mamíferos y reptiles
aves = df['Clase'].str.contains('Ave').sum()
mamiferos = df['Clase'].str.contains('Mamífero').sum()
reptiles = df['Clase'].str.contains('Reptil').sum()
total_Clases = aves + mamiferos + reptiles
print(f'Total de clases: {total_Clases}')
print(f'Clases de aves: {aves}')
print(f'Clases de mamíferos: {mamiferos}')
print(f'Clases de reptiles: {reptiles}')
Total de clases: 41 Clases de aves: 26 Clases de mamíferos: 14 Clases de reptiles: 1
# Cuantos ejemplares fueron de Eutanasia
eutanasia_si = df['Eutanasia'].str.contains('Sí').sum()
print(f'Eutanasia Sí: {eutanasia_si}')
Eutanasia Sí: 19
# Cual es el motivo de llegada más comun
motivo_counts = df['Motivo de llegada'].value_counts()
most_common_motivo = motivo_counts.index[0]
print(f'El motivo de llegada más común es: {most_common_motivo}')
El motivo de llegada más común es: Incierto
#Ver las columnas para separar los datos que quiero analizar
df.columns
Index(['Número', 'Código', 'Género', 'Especie', 'Clase', 'Fecha necropsia', 'Tiempo fallecido', 'Procedencia', 'Localización', 'Edad', 'Sexo', 'Preservación', 'Eutanasia', 'Condición corporal', 'Motivo de llegada', 'Ectoparasitosis', 'Plumaje', 'Ojos', 'Pico', 'Cera', 'Narinas', 'Coana', 'Cavidad oral', 'Oídos', 'Glándula Uropigial', 'Piel ', 'Subcutáneo', 'Músculo ', 'Grasa', 'Huesos y articulaciones', 'Sacos aéreos', 'Cavidad celomática', 'Tiroides', 'Paratiroides', 'Timo', 'Bazo', 'Corazón', 'Hígado', 'Vesícula biliar', 'Reproductivo', 'Gls. Adrenales', 'Tráquea y laringe', 'Pulmones', 'Riñones', 'Esófago', 'Buche y contenido', 'Proventrículo', 'Molleja', 'Duodeno', 'Páncreas', 'Yeyuno e íleon', 'Ciegos ', 'Cloaca', 'Bursa de Fabricio', 'Cráneo y cerebro', 'Diagnóstico adicional', 'Comentarios Extra', 'Tiempo fallecido.1', 'Motivo de llegada.1', 'Ectoparasitosis.1', 'Plumaje.1', 'Ojos.1', 'Pico.1', 'Cera.1', 'Narinas.1', 'Coana.1', 'Cavidad oral.1', 'Oídos.1', 'Glandula uropigial', 'Piel', 'Subcutáneo.1', 'Músculo', 'Grasa.1', 'Sacos aéroeos', 'Cavidad celómica', 'Tiroides.1', 'Paratiroides.1', 'Timo ', 'Bazo.1', 'Corazón.1', 'Hígado ', 'Vesícula Biliar', 'Reproductivo.1', 'Glándulas adrenales', 'Tráquea', 'Pulmones.1', 'Riñones.1', 'Esófago ', 'Buche y contenido.1', 'Proventrículo ', 'Molleja.1', 'Duodeno.1', 'Páncreas.1', 'Yeyuno e íleon.1', 'Ciegos', 'Cloaca.1', 'Bursa de Fabricio.1', 'Cráneo y Cerebro', 'Huesos y articulaciones.1', 'Diagnósticos'], dtype='object')
#Analisis Abdomen
!pip install plotly
import plotly.express as px
selected_columns = ['Cavidad celomática', 'Bazo', 'Hígado', 'Vesícula biliar', 'Reproductivo',
'Gls. Adrenales', 'Riñones', 'Proventrículo', 'Molleja', 'Duodeno', 'Páncreas',
'Yeyuno e íleon', 'Ciegos ', 'Cloaca', 'Bursa de Fabricio',
'Cavidad celómica', 'Bazo.1','Hígado ', 'Vesícula Biliar', 'Reproductivo.1',
'Glándulas adrenales','Riñones.1','Buche y contenido.1', 'Proventrículo ', 'Molleja.1', 'Duodeno.1',
'Páncreas.1', 'Yeyuno e íleon.1', 'Ciegos', 'Cloaca.1',
'Bursa de Fabricio.1']
df_selected = df[selected_columns]
df_melted = df_selected.melt(var_name='Lesiones Abdomen', value_name='Lesion')
df_melted = df_melted.dropna()
fig = px.sunburst(df_melted, path=['Lesiones Abdomen', 'Lesion'], title='Gráfico de Lesiones en Abdomen')
fig.show()
Requirement already satisfied: plotly in /usr/local/lib/python3.10/dist-packages (5.15.0) Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly) (9.0.0) Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from plotly) (24.1)
#Analisis lesiones de cabeza con gráfico
selected_columns = ['Ojos', 'Pico', 'Narinas',
'Coana', 'Cavidad oral', 'Oídos','Tiroides', 'Paratiroides','Ojos.1', 'Pico.1', 'Narinas.1',]
df_selected = df[selected_columns]
df_selected = df[selected_columns]
df_melted = df_selected.melt(var_name='Lesiones Cabeza', value_name='Lesion')
df_melted = df_melted.dropna()
fig = px.sunburst(df_melted, path=['Lesiones Cabeza', 'Lesion'], title='Gráfico de Lesiones en Cabeza')
fig.show()
#Analisis lesiones de Torax con gráfico
selected_columns = ['Pulmones','Tráquea','Esófago ','Corazón' ]
df_selected = df[selected_columns]
df_melted = df_selected.melt(var_name='Lesiones Torax', value_name='Lesion')
df_melted = df_melted.dropna()
fig = px.sunburst(df_melted, path=['Lesiones Torax', 'Lesion'], title='Gráfico de Lesiones en Torax')
fig.show()
#Gráfico lesiones musculo esqueletico
selected_columns = ['Subcutáneo', 'Músculo ', 'Grasa', 'Huesos y articulaciones',
'Sacos aéreos','Huesos y articulaciones.1']
df_selected = df[selected_columns]
df_melted = df_selected.melt(var_name='Lesiones Musculoesqueletico', value_name='Lesion')
df_melted = df_melted.dropna()
fig = px.sunburst(df_melted, path=['Lesiones Musculoesqueletico', 'Lesion'], title='Gráfico de Lesiones Musculoesqueletico')
fig.show()
#Ver en un mapa las tres Áreas de Conservación de donde provienen los ejemplares registrados en la base de datos
!pip install ipyleaflet geopandas
import geopandas as gpd
from ipyleaflet import Map, GeoJSON, Marker
gdf = gpd.read_file("https://raw.githubusercontent.com/johan/world.geo.json/master/countries/CRI.geo.json")
m = Map(center=[10, -84], zoom=6)
geo_json = GeoJSON(data=gdf.__geo_interface__)
m.add_layer(geo_json)
marker1 = Marker(location=[9.39, -84.14],title= "ACOPAC") #Locacion numero 1 es ACOPAC
marker2 = Marker(location=[9.13, -83.7],title="ACOSA") #Locacion numero 2 es ACOSA
marker3 = Marker(location=[9.3, -83.8],title="ACLAP") #Locacion numero 3 es ACLAP
m.add_layer(marker1)
m.add_layer(marker2)
m.add_layer(marker3)
m
Requirement already satisfied: ipyleaflet in /usr/local/lib/python3.10/dist-packages (0.19.2) Requirement already satisfied: geopandas in /usr/local/lib/python3.10/dist-packages (1.0.1) Requirement already satisfied: branca>=0.5.0 in /usr/local/lib/python3.10/dist-packages (from ipyleaflet) (0.7.2) Requirement already satisfied: ipywidgets<9,>=7.6.0 in /usr/local/lib/python3.10/dist-packages (from ipyleaflet) (7.7.1) Requirement already satisfied: jupyter-leaflet<0.20,>=0.19 in /usr/local/lib/python3.10/dist-packages (from ipyleaflet) (0.19.2) Requirement already satisfied: traittypes<3,>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from ipyleaflet) (0.2.1) Requirement already satisfied: xyzservices>=2021.8.1 in /usr/local/lib/python3.10/dist-packages (from ipyleaflet) (2024.9.0) Requirement already satisfied: numpy>=1.22 in /usr/local/lib/python3.10/dist-packages (from geopandas) (1.26.4) Requirement already satisfied: pyogrio>=0.7.2 in /usr/local/lib/python3.10/dist-packages (from geopandas) (0.9.0) Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from geopandas) (24.1) Requirement already satisfied: pandas>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from geopandas) (2.1.4) Requirement already satisfied: pyproj>=3.3.0 in /usr/local/lib/python3.10/dist-packages (from geopandas) (3.6.1) Requirement already satisfied: shapely>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from geopandas) (2.0.6) Requirement already satisfied: jinja2>=3 in /usr/local/lib/python3.10/dist-packages (from branca>=0.5.0->ipyleaflet) (3.1.4) Requirement already satisfied: ipykernel>=4.5.1 in /usr/local/lib/python3.10/dist-packages (from ipywidgets<9,>=7.6.0->ipyleaflet) (5.5.6) Requirement already satisfied: ipython-genutils~=0.2.0 in /usr/local/lib/python3.10/dist-packages (from ipywidgets<9,>=7.6.0->ipyleaflet) (0.2.0) Requirement already satisfied: traitlets>=4.3.1 in /usr/local/lib/python3.10/dist-packages (from ipywidgets<9,>=7.6.0->ipyleaflet) (5.7.1) Requirement already satisfied: widgetsnbextension~=3.6.0 in /usr/local/lib/python3.10/dist-packages (from ipywidgets<9,>=7.6.0->ipyleaflet) (3.6.9) Requirement already satisfied: ipython>=4.0.0 in /usr/local/lib/python3.10/dist-packages (from ipywidgets<9,>=7.6.0->ipyleaflet) (7.34.0) Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from ipywidgets<9,>=7.6.0->ipyleaflet) (3.0.13) Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4.0->geopandas) (2.8.2) Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4.0->geopandas) (2024.2) Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4.0->geopandas) (2024.1) Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from pyogrio>=0.7.2->geopandas) (2024.8.30) Requirement already satisfied: jupyter-client in /usr/local/lib/python3.10/dist-packages (from ipykernel>=4.5.1->ipywidgets<9,>=7.6.0->ipyleaflet) (6.1.12) Requirement already satisfied: tornado>=4.2 in /usr/local/lib/python3.10/dist-packages (from ipykernel>=4.5.1->ipywidgets<9,>=7.6.0->ipyleaflet) (6.3.3) Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (71.0.4) Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.19.1) Requirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (4.4.2) Requirement already satisfied: pickleshare in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.7.5) Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (3.0.47) Requirement already satisfied: pygments in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (2.18.0) Requirement already satisfied: backcall in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.2.0) Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.1.7) Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.10/dist-packages (from ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (4.9.0) Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2>=3->branca>=0.5.0->ipyleaflet) (2.1.5) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=1.4.0->geopandas) (1.16.0) Requirement already satisfied: notebook>=4.4.1 in /usr/local/lib/python3.10/dist-packages (from widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (6.5.5) Requirement already satisfied: parso<0.9.0,>=0.8.3 in /usr/local/lib/python3.10/dist-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.8.4) Requirement already satisfied: pyzmq<25,>=17 in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (24.0.1) Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (23.1.0) Requirement already satisfied: jupyter-core>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (5.7.2) Requirement already satisfied: nbformat in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (5.10.4) Requirement already satisfied: nbconvert>=5 in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (6.5.4) Requirement already satisfied: nest-asyncio>=1.5 in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.6.0) Requirement already satisfied: Send2Trash>=1.8.0 in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.8.3) Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.18.1) Requirement already satisfied: prometheus-client in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.20.0) Requirement already satisfied: nbclassic>=0.4.7 in /usr/local/lib/python3.10/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.1.0) Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.10/dist-packages (from pexpect>4.3->ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.7.0) Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.2.13) Requirement already satisfied: platformdirs>=2.5 in /usr/local/lib/python3.10/dist-packages (from jupyter-core>=4.6.1->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (4.3.6) Requirement already satisfied: notebook-shim>=0.2.3 in /usr/local/lib/python3.10/dist-packages (from nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.2.4) Requirement already satisfied: lxml in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (4.9.4) Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (4.12.3) Requirement already satisfied: bleach in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (6.1.0) Requirement already satisfied: defusedxml in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.7.1) Requirement already satisfied: entrypoints>=0.2.2 in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.4) Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.3.0) Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.8.4) Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.10.0) Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.5.1) Requirement already satisfied: tinycss2 in /usr/local/lib/python3.10/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.3.0) Requirement already satisfied: fastjsonschema>=2.15 in /usr/local/lib/python3.10/dist-packages (from nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (2.20.0) Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.10/dist-packages (from nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (4.23.0) Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.10/dist-packages (from argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (21.2.0) Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (24.2.0) Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (2023.12.1) Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.35.1) Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.20.0) Requirement already satisfied: jupyter-server<3,>=1.8 in /usr/local/lib/python3.10/dist-packages (from notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.24.0) Requirement already satisfied: cffi>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.17.1) Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.10/dist-packages (from beautifulsoup4->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (2.6) Requirement already satisfied: webencodings in /usr/local/lib/python3.10/dist-packages (from bleach->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (0.5.1) Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (2.22) Requirement already satisfied: anyio<4,>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (3.7.1) Requirement already satisfied: websocket-client in /usr/local/lib/python3.10/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.8.0) Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<4,>=3.1.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (3.10) Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<4,>=3.1.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.3.1) Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<4,>=3.1.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9,>=7.6.0->ipyleaflet) (1.2.2)
Map(center=[10, -84], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_title', 'zoom_out_te…
from IPython.display import Image
# URL of the static map image
image_url = "https://www.sinac.go.cr/ES/asp/PublishingImages/Areas%20de%20Conservaci%c3%b3n%20y%20Ubicaci%c3%b3n%20de%20oficinas.jpg"
# Display the image with adjusted width
Image(url=image_url, width=600)

Referencias
Boileau, M. J., & Kapil, S. (2010). Bovine Coronavirus Associated Syndromes. In Veterinary Clinics of North America - Food Animal Practice (Vol. 26, Issue 1, pp. 123–146). W.B. Saunders. https://doi.org/10.1016/j.cvfa.2009.10.003
Brownlie HW, Munro R. (2016) The Veterinary Forensic Necropsy: A Review of Procedures and Protocols. Vet Pathol.;53:919-28.
Dongre, V.B., Gandhi, R.S., Singh, A., Ruhil, A.P., 2012. Comparative efficiency of artificial neural networks and multiple linear regression analysis for prediction of first lactation 305-day milk yield in Sahiwal cattle. Livest. Sci. 147, 192–197. https://doi.org/10.1016/j.livsci.2012.04.002.
Moxley, R. A., & Smith, D. R. (2010). Attaching-effacing Escherichia coli Infections in Cattle. In Veterinary Clinics of North America - Food Animal Practice (Vol. 26, Issue 1, pp. 29–56). https://doi.org/10.1016/j.cvfa.2009.10.011
Kitchenham, B., Pearl Brereton, O., Budgen, D., Turner, M., Bailey, J., Linkman, S., 2009. Systematic literature reviews in software engineering – a systematic literature review. Inf. Softw. Technol. 51, 7–15. https://doi.org/10.1016/j.infsof.2008.09.009.
Orakpoghenor, O., & Terfa, A. J. (2024). Necropsy as an Important Diagnostic Step in Veterinary Pathology: The Past, Present, and Future Perspectives. Research in Veterinary Science and Medicine, 4, 1. https://doi.org/10.25259/rvsm_6_2024
Slob, N., Catal, C., & Kassahun, A. (2021). Application of machine learning to improve dairy farm management: A systematic literature review. In Preventive Veterinary Medicine (Vol. 187). Elsevier B.V. https://doi.org/10.1016/j.prevetmed.2020.105237
Zühlke, I., Berezowski, J., Bodmer, M., Küker, S., Göhring, A., Rinaldi, F., Faverjon, C., & Gurtner, C. (2021). Factors associated with cattle necropsy submissions in Switzerland, and their importance for surveillance. Preventive Veterinary Medicine, 187. https://doi.org/10.1016/j.prevetmed.2020.105235