hospital-management/templates/pharmacy/interactions/drug_interaction_list.html
Marwan Alwali be70e47e22 update
2025-08-30 09:45:26 +03:00

777 lines
36 KiB
HTML

{% extends "base.html" %}
{% load static %}
{% block title %}Drug Interactions - Pharmacy{% endblock %}
{% block content %}
<!-- BEGIN breadcrumb -->
<ol class="breadcrumb float-xl-end">
<li class="breadcrumb-item"><a href="{% url 'core:dashboard' %}">Dashboard</a></li>
<li class="breadcrumb-item"><a href="{% url 'pharmacy:dashboard' %}">Pharmacy</a></li>
<li class="breadcrumb-item active">Drug Interactions</li>
</ol>
<!-- END breadcrumb -->
<!-- BEGIN page-header -->
<h1 class="page-header">
Drug Interactions
<small>Clinical decision support and interaction monitoring</small>
</h1>
<!-- END page-header -->
<!-- BEGIN row -->
<div class="row">
<div class="col-xl-12">
<!-- BEGIN panel -->
<div class="panel panel-inverse">
<div class="panel-heading">
<h4 class="panel-title">Drug Interaction Database</h4>
<div class="panel-heading-btn">
<button type="button" class="btn btn-xs btn-success me-2" onclick="checkPatientInteractions()">
<i class="fa fa-user-check"></i> Check Patient
</button>
<button type="button" class="btn btn-xs btn-info me-2" onclick="bulkInteractionCheck()">
<i class="fa fa-list-check"></i> Bulk Check
</button>
<button type="button" class="btn btn-xs btn-warning me-2" onclick="exportInteractions()">
<i class="fa fa-download"></i> Export
</button>
<a href="javascript:;" class="btn btn-xs btn-icon btn-default" data-toggle="panel-expand"><i class="fa fa-expand"></i></a>
</div>
</div>
<div class="panel-body">
<!-- Statistics Cards -->
<div class="row mb-4">
<div class="col-lg-3 col-md-6">
<div class="card border-danger">
<div class="card-body text-center">
<div class="h3 text-danger">{{ stats.major_interactions }}</div>
<div class="text-muted">Major Interactions</div>
<div class="small text-danger">Contraindicated</div>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="card border-warning">
<div class="card-body text-center">
<div class="h3 text-warning">{{ stats.moderate_interactions }}</div>
<div class="text-muted">Moderate Interactions</div>
<div class="small text-warning">Monitor closely</div>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="card border-info">
<div class="card-body text-center">
<div class="h3 text-info">{{ stats.minor_interactions }}</div>
<div class="text-muted">Minor Interactions</div>
<div class="small text-info">Caution advised</div>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="card border-success">
<div class="card-body text-center">
<div class="h3 text-success">{{ stats.total_medications }}</div>
<div class="text-muted">Medications Monitored</div>
<div class="small text-success">In database</div>
</div>
</div>
</div>
</div>
<!-- Search and Filter -->
<div class="card border-primary mb-4">
<div class="card-header bg-primary text-white">
<h6 class="card-title mb-0">
<i class="fa fa-search me-2"></i>Search and Filter
</h6>
</div>
<div class="card-body">
<form method="get" id="filter-form">
<div class="row">
<div class="col-md-3">
<div class="form-floating mb-3">
<input type="text" class="form-control" id="search" name="search"
value="{{ request.GET.search }}" placeholder="Search interactions...">
<label for="search">Search Medications</label>
</div>
</div>
<div class="col-md-2">
<div class="form-floating mb-3">
<select class="form-select" id="severity" name="severity">
<option value="">All Severities</option>
<option value="major" {% if request.GET.severity == 'major' %}selected{% endif %}>Major</option>
<option value="moderate" {% if request.GET.severity == 'moderate' %}selected{% endif %}>Moderate</option>
<option value="minor" {% if request.GET.severity == 'minor' %}selected{% endif %}>Minor</option>
</select>
<label for="severity">Severity</label>
</div>
</div>
<div class="col-md-2">
<div class="form-floating mb-3">
<select class="form-select" id="mechanism" name="mechanism">
<option value="">All Mechanisms</option>
<option value="pharmacokinetic" {% if request.GET.mechanism == 'pharmacokinetic' %}selected{% endif %}>Pharmacokinetic</option>
<option value="pharmacodynamic" {% if request.GET.mechanism == 'pharmacodynamic' %}selected{% endif %}>Pharmacodynamic</option>
<option value="unknown" {% if request.GET.mechanism == 'unknown' %}selected{% endif %}>Unknown</option>
</select>
<label for="mechanism">Mechanism</label>
</div>
</div>
<div class="col-md-2">
<div class="form-floating mb-3">
<select class="form-select" id="category" name="category">
<option value="">All Categories</option>
<option value="cardiovascular" {% if request.GET.category == 'cardiovascular' %}selected{% endif %}>Cardiovascular</option>
<option value="cns" {% if request.GET.category == 'cns' %}selected{% endif %}>CNS</option>
<option value="anticoagulant" {% if request.GET.category == 'anticoagulant' %}selected{% endif %}>Anticoagulant</option>
<option value="antibiotic" {% if request.GET.category == 'antibiotic' %}selected{% endif %}>Antibiotic</option>
<option value="other" {% if request.GET.category == 'other' %}selected{% endif %}>Other</option>
</select>
<label for="category">Category</label>
</div>
</div>
<div class="col-md-3">
<div class="d-flex gap-2 h-100 align-items-end">
<button type="submit" class="btn btn-primary flex-fill">
<i class="fa fa-search me-2"></i>Search
</button>
<button type="button" class="btn btn-secondary" onclick="clearFilters()">
<i class="fa fa-times"></i>
</button>
</div>
</div>
</div>
</form>
</div>
</div>
<!-- Interaction Checker Tool -->
<div class="card border-success mb-4">
<div class="card-header bg-success text-white">
<h6 class="card-title mb-0">
<i class="fa fa-pills me-2"></i>Quick Interaction Checker
</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-4">
<div class="form-floating mb-3">
<select class="form-select" id="medication1" name="medication1">
<option value="">Select first medication...</option>
{% for medication in medications %}
<option value="{{ medication.id }}">{{ medication.generic_name }} {{ medication.strength }}</option>
{% endfor %}
</select>
<label for="medication1">First Medication</label>
</div>
</div>
<div class="col-md-4">
<div class="form-floating mb-3">
<select class="form-select" id="medication2" name="medication2">
<option value="">Select second medication...</option>
{% for medication in medications %}
<option value="{{ medication.id }}">{{ medication.generic_name }} {{ medication.strength }}</option>
{% endfor %}
</select>
<label for="medication2">Second Medication</label>
</div>
</div>
<div class="col-md-4">
<div class="d-flex gap-2 h-100 align-items-end">
<button type="button" class="btn btn-success flex-fill" onclick="checkInteraction()">
<i class="fa fa-search me-2"></i>Check Interaction
</button>
<button type="button" class="btn btn-info" onclick="addToList()">
<i class="fa fa-plus"></i>
</button>
</div>
</div>
</div>
<!-- Interaction Result -->
<div id="interaction-result" class="mt-3" style="display: none;">
<div class="alert" id="interaction-alert">
<div id="interaction-content"></div>
</div>
</div>
</div>
</div>
<!-- Interactions Table -->
<div class="table-responsive">
<table class="table table-striped table-hover" id="interactions-table">
<thead class="table-dark">
<tr>
<th width="5%">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="select-all">
</div>
</th>
<th width="15%">Medication 1</th>
<th width="15%">Medication 2</th>
<th width="10%">Severity</th>
<th width="15%">Mechanism</th>
<th width="25%">Clinical Effect</th>
<th width="10%">Management</th>
<th width="5%">Actions</th>
</tr>
</thead>
<tbody>
{% for interaction in object_list %}
<tr>
<td>
<div class="form-check">
<input class="form-check-input row-checkbox" type="checkbox" value="{{ interaction.id }}">
</div>
</td>
<td>
<div class="fw-bold">{{ interaction.medication1.generic_name }}</div>
<div class="small text-muted">{{ interaction.medication1.brand_name|default:"" }}</div>
<div class="small text-muted">{{ interaction.medication1.strength }}</div>
</td>
<td>
<div class="fw-bold">{{ interaction.medication2.generic_name }}</div>
<div class="small text-muted">{{ interaction.medication2.brand_name|default:"" }}</div>
<div class="small text-muted">{{ interaction.medication2.strength }}</div>
</td>
<td>
{% if interaction.severity == 'major' %}
<span class="badge bg-danger">
<i class="fa fa-exclamation-triangle me-1"></i>Major
</span>
{% elif interaction.severity == 'moderate' %}
<span class="badge bg-warning text-dark">
<i class="fa fa-exclamation-circle me-1"></i>Moderate
</span>
{% elif interaction.severity == 'minor' %}
<span class="badge bg-info">
<i class="fa fa-info-circle me-1"></i>Minor
</span>
{% endif %}
</td>
<td>
<div class="small">{{ interaction.get_mechanism_display }}</div>
{% if interaction.onset %}
<div class="small text-muted">Onset: {{ interaction.onset }}</div>
{% endif %}
</td>
<td>
<div class="small">{{ interaction.clinical_effect|truncatechars:100 }}</div>
{% if interaction.evidence_level %}
<div class="small text-muted">Evidence: {{ interaction.get_evidence_level_display }}</div>
{% endif %}
</td>
<td>
{% if interaction.management_recommendation %}
<button type="button" class="btn btn-xs btn-outline-info"
onclick="showManagement('{{ interaction.id }}')"
data-bs-toggle="tooltip" title="View management recommendations">
<i class="fa fa-clipboard-list"></i>
</button>
{% else %}
<span class="text-muted small">None specified</span>
{% endif %}
</td>
<td>
<div class="btn-group" role="group">
<button type="button" class="btn btn-xs btn-outline-primary"
onclick="viewInteraction('{{ interaction.id }}')"
data-bs-toggle="tooltip" title="View details">
<i class="fa fa-eye"></i>
</button>
<button type="button" class="btn btn-xs btn-outline-success"
onclick="addToMonitoring('{{ interaction.id }}')"
data-bs-toggle="tooltip" title="Add to monitoring">
<i class="fa fa-plus"></i>
</button>
</div>
</td>
</tr>
{% empty %}
<tr>
<td colspan="8" class="text-center text-muted py-4">
<i class="fa fa-search fa-2x mb-3"></i>
<div>No drug interactions found matching your criteria.</div>
<div class="small">Try adjusting your search filters or check different medications.</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<!-- Pagination -->
{% if is_paginated %}
<div class="d-flex justify-content-between align-items-center mt-4">
<div class="text-muted">
Showing {{ page_obj.start_index }} to {{ page_obj.end_index }} of {{ page_obj.paginator.count }} interactions
</div>
<nav aria-label="Interactions pagination">
<ul class="pagination mb-0">
{% if page_obj.has_previous %}
<li class="page-item">
<a class="page-link" href="?{% for key, value in request.GET.items %}{% if key != 'page' %}{{ key }}={{ value }}&{% endif %}{% endfor %}page=1">First</a>
</li>
<li class="page-item">
<a class="page-link" href="?{% for key, value in request.GET.items %}{% if key != 'page' %}{{ key }}={{ value }}&{% endif %}{% endfor %}page={{ page_obj.previous_page_number }}">Previous</a>
</li>
{% endif %}
{% for num in page_obj.paginator.page_range %}
{% if page_obj.number == num %}
<li class="page-item active">
<span class="page-link">{{ num }}</span>
</li>
{% elif num > page_obj.number|add:'-3' and num < page_obj.number|add:'3' %}
<li class="page-item">
<a class="page-link" href="?{% for key, value in request.GET.items %}{% if key != 'page' %}{{ key }}={{ value }}&{% endif %}{% endfor %}page={{ num }}">{{ num }}</a>
</li>
{% endif %}
{% endfor %}
{% if page_obj.has_next %}
<li class="page-item">
<a class="page-link" href="?{% for key, value in request.GET.items %}{% if key != 'page' %}{{ key }}={{ value }}&{% endif %}{% endfor %}page={{ page_obj.next_page_number }}">Next</a>
</li>
<li class="page-item">
<a class="page-link" href="?{% for key, value in request.GET.items %}{% if key != 'page' %}{{ key }}={{ value }}&{% endif %}{% endfor %}page={{ page_obj.paginator.num_pages }}">Last</a>
</li>
{% endif %}
</ul>
</nav>
</div>
{% endif %}
<!-- Bulk Actions -->
<div class="card border-secondary mt-4" id="bulk-actions" style="display: none;">
<div class="card-header bg-secondary text-white">
<h6 class="card-title mb-0">
<i class="fa fa-tasks me-2"></i>Bulk Actions
<span class="badge bg-light text-dark ms-2" id="selected-count">0</span>
</h6>
</div>
<div class="card-body">
<div class="d-flex gap-2 flex-wrap">
<button type="button" class="btn btn-outline-success" onclick="addToMonitoringBulk()">
<i class="fa fa-plus me-2"></i>Add to Monitoring
</button>
<button type="button" class="btn btn-outline-info" onclick="exportSelectedInteractions()">
<i class="fa fa-download me-2"></i>Export Selected
</button>
<button type="button" class="btn btn-outline-warning" onclick="generateReport()">
<i class="fa fa-file-alt me-2"></i>Generate Report
</button>
<button type="button" class="btn btn-outline-primary" onclick="createAlert()">
<i class="fa fa-bell me-2"></i>Create Alert
</button>
</div>
</div>
</div>
</div>
</div>
<!-- END panel -->
</div>
</div>
<!-- END row -->
<!-- Interaction Detail Modal -->
<div class="modal fade" id="interactionModal" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Drug Interaction Details</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body" id="interaction-modal-body">
<!-- Content loaded via AJAX -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-success" onclick="addCurrentToMonitoring()">
<i class="fa fa-plus me-2"></i>Add to Monitoring
</button>
</div>
</div>
</div>
</div>
<!-- Patient Interaction Check Modal -->
<div class="modal fade" id="patientCheckModal" tabindex="-1">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Patient Drug Interaction Check</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<div class="form-floating mb-3">
<select class="form-select" id="patient-select">
<option value="">Select patient...</option>
{% for patient in patients %}
<option value="{{ patient.id }}">{{ patient.get_full_name }} ({{ patient.date_of_birth|date:"M d, Y" }})</option>
{% endfor %}
</select>
<label for="patient-select">Patient</label>
</div>
</div>
<div class="col-md-6">
<div class="d-flex gap-2 h-100 align-items-end">
<button type="button" class="btn btn-primary flex-fill" onclick="checkPatientMedications()">
<i class="fa fa-search me-2"></i>Check Interactions
</button>
</div>
</div>
</div>
<div id="patient-interaction-results" class="mt-3">
<!-- Results loaded via AJAX -->
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-info" onclick="printPatientReport()">
<i class="fa fa-print me-2"></i>Print Report
</button>
</div>
</div>
</div>
</div>
{% endblock %}
{% block js %}
<script>
var selectedInteractions = [];
var currentInteractionId = null;
$(document).ready(function() {
// Initialize tooltips
$('[data-bs-toggle="tooltip"]').tooltip();
// Initialize DataTable if needed
if ($('#interactions-table tbody tr').length > 0) {
// Add sorting and filtering capabilities
}
// Checkbox handling
$('#select-all').on('change', function() {
$('.row-checkbox').prop('checked', this.checked);
updateSelectedInteractions();
});
$('.row-checkbox').on('change', function() {
updateSelectedInteractions();
});
// Auto-refresh every 5 minutes
setInterval(function() {
if ($('#auto-refresh').is(':checked')) {
location.reload();
}
}, 300000);
});
function updateSelectedInteractions() {
selectedInteractions = [];
$('.row-checkbox:checked').each(function() {
selectedInteractions.push($(this).val());
});
$('#selected-count').text(selectedInteractions.length);
if (selectedInteractions.length > 0) {
$('#bulk-actions').show();
} else {
$('#bulk-actions').hide();
}
// Update select all checkbox
var totalCheckboxes = $('.row-checkbox').length;
var checkedCheckboxes = $('.row-checkbox:checked').length;
if (checkedCheckboxes === 0) {
$('#select-all').prop('indeterminate', false).prop('checked', false);
} else if (checkedCheckboxes === totalCheckboxes) {
$('#select-all').prop('indeterminate', false).prop('checked', true);
} else {
$('#select-all').prop('indeterminate', true);
}
}
function checkInteraction() {
var med1 = $('#medication1').val();
var med2 = $('#medication2').val();
if (!med1 || !med2) {
toastr.warning('Please select both medications');
return;
}
if (med1 === med2) {
toastr.warning('Please select different medications');
return;
}
$.ajax({
url: '{% url "pharmacy:drug_interaction_check" 0 %}'.replace('0', med1),
method: 'POST',
data: {
'medication1': med1,
'medication2': med2,
'csrfmiddlewaretoken': '{{ csrf_token }}'
},
success: function(response) {
displayInteractionResult(response);
},
error: function() {
toastr.error('Failed to check interaction');
}
});
}
function displayInteractionResult(interaction) {
var alertClass = 'alert-info';
var icon = 'fa-info-circle';
var severityText = 'No significant interaction';
if (interaction.severity === 'major') {
alertClass = 'alert-danger';
icon = 'fa-exclamation-triangle';
severityText = 'Major interaction - Contraindicated';
} else if (interaction.severity === 'moderate') {
alertClass = 'alert-warning';
icon = 'fa-exclamation-circle';
severityText = 'Moderate interaction - Monitor closely';
} else if (interaction.severity === 'minor') {
alertClass = 'alert-info';
icon = 'fa-info-circle';
severityText = 'Minor interaction - Caution advised';
}
var content = '<div class="d-flex align-items-center mb-2">' +
'<i class="fa ' + icon + ' fa-2x me-3"></i>' +
'<div>' +
'<h6 class="mb-1">' + severityText + '</h6>' +
'<div class="small text-muted">' + interaction.medication1_name + ' + ' + interaction.medication2_name + '</div>' +
'</div>' +
'</div>';
if (interaction.clinical_effect) {
content += '<div class="mb-2"><strong>Clinical Effect:</strong> ' + interaction.clinical_effect + '</div>';
}
if (interaction.management_recommendation) {
content += '<div class="mb-2"><strong>Management:</strong> ' + interaction.management_recommendation + '</div>';
}
if (interaction.mechanism) {
content += '<div class="small text-muted"><strong>Mechanism:</strong> ' + interaction.mechanism + '</div>';
}
$('#interaction-alert').removeClass().addClass('alert ' + alertClass);
$('#interaction-content').html(content);
$('#interaction-result').show();
}
function viewInteraction(interactionId) {
currentInteractionId = interactionId;
$.ajax({
url: '{% url "pharmacy:drug_interaction_detail" 0 %}'.replace('0', interactionId),
method: 'GET',
data: {'interaction_id': interactionId},
success: function(response) {
$('#interaction-modal-body').html(response.html);
$('#interactionModal').modal('show');
},
error: function() {
toastr.error('Failed to load interaction details');
}
});
}
{#function showManagement(interactionId) {#}
{# $.ajax({#}
{# url: '{% url "pharmacy:interaction_management" %}',#}
{# method: 'GET',#}
{# data: {'interaction_id': interactionId},#}
{# success: function(response) {#}
{# toastr.info(response.management, 'Management Recommendation', {#}
{# timeOut: 10000,#}
{# extendedTimeOut: 5000#}
{# });#}
{# },#}
{# error: function() {#}
{# toastr.error('Failed to load management recommendations');#}
{# }#}
{# });#}
{# }#}
{#function addToMonitoring(interactionId) {#}
{# $.ajax({#}
{# url: '{% url "pharmacy:add_to_monitoring" %}',#}
{# method: 'POST',#}
{# data: {#}
{# 'interaction_id': interactionId,#}
{# 'csrfmiddlewaretoken': '{{ csrf_token }}'#}
{# },#}
{# success: function(response) {#}
{# toastr.success('Interaction added to monitoring list');#}
{# },#}
{# error: function() {#}
{# toastr.error('Failed to add interaction to monitoring');#}
{# }#}
{# });#}
{# }#}
function addCurrentToMonitoring() {
if (currentInteractionId) {
addToMonitoring(currentInteractionId);
$('#interactionModal').modal('hide');
}
}
{#function addToMonitoringBulk() {#}
{# if (selectedInteractions.length === 0) {#}
{# toastr.warning('Please select interactions to add to monitoring');#}
{# return;#}
{# }#}
{# #}
{# $.ajax({#}
{# url: '{% url "pharmacy:add_to_monitoring_bulk" %}',#}
{# method: 'POST',#}
{# data: {#}
{# 'interaction_ids': selectedInteractions,#}
{# 'csrfmiddlewaretoken': '{{ csrf_token }}'#}
{# },#}
{# success: function(response) {#}
{# toastr.success(selectedInteractions.length + ' interactions added to monitoring');#}
{# $('.row-checkbox:checked').prop('checked', false);#}
{# updateSelectedInteractions();#}
{# },#}
{# error: function() {#}
{# toastr.error('Failed to add interactions to monitoring');#}
{# }#}
{# });#}
{# }#}
function checkPatientInteractions() {
$('#patientCheckModal').modal('show');
}
{#function checkPatientMedications() {#}
{# var patientId = $('#patient-select').val();#}
{# #}
{# if (!patientId) {#}
{# toastr.warning('Please select a patient');#}
{# return;#}
{# }#}
{# #}
{# $.ajax({#}
{# url: '{% url "pharmacy:check_patient_interactions" %}',#}
{# method: 'POST',#}
{# data: {#}
{# 'patient_id': patientId,#}
{# 'csrfmiddlewaretoken': '{{ csrf_token }}'#}
{# },#}
{# success: function(response) {#}
{# $('#patient-interaction-results').html(response.html);#}
{# },#}
{# error: function() {#}
{# toastr.error('Failed to check patient interactions');#}
{# }#}
{# });#}
{# }#}
function bulkInteractionCheck() {
// Implementation for bulk interaction checking
toastr.info('Bulk interaction check feature coming soon');
}
function exportInteractions() {
var params = new URLSearchParams(window.location.search);
params.set('export', 'csv');
window.open('?' + params.toString(), '_blank');
}
{#function exportSelectedInteractions() {#}
{# if (selectedInteractions.length === 0) {#}
{# toastr.warning('Please select interactions to export');#}
{# return;#}
{# }#}
{# #}
{# var form = $('<form>', {#}
{# method: 'POST',#}
{# action: '{% url "pharmacy:export_interactions" %}'#}
{# });#}
{# #}
{# form.append($('<input>', {#}
{# type: 'hidden',#}
{# name: 'csrfmiddlewaretoken',#}
{# value: '{{ csrf_token }}'#}
{# }));#}
{# #}
{# selectedInteractions.forEach(function(id) {#}
{# form.append($('<input>', {#}
{# type: 'hidden',#}
{# name: 'interaction_ids',#}
{# value: id#}
{# }));#}
{# });#}
{# #}
{# $('body').append(form);#}
{# form.submit();#}
{# form.remove();#}
{# }#}
function generateReport() {
if (selectedInteractions.length === 0) {
toastr.warning('Please select interactions to include in report');
return;
}
// Implementation for report generation
toastr.info('Report generation feature coming soon');
}
function createAlert() {
if (selectedInteractions.length === 0) {
toastr.warning('Please select interactions to create alerts for');
return;
}
// Implementation for alert creation
toastr.info('Alert creation feature coming soon');
}
{#function printPatientReport() {#}
{# var patientId = $('#patient-select').val();#}
{# if (patientId) {#}
{# var printUrl = '{% url "pharmacy:print_patient_interactions" %}?patient_id=' + patientId;#}
{# window.open(printUrl, '_blank');#}
{# }#}
{# }#}
function clearFilters() {
$('#filter-form')[0].reset();
window.location.href = '{% url "pharmacy:drug_interaction_list" %}';
}
function addToList() {
var med1 = $('#medication1').val();
var med2 = $('#medication2').val();
if (!med1 || !med2) {
toastr.warning('Please select both medications first');
return;
}
// Implementation for adding to comparison list
toastr.info('Add to comparison list feature coming soon');
}
</script>
{% endblock %}