Ho costruito un sistema di appuntamenti per varie pratiche mediche. Pratica appuntamenti di pianificazione - Sto cercando di fornire analisi sulla quantità di tempo che è stato utilizzato dalla pratica.
Posso suddividere i miei requisiti in molte piccole query per calcolare la percentuale di tempo disponibile che è stata utilizzata dalla pratica.
ad esempio una query per calcolare il tempo totale disponibile che è stato assegnato a ciascuna pratica per una determinata settimana:
# Get the practice and number of working hours they have per week allocated to them
SELECT
pd.practice_id,
sum((TIME_TO_SEC(TIMEDIFF(pd.close,pd.open)) - TIME_TO_SEC(TIMEDIFF(pd.lunch_stop, pd.lunch_start)) ) / 3600 ) as working_hours_per_week
FROM
practice_days as pd
GROUP BY
practice_id;
Quindi, per ciascuna pratica, posso sommare le lunghezze degli appuntamenti che si trovano nello stato completato in un determinato intervallo di date (ad esempio la scorsa settimana) per vedere quante ore sono state programmate e completate per quella settimana.
Infine, posso dividere il tempo impiegato dalle ore di lavoro a settimana per ottenere un utilizzo percentuale.
Questo è già un po 'peloso, ma cosa succede quando voglio guardare settimane / mesi diversi o tutti gli storici ecc.
C'è un modo più pulito di analizzare questi dati? per esempio. un discreto sistema di segnalazione di qualche tipo. Sto usando PHP mysql e Laravel PHP framework.
Non voglio davvero seguire la strada della creazione di un server Shiny R solo per questo, a meno che non sia assolutamente necessario.