86 lines
5.4 KiB
Python
86 lines
5.4 KiB
Python
"""
|
|
URL configuration for EMR app.
|
|
"""
|
|
|
|
from django.urls import path, include
|
|
from . import views
|
|
|
|
app_name = 'emr'
|
|
|
|
urlpatterns = [
|
|
# Main views
|
|
path('', views.EMRDashboardView.as_view(), name='dashboard'),
|
|
path('encounters/', views.EncounterListView.as_view(), name='encounter_list'),
|
|
path('encounters/<int:pk>/', views.EncounterDetailView.as_view(), name='encounter_detail'),
|
|
# path('encounters/<int:pk>/update/', views.EncounterUpdateView.as_view(), name='encounter_update'),
|
|
# path('encounters/<int:pk>/delete/', views.EncounterDeleteView.as_view(), name='encounter_delete'),
|
|
path('encounters/create/', views.EncounterCreateView.as_view(), name='encounter_create'),
|
|
|
|
path('vital-signs/', views.VitalSignsListView.as_view(), name='vital_signs_list'),
|
|
path('add-vital-signs/<int:pk>/', views.VitalSignsCreateView.as_view(), name='add_vital_signs'),
|
|
path('vital-signs/<int:pk>/', views.VitalSignsDetailView.as_view(), name='vital_signs_detail'),
|
|
|
|
path('problems/', views.ProblemListView.as_view(), name='problem_list'),
|
|
path('problems/<int:pk>/', views.ProblemListDetailView.as_view(), name='problem_detail'),
|
|
path('problems/<int:pk>/update/', views.ProblemListUpdateView.as_view(), name='problem_update'),
|
|
path('problems/<int:pk>/delete/', views.ProblemListDeleteView.as_view(), name='problem_delete'),
|
|
path('problems/create/', views.ProblemListCreateView.as_view(), name='problem_create'),
|
|
|
|
path('care-plans/', views.CarePlanListView.as_view(), name='care_plan_list'),
|
|
path('care-plans/<int:pk>/', views.CarePlanDetailView.as_view(), name='care_plan_detail'),
|
|
path('care-plans/<int:pk>/update/', views.CarePlanUpdateView.as_view(), name='care_plan_update'),
|
|
path('care-plans/<int:pk>/delete/', views.CarePlanDeleteView.as_view(), name='care_plan_delete'),
|
|
path('care-plans/<int:pk>/progress/', views.CarePlanProgressUpdateView.as_view(), name='care_plan_progress_update'),
|
|
path('care-plans/approve/<int:pk>/', views.approve_care_plan, name='approve_care_plan'),
|
|
path('care-plans/complete/<int:pk>/', views.complete_care_plan, name='complete_care_plan'),
|
|
|
|
path('notes/', views.ClinicalNoteListView.as_view(), name='clinical_note_list'),
|
|
path('notes/<int:pk>/', views.ClinicalNoteDetailView.as_view(), name='clinical_note_detail'),
|
|
path('notes/<int:pk>/update/', views.ClinicalNoteUpdateView.as_view(), name='clinical_note_update'),
|
|
path('notes/<int:pk>/delete/', views.ClinicalNoteDeleteView.as_view(), name='clinical_note_delete'),
|
|
path('notes/create/<int:pk>/', views.ClinicalNoteCreateView.as_view(), name='clinical_note_create'),
|
|
|
|
path('templates/', views.NoteTemplateListView.as_view(), name='note_template_list'),
|
|
path('templates/<int:pk>/', views.NoteTemplateDetailView.as_view(), name='note_template_detail'),
|
|
path('templates/<int:pk>/update/', views.NoteTemplateUpdateView.as_view(), name='note_template_update'),
|
|
path('templates/<int:pk>/delete/', views.NoteTemplateDeleteView.as_view(), name='note_template_delete'),
|
|
path('templates/create/', views.NoteTemplateCreateView.as_view(), name='note_template_create'),
|
|
|
|
|
|
# HTMX endpoints
|
|
path('stats/', views.emr_stats, name='emr_stats'),
|
|
path('encounter-search/', views.encounter_search, name='encounter_search'),
|
|
path('vital-signs-chart/<int:patient_id>/', views.vital_signs_chart, name='vital_signs_chart'),
|
|
path('problem-list/<int:patient_id>/', views.problem_list_patient, name='problem_list_patient'),
|
|
|
|
# Actions
|
|
# path('record-create/', views.RecordCreateView.as_view(), name='record_create'),
|
|
path('encounter/<uuid:encounter_id>/vitals/add/', views.add_vital_signs, name='add_vital_signs'),
|
|
path('encounter/<int:encounter_id>/problem/add/', views.add_problem, name='add_problem'),
|
|
path('encounter/<int:encounter_id>/care-plan/add/', views.add_care_plan, name='add_care_plan'),
|
|
path('encounter/<int:encounter_id>/status/', views.update_encounter_status, name='update_encounter_status'),
|
|
path('note/<int:note_id>/sign/', views.sign_note, name='sign_note'),
|
|
path('problem/<int:problem_id>/resolve/', views.resolve_problem, name='resolve_problem'),
|
|
|
|
|
|
path("icd10/", views.Icd10SearchView.as_view(), name="icd10_search"),
|
|
path("icd10/<str:code>/", views.Icd10DetailView.as_view(), name="icd10_detail"),
|
|
|
|
# Clinical Decision Support
|
|
path('clinical-decision-support/', views.clinical_decision_support, name='clinical_decision_support'),
|
|
path('api/patient-search/', views.patient_search_api, name='patient_search_api'),
|
|
path('api/clinical-recommendations/', views.get_clinical_recommendations, name='get_clinical_recommendations'),
|
|
path('api/drug-interactions/', views.check_drug_interactions, name='check_drug_interactions'),
|
|
path('api/allergies/', views.check_allergies, name='check_allergies'),
|
|
path('api/risk-scores/', views.calculate_risk_scores, name='calculate_risk_scores'),
|
|
path('api/accept-recommendation/', views.accept_recommendation, name='accept_recommendation'),
|
|
path('api/defer-recommendation/', views.defer_recommendation, name='defer_recommendation'),
|
|
path('api/dismiss-recommendation/', views.dismiss_recommendation, name='dismiss_recommendation'),
|
|
path('api/acknowledge-alert/', views.acknowledge_alert, name='acknowledge_alert'),
|
|
path('api/apply-protocol/', views.apply_protocol, name='apply_protocol'),
|
|
path('api/icd10-search/', views.icd10_search_api, name='icd10_search_api'),
|
|
|
|
# API endpoints
|
|
# path('api/', include('emr.api.urls')),
|
|
]
|