110 lines
2.5 KiB
JavaScript
110 lines
2.5 KiB
JavaScript
const db = require("../db");
|
|
|
|
function addMedication(req, res) {
|
|
const patientId = req.params.id;
|
|
const returnTo = req.query.returnTo;
|
|
|
|
const {
|
|
medication_variant_id,
|
|
dosage_instruction,
|
|
start_date,
|
|
end_date
|
|
} = req.body;
|
|
|
|
if (!medication_variant_id) {
|
|
return res.send("Medikament fehlt");
|
|
}
|
|
|
|
db.query(
|
|
`
|
|
INSERT INTO patient_medications
|
|
(patient_id, medication_variant_id, dosage_instruction, start_date, end_date)
|
|
VALUES (?, ?, ?, ?, ?)
|
|
`,
|
|
[
|
|
patientId,
|
|
medication_variant_id,
|
|
dosage_instruction || null,
|
|
start_date || null,
|
|
end_date || null
|
|
],
|
|
err => {
|
|
if (err) return res.send("Fehler beim Speichern der Medikation");
|
|
|
|
if (returnTo === "overview") {
|
|
return res.redirect(`/patients/${patientId}/overview`);
|
|
}
|
|
|
|
res.redirect(`/patients/${patientId}/medications`);
|
|
}
|
|
);
|
|
}
|
|
|
|
function endMedication(req, res) {
|
|
const medicationId = req.params.id;
|
|
const returnTo = req.query.returnTo;
|
|
|
|
db.query(
|
|
"SELECT patient_id FROM patient_medications WHERE id = ?",
|
|
[medicationId],
|
|
(err, results) => {
|
|
if (err || results.length === 0) {
|
|
return res.send("Medikation nicht gefunden");
|
|
}
|
|
|
|
const patientId = results[0].patient_id;
|
|
|
|
db.query(
|
|
"UPDATE patient_medications SET end_date = CURDATE() WHERE id = ?",
|
|
[medicationId],
|
|
err => {
|
|
if (err) return res.send("Fehler beim Beenden der Medikation");
|
|
|
|
if (returnTo === "overview") {
|
|
return res.redirect(`/patients/${patientId}/overview`);
|
|
}
|
|
|
|
res.redirect(`/patients/${patientId}/medications`);
|
|
}
|
|
);
|
|
}
|
|
);
|
|
}
|
|
|
|
function deleteMedication(req, res) {
|
|
const medicationId = req.params.id;
|
|
const returnTo = req.query.returnTo;
|
|
|
|
db.query(
|
|
"SELECT patient_id FROM patient_medications WHERE id = ?",
|
|
[medicationId],
|
|
(err, results) => {
|
|
if (err || results.length === 0) {
|
|
return res.send("Medikation nicht gefunden");
|
|
}
|
|
|
|
const patientId = results[0].patient_id;
|
|
|
|
db.query(
|
|
"DELETE FROM patient_medications WHERE id = ?",
|
|
[medicationId],
|
|
err => {
|
|
if (err) return res.send("Fehler beim Löschen der Medikation");
|
|
|
|
if (returnTo === "overview") {
|
|
return res.redirect(`/patients/${patientId}/overview`);
|
|
}
|
|
|
|
res.redirect(`/patients/${patientId}/medications`);
|
|
}
|
|
);
|
|
}
|
|
);
|
|
}
|
|
|
|
module.exports = {
|
|
addMedication,
|
|
endMedication,
|
|
deleteMedication
|
|
};
|