# Generated by Django 5.2.6 on 2025-09-19 10:58 import django.db.models.deletion import django.utils.timezone import uuid from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ("core", "0001_initial"), ("emr", "0001_initial"), ("patients", "0001_initial"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name="ImagingSeries", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "series_id", models.UUIDField( default=uuid.uuid4, editable=False, help_text="Unique series identifier", unique=True, ), ), ( "series_instance_uid", models.CharField( help_text="DICOM Series Instance UID", max_length=64, unique=True, ), ), ( "series_number", models.PositiveIntegerField(help_text="Series number within study"), ), ( "modality", models.CharField( choices=[ ("CR", "Computed Radiography"), ("CT", "Computed Tomography"), ("MR", "Magnetic Resonance"), ("US", "Ultrasound"), ("XA", "X-Ray Angiography"), ("RF", "Radiofluoroscopy"), ("DX", "Digital Radiography"), ("MG", "Mammography"), ("NM", "Nuclear Medicine"), ("PT", "Positron Emission Tomography"), ("OT", "Other"), ], help_text="Series modality", max_length=10, ), ), ( "series_description", models.CharField( blank=True, help_text="Series description", max_length=200, null=True, ), ), ( "protocol_name", models.CharField( blank=True, help_text="Protocol name", max_length=100, null=True ), ), ("series_date", models.DateField(help_text="Series date")), ("series_time", models.TimeField(help_text="Series time")), ( "series_datetime", models.DateTimeField(help_text="Series date and time"), ), ( "slice_thickness", models.FloatField( blank=True, help_text="Slice thickness in mm", null=True ), ), ( "spacing_between_slices", models.FloatField( blank=True, help_text="Spacing between slices in mm", null=True ), ), ( "pixel_spacing", models.CharField( blank=True, help_text="Pixel spacing", max_length=50, null=True ), ), ( "image_orientation", models.CharField( blank=True, help_text="Image orientation", max_length=100, null=True, ), ), ( "number_of_instances", models.PositiveIntegerField( default=0, help_text="Number of instances in series" ), ), ( "series_size", models.BigIntegerField(default=0, help_text="Series size in bytes"), ), ( "body_part", models.CharField( blank=True, help_text="Body part examined", max_length=100, null=True, ), ), ( "patient_position", models.CharField( blank=True, choices=[ ("HFP", "Head First-Prone"), ("HFS", "Head First-Supine"), ("HFDR", "Head First-Decubitus Right"), ("HFDL", "Head First-Decubitus Left"), ("FFP", "Feet First-Prone"), ("FFS", "Feet First-Supine"), ("FFDR", "Feet First-Decubitus Right"), ("FFDL", "Feet First-Decubitus Left"), ], help_text="Patient position", max_length=20, null=True, ), ), ( "contrast_agent", models.CharField( blank=True, help_text="Contrast agent used", max_length=100, null=True, ), ), ( "contrast_route", models.CharField( blank=True, choices=[ ("IV", "Intravenous"), ("ORAL", "Oral"), ("RECTAL", "Rectal"), ("INTRATHECAL", "Intrathecal"), ("INTRA_ARTICULAR", "Intra-articular"), ("OTHER", "Other"), ], help_text="Contrast administration route", max_length=20, null=True, ), ), ( "image_quality", models.CharField( blank=True, choices=[ ("EXCELLENT", "Excellent"), ("GOOD", "Good"), ("ADEQUATE", "Adequate"), ("POOR", "Poor"), ("UNACCEPTABLE", "Unacceptable"), ], help_text="Image quality assessment", max_length=20, null=True, ), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ], options={ "verbose_name": "Imaging Series", "verbose_name_plural": "Imaging Series", "db_table": "radiology_imaging_series", "ordering": ["study", "series_number"], }, ), migrations.CreateModel( name="ImagingOrder", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "order_id", models.UUIDField( default=uuid.uuid4, editable=False, help_text="Unique order identifier", unique=True, ), ), ( "order_number", models.CharField( help_text="Imaging order number", max_length=20, unique=True ), ), ( "order_datetime", models.DateTimeField( default=django.utils.timezone.now, help_text="Date and time order was placed", ), ), ( "priority", models.CharField( choices=[ ("ROUTINE", "Routine"), ("URGENT", "Urgent"), ("STAT", "STAT"), ("EMERGENCY", "Emergency"), ], default="ROUTINE", help_text="Order priority", max_length=20, ), ), ( "modality", models.CharField( choices=[ ("CR", "Computed Radiography"), ("CT", "Computed Tomography"), ("MR", "Magnetic Resonance"), ("US", "Ultrasound"), ("XA", "X-Ray Angiography"), ("RF", "Radiofluoroscopy"), ("DX", "Digital Radiography"), ("MG", "Mammography"), ("NM", "Nuclear Medicine"), ("PT", "Positron Emission Tomography"), ], help_text="Requested modality", max_length=10, ), ), ( "study_description", models.CharField(help_text="Study description", max_length=200), ), ( "body_part", models.CharField( choices=[ ("HEAD", "Head"), ("NECK", "Neck"), ("CHEST", "Chest"), ("ABDOMEN", "Abdomen"), ("PELVIS", "Pelvis"), ("SPINE", "Spine"), ("EXTREMITY", "Extremity"), ("BREAST", "Breast"), ("HEART", "Heart"), ("BRAIN", "Brain"), ("WHOLE_BODY", "Whole Body"), ("OTHER", "Other"), ], help_text="Body part to be examined", max_length=100, ), ), ( "clinical_indication", models.TextField(help_text="Clinical indication for imaging"), ), ( "clinical_history", models.TextField( blank=True, help_text="Relevant clinical history", null=True ), ), ( "diagnosis_code", models.CharField( blank=True, help_text="ICD-10 diagnosis code", max_length=20, null=True, ), ), ( "contrast_required", models.BooleanField( default=False, help_text="Contrast agent required" ), ), ( "contrast_type", models.CharField( blank=True, help_text="Type of contrast agent", max_length=50, null=True, ), ), ( "contrast_route", models.CharField( blank=True, choices=[ ("IV", "Intravenous"), ("ORAL", "Oral"), ("RECTAL", "Rectal"), ("INTRATHECAL", "Intrathecal"), ("INTRA_ARTICULAR", "Intra-articular"), ("OTHER", "Other"), ], help_text="Contrast administration route", max_length=20, null=True, ), ), ( "requested_datetime", models.DateTimeField( blank=True, help_text="Requested study date and time", null=True ), ), ( "scheduled_datetime", models.DateTimeField( blank=True, help_text="Scheduled study date and time", null=True ), ), ( "status", models.CharField( choices=[ ("PENDING", "Pending"), ("SCHEDULED", "Scheduled"), ("IN_PROGRESS", "In Progress"), ("COMPLETED", "Completed"), ("CANCELLED", "Cancelled"), ("ON_HOLD", "On Hold"), ], default="PENDING", help_text="Order status", max_length=20, ), ), ( "special_instructions", models.TextField( blank=True, help_text="Special instructions for imaging", null=True, ), ), ( "patient_preparation", models.TextField( blank=True, help_text="Patient preparation instructions", null=True, ), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "encounter", models.ForeignKey( blank=True, help_text="Related encounter", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="imaging_orders", to="emr.encounter", ), ), ( "ordering_provider", models.ForeignKey( help_text="Ordering provider", on_delete=django.db.models.deletion.CASCADE, related_name="ordered_imaging_studies", to=settings.AUTH_USER_MODEL, ), ), ( "patient", models.ForeignKey( help_text="Patient", on_delete=django.db.models.deletion.CASCADE, related_name="imaging_orders", to="patients.patientprofile", ), ), ( "tenant", models.ForeignKey( help_text="Organization tenant", on_delete=django.db.models.deletion.CASCADE, related_name="imaging_orders", to="core.tenant", ), ), ], options={ "verbose_name": "Imaging Order", "verbose_name_plural": "Imaging Orders", "db_table": "radiology_imaging_order", "ordering": ["-order_datetime"], }, ), migrations.CreateModel( name="DICOMImage", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "image_id", models.UUIDField( default=uuid.uuid4, editable=False, help_text="Unique image identifier", unique=True, ), ), ( "sop_instance_uid", models.CharField( help_text="DICOM SOP Instance UID", max_length=64, unique=True ), ), ( "instance_number", models.PositiveIntegerField( help_text="Instance number within series" ), ), ( "image_type", models.CharField( blank=True, help_text="DICOM image type", max_length=100, null=True, ), ), ( "sop_class_uid", models.CharField(help_text="DICOM SOP Class UID", max_length=64), ), ( "rows", models.PositiveIntegerField(help_text="Number of rows in image"), ), ( "columns", models.PositiveIntegerField(help_text="Number of columns in image"), ), ( "bits_allocated", models.PositiveIntegerField( help_text="Number of bits allocated for each pixel" ), ), ( "bits_stored", models.PositiveIntegerField( help_text="Number of bits stored for each pixel" ), ), ( "image_position", models.CharField( blank=True, help_text="Image position (patient)", max_length=100, null=True, ), ), ( "image_orientation", models.CharField( blank=True, help_text="Image orientation (patient)", max_length=100, null=True, ), ), ( "slice_location", models.FloatField( blank=True, help_text="Slice location", null=True ), ), ( "window_center", models.FloatField(blank=True, help_text="Window center", null=True), ), ( "window_width", models.FloatField(blank=True, help_text="Window width", null=True), ), ( "file_path", models.CharField( help_text="File path on storage system", max_length=500 ), ), ("file_size", models.BigIntegerField(help_text="File size in bytes")), ( "transfer_syntax_uid", models.CharField( blank=True, help_text="Transfer syntax UID", max_length=64, null=True, ), ), ( "content_date", models.DateField(blank=True, help_text="Content date", null=True), ), ( "content_time", models.TimeField(blank=True, help_text="Content time", null=True), ), ( "acquisition_datetime", models.DateTimeField( blank=True, help_text="Acquisition date and time", null=True ), ), ( "image_quality", models.CharField( blank=True, choices=[ ("EXCELLENT", "Excellent"), ("GOOD", "Good"), ("ADEQUATE", "Adequate"), ("POOR", "Poor"), ("UNACCEPTABLE", "Unacceptable"), ], help_text="Image quality assessment", max_length=20, null=True, ), ), ( "processed", models.BooleanField( default=False, help_text="Image has been processed" ), ), ( "archived", models.BooleanField(default=False, help_text="Image is archived"), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "series", models.ForeignKey( help_text="Parent imaging series", on_delete=django.db.models.deletion.CASCADE, related_name="images", to="radiology.imagingseries", ), ), ], options={ "verbose_name": "DICOM Image", "verbose_name_plural": "DICOM Images", "db_table": "radiology_dicom_image", "ordering": ["series", "instance_number"], }, ), migrations.CreateModel( name="ImagingStudy", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "study_id", models.UUIDField( default=uuid.uuid4, editable=False, help_text="Unique study identifier", unique=True, ), ), ( "study_instance_uid", models.CharField( help_text="DICOM Study Instance UID", max_length=64, unique=True ), ), ( "accession_number", models.CharField( help_text="Study accession number", max_length=20, unique=True ), ), ( "modality", models.CharField( choices=[ ("CR", "Computed Radiography"), ("CT", "Computed Tomography"), ("MR", "Magnetic Resonance"), ("US", "Ultrasound"), ("XA", "X-Ray Angiography"), ("RF", "Radiofluoroscopy"), ("DX", "Digital Radiography"), ("MG", "Mammography"), ("NM", "Nuclear Medicine"), ("PT", "Positron Emission Tomography"), ("OT", "Other"), ], help_text="Study modality", max_length=10, ), ), ( "study_description", models.CharField(help_text="Study description", max_length=200), ), ( "body_part", models.CharField( choices=[ ("HEAD", "Head"), ("NECK", "Neck"), ("CHEST", "Chest"), ("ABDOMEN", "Abdomen"), ("PELVIS", "Pelvis"), ("SPINE", "Spine"), ("EXTREMITY", "Extremity"), ("BREAST", "Breast"), ("HEART", "Heart"), ("BRAIN", "Brain"), ("WHOLE_BODY", "Whole Body"), ("OTHER", "Other"), ], help_text="Body part examined", max_length=100, ), ), ("study_date", models.DateField(help_text="Study date")), ("study_time", models.TimeField(help_text="Study time")), ( "study_datetime", models.DateTimeField(help_text="Study date and time"), ), ( "clinical_indication", models.TextField( blank=True, help_text="Clinical indication for study", null=True ), ), ( "clinical_history", models.TextField( blank=True, help_text="Clinical history", null=True ), ), ( "diagnosis_code", models.CharField( blank=True, help_text="ICD-10 diagnosis code", max_length=20, null=True, ), ), ( "status", models.CharField( choices=[ ("SCHEDULED", "Scheduled"), ("ARRIVED", "Arrived"), ("IN_PROGRESS", "In Progress"), ("COMPLETED", "Completed"), ("INTERPRETED", "Interpreted"), ("FINALIZED", "Finalized"), ("CANCELLED", "Cancelled"), ], default="SCHEDULED", help_text="Study status", max_length=20, ), ), ( "priority", models.CharField( choices=[ ("ROUTINE", "Routine"), ("URGENT", "Urgent"), ("STAT", "STAT"), ("EMERGENCY", "Emergency"), ], default="ROUTINE", help_text="Study priority", max_length=20, ), ), ( "kvp", models.FloatField( blank=True, help_text="Peak kilovoltage (kVp)", null=True ), ), ( "mas", models.FloatField( blank=True, help_text="Milliampere-seconds (mAs)", null=True ), ), ( "exposure_time", models.FloatField( blank=True, help_text="Exposure time in milliseconds", null=True ), ), ( "slice_thickness", models.FloatField( blank=True, help_text="Slice thickness in mm", null=True ), ), ( "station_name", models.CharField( blank=True, help_text="Acquisition station name", max_length=50, null=True, ), ), ( "manufacturer", models.CharField( blank=True, help_text="Equipment manufacturer", max_length=50, null=True, ), ), ( "model_name", models.CharField( blank=True, help_text="Equipment model name", max_length=50, null=True, ), ), ( "number_of_series", models.PositiveIntegerField( default=0, help_text="Number of series in study" ), ), ( "number_of_instances", models.PositiveIntegerField( default=0, help_text="Number of instances in study" ), ), ( "study_size", models.BigIntegerField(default=0, help_text="Study size in bytes"), ), ( "image_quality", models.CharField( blank=True, choices=[ ("EXCELLENT", "Excellent"), ("GOOD", "Good"), ("ADEQUATE", "Adequate"), ("POOR", "Poor"), ("UNACCEPTABLE", "Unacceptable"), ], help_text="Image quality assessment", max_length=20, null=True, ), ), ( "completion_status", models.CharField( choices=[ ("COMPLETE", "Complete"), ("PARTIAL", "Partial"), ("INCOMPLETE", "Incomplete"), ], default="COMPLETE", help_text="Study completion status", max_length=20, ), ), ( "pacs_location", models.CharField( blank=True, help_text="PACS storage location", max_length=200, null=True, ), ), ( "archived", models.BooleanField(default=False, help_text="Study is archived"), ), ( "archive_location", models.CharField( blank=True, help_text="Archive storage location", max_length=200, null=True, ), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "created_by", models.ForeignKey( blank=True, help_text="User who created the study", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="created_studies", to=settings.AUTH_USER_MODEL, ), ), ( "encounter", models.ForeignKey( blank=True, help_text="Related encounter", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="imaging_studies", to="emr.encounter", ), ), ( "imaging_order", models.ForeignKey( blank=True, help_text="Related imaging order", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="studies", to="radiology.imagingorder", ), ), ( "patient", models.ForeignKey( help_text="Patient", on_delete=django.db.models.deletion.CASCADE, related_name="imaging_studies", to="patients.patientprofile", ), ), ( "radiologist", models.ForeignKey( blank=True, help_text="Interpreting radiologist", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="interpreted_studies", to=settings.AUTH_USER_MODEL, ), ), ( "referring_physician", models.ForeignKey( help_text="Referring physician", on_delete=django.db.models.deletion.CASCADE, related_name="referred_studies", to=settings.AUTH_USER_MODEL, ), ), ( "tenant", models.ForeignKey( help_text="Organization tenant", on_delete=django.db.models.deletion.CASCADE, related_name="imaging_studies", to="core.tenant", ), ), ], options={ "verbose_name": "Imaging Study", "verbose_name_plural": "Imaging Studies", "db_table": "radiology_imaging_study", "ordering": ["-study_datetime"], }, ), migrations.AddField( model_name="imagingseries", name="study", field=models.ForeignKey( help_text="Parent imaging study", on_delete=django.db.models.deletion.CASCADE, related_name="series", to="radiology.imagingstudy", ), ), migrations.CreateModel( name="ReportTemplate", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "template_id", models.UUIDField( default=uuid.uuid4, editable=False, help_text="Unique template identifier", unique=True, ), ), ("name", models.CharField(help_text="Template name", max_length=100)), ( "description", models.TextField( blank=True, help_text="Template description", null=True ), ), ( "modality", models.CharField( choices=[ ("ALL", "All Modalities"), ("CR", "Computed Radiography"), ("CT", "Computed Tomography"), ("MR", "Magnetic Resonance"), ("US", "Ultrasound"), ("XA", "X-Ray Angiography"), ("RF", "Radiofluoroscopy"), ("DX", "Digital Radiography"), ("MG", "Mammography"), ("NM", "Nuclear Medicine"), ("PT", "Positron Emission Tomography"), ], default="ALL", help_text="Applicable modality", max_length=10, ), ), ( "body_part", models.CharField( choices=[ ("ALL", "All Body Parts"), ("HEAD", "Head"), ("NECK", "Neck"), ("CHEST", "Chest"), ("ABDOMEN", "Abdomen"), ("PELVIS", "Pelvis"), ("SPINE", "Spine"), ("EXTREMITY", "Extremity"), ("BREAST", "Breast"), ("HEART", "Heart"), ("BRAIN", "Brain"), ], default="ALL", help_text="Applicable body part", max_length=100, ), ), ( "clinical_history_template", models.TextField( blank=True, help_text="Clinical history template", null=True ), ), ( "technique_template", models.TextField( blank=True, help_text="Technique template", null=True ), ), ("findings_template", models.TextField(help_text="Findings template")), ( "impression_template", models.TextField(help_text="Impression template"), ), ( "recommendations_template", models.TextField( blank=True, help_text="Recommendations template", null=True ), ), ( "structured_fields", models.JSONField( default=dict, help_text="Structured reporting field definitions" ), ), ( "is_active", models.BooleanField(default=True, help_text="Template is active"), ), ( "is_default", models.BooleanField( default=False, help_text="Default template for modality/body part", ), ), ( "usage_count", models.PositiveIntegerField( default=0, help_text="Number of times template has been used" ), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "created_by", models.ForeignKey( blank=True, help_text="User who created the template", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="created_report_templates", to=settings.AUTH_USER_MODEL, ), ), ( "tenant", models.ForeignKey( help_text="Organization tenant", on_delete=django.db.models.deletion.CASCADE, related_name="report_templates", to="core.tenant", ), ), ], options={ "verbose_name": "Report Template", "verbose_name_plural": "Report Templates", "db_table": "radiology_report_template", "ordering": ["modality", "body_part", "name"], }, ), migrations.CreateModel( name="RadiologyReport", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "report_id", models.UUIDField( default=uuid.uuid4, editable=False, help_text="Unique report identifier", unique=True, ), ), ( "clinical_history", models.TextField( blank=True, help_text="Clinical history and indication", null=True, ), ), ( "technique", models.TextField( blank=True, help_text="Imaging technique and protocol", null=True, ), ), ("findings", models.TextField(help_text="Imaging findings")), ( "impression", models.TextField(help_text="Radiologist impression and conclusion"), ), ( "recommendations", models.TextField( blank=True, help_text="Recommendations for follow-up", null=True ), ), ( "status", models.CharField( choices=[ ("DRAFT", "Draft"), ("PRELIMINARY", "Preliminary"), ("FINAL", "Final"), ("AMENDED", "Amended"), ("CORRECTED", "Corrected"), ], default="DRAFT", help_text="Report status", max_length=20, ), ), ( "critical_finding", models.BooleanField( default=False, help_text="Report contains critical findings" ), ), ( "critical_communicated", models.BooleanField( default=False, help_text="Critical findings have been communicated", ), ), ( "critical_communicated_to", models.CharField( blank=True, help_text="Person critical findings were communicated to", max_length=100, null=True, ), ), ( "critical_communicated_datetime", models.DateTimeField( blank=True, help_text="Date and time critical findings were communicated", null=True, ), ), ( "dictated_datetime", models.DateTimeField( blank=True, help_text="Date and time report was dictated", null=True, ), ), ( "transcribed_datetime", models.DateTimeField( blank=True, help_text="Date and time report was transcribed", null=True, ), ), ( "verified_datetime", models.DateTimeField( blank=True, help_text="Date and time report was verified", null=True, ), ), ( "finalized_datetime", models.DateTimeField( blank=True, help_text="Date and time report was finalized", null=True, ), ), ( "structured_data", models.JSONField( default=dict, help_text="Structured reporting data" ), ), ( "report_length", models.PositiveIntegerField( default=0, help_text="Report length in characters" ), ), ( "turnaround_time", models.PositiveIntegerField( blank=True, help_text="Turnaround time in minutes", null=True ), ), ( "addendum", models.TextField( blank=True, help_text="Report addendum", null=True ), ), ( "addendum_datetime", models.DateTimeField( blank=True, help_text="Date and time addendum was added", null=True, ), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "dictated_by", models.ForeignKey( blank=True, help_text="Radiologist who dictated the report", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="dictated_reports", to=settings.AUTH_USER_MODEL, ), ), ( "radiologist", models.ForeignKey( help_text="Interpreting radiologist", on_delete=django.db.models.deletion.CASCADE, related_name="radiology_reports", to=settings.AUTH_USER_MODEL, ), ), ( "study", models.OneToOneField( help_text="Related imaging study", on_delete=django.db.models.deletion.CASCADE, related_name="report", to="radiology.imagingstudy", ), ), ( "transcribed_by", models.ForeignKey( blank=True, help_text="Person who transcribed the report", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="transcribed_reports", to=settings.AUTH_USER_MODEL, ), ), ( "template_used", models.ForeignKey( blank=True, help_text="Report template used", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="reports", to="radiology.reporttemplate", ), ), ], options={ "verbose_name": "Radiology Report", "verbose_name_plural": "Radiology Reports", "db_table": "radiology_radiology_report", "ordering": ["-created_at"], }, ), migrations.AddIndex( model_name="imagingorder", index=models.Index( fields=["tenant", "status"], name="radiology_i_tenant__3b515d_idx" ), ), migrations.AddIndex( model_name="imagingorder", index=models.Index( fields=["patient", "status"], name="radiology_i_patient_afd52e_idx" ), ), migrations.AddIndex( model_name="imagingorder", index=models.Index( fields=["ordering_provider"], name="radiology_i_orderin_ea97ce_idx" ), ), migrations.AddIndex( model_name="imagingorder", index=models.Index( fields=["order_datetime"], name="radiology_i_order_d_39e57c_idx" ), ), migrations.AddIndex( model_name="imagingorder", index=models.Index( fields=["order_number"], name="radiology_i_order_n_f62d46_idx" ), ), migrations.AddIndex( model_name="imagingorder", index=models.Index( fields=["priority"], name="radiology_i_priorit_361aea_idx" ), ), migrations.AddIndex( model_name="imagingorder", index=models.Index( fields=["modality"], name="radiology_i_modalit_6b3ebb_idx" ), ), migrations.AddIndex( model_name="dicomimage", index=models.Index( fields=["series", "instance_number"], name="radiology_d_series__235f82_idx", ), ), migrations.AddIndex( model_name="dicomimage", index=models.Index( fields=["sop_instance_uid"], name="radiology_d_sop_ins_ea9ded_idx" ), ), migrations.AddIndex( model_name="dicomimage", index=models.Index( fields=["sop_class_uid"], name="radiology_d_sop_cla_c69ac4_idx" ), ), migrations.AddIndex( model_name="dicomimage", index=models.Index( fields=["processed"], name="radiology_d_process_8c5300_idx" ), ), migrations.AddIndex( model_name="dicomimage", index=models.Index( fields=["archived"], name="radiology_d_archive_35bb5b_idx" ), ), migrations.AlterUniqueTogether( name="dicomimage", unique_together={("series", "instance_number")}, ), migrations.AddIndex( model_name="imagingstudy", index=models.Index( fields=["tenant", "status"], name="radiology_i_tenant__871dc8_idx" ), ), migrations.AddIndex( model_name="imagingstudy", index=models.Index( fields=["patient", "study_date"], name="radiology_i_patient_b047df_idx" ), ), migrations.AddIndex( model_name="imagingstudy", index=models.Index( fields=["modality", "study_date"], name="radiology_i_modalit_f5025a_idx" ), ), migrations.AddIndex( model_name="imagingstudy", index=models.Index( fields=["accession_number"], name="radiology_i_accessi_c8e131_idx" ), ), migrations.AddIndex( model_name="imagingstudy", index=models.Index( fields=["study_instance_uid"], name="radiology_i_study_i_dc0c38_idx" ), ), migrations.AddIndex( model_name="imagingstudy", index=models.Index( fields=["priority"], name="radiology_i_priorit_d47183_idx" ), ), migrations.AddIndex( model_name="imagingstudy", index=models.Index( fields=["radiologist"], name="radiology_i_radiolo_25d4fb_idx" ), ), migrations.AddIndex( model_name="imagingseries", index=models.Index( fields=["study", "series_number"], name="radiology_i_study_i_bd909c_idx" ), ), migrations.AddIndex( model_name="imagingseries", index=models.Index( fields=["series_instance_uid"], name="radiology_i_series__4593e0_idx" ), ), migrations.AddIndex( model_name="imagingseries", index=models.Index( fields=["modality"], name="radiology_i_modalit_cee22e_idx" ), ), migrations.AddIndex( model_name="imagingseries", index=models.Index( fields=["series_datetime"], name="radiology_i_series__059f84_idx" ), ), migrations.AlterUniqueTogether( name="imagingseries", unique_together={("study", "series_number")}, ), migrations.AddIndex( model_name="reporttemplate", index=models.Index( fields=["tenant", "is_active"], name="radiology_r_tenant__33f651_idx" ), ), migrations.AddIndex( model_name="reporttemplate", index=models.Index( fields=["modality", "body_part"], name="radiology_r_modalit_03374f_idx" ), ), migrations.AddIndex( model_name="reporttemplate", index=models.Index( fields=["is_default"], name="radiology_r_is_defa_6ba573_idx" ), ), migrations.AlterUniqueTogether( name="reporttemplate", unique_together={("tenant", "name")}, ), migrations.AddIndex( model_name="radiologyreport", index=models.Index(fields=["study"], name="radiology_r_study_i_137be2_idx"), ), migrations.AddIndex( model_name="radiologyreport", index=models.Index( fields=["radiologist"], name="radiology_r_radiolo_5e2c07_idx" ), ), migrations.AddIndex( model_name="radiologyreport", index=models.Index(fields=["status"], name="radiology_r_status_cb1ea4_idx"), ), migrations.AddIndex( model_name="radiologyreport", index=models.Index( fields=["critical_finding"], name="radiology_r_critica_894831_idx" ), ), migrations.AddIndex( model_name="radiologyreport", index=models.Index( fields=["finalized_datetime"], name="radiology_r_finaliz_edf9b3_idx" ), ), ]