api package

Submodules

api.admin module

api.apps module

class api.apps.ApiConfig(app_name, app_module)[source]

Bases: AppConfig

default_auto_field = 'django.db.models.BigAutoField'
name = 'api'

api.medical_workflow_views module

Additional View API for the complete medical workflow Manages the transcription pipeline, entity extraction, and report generation

API Endpoints Documentation

This module contains the following API functions for the medical workflow:

Patient Management

  • patients_list() - List of patients

  • patient_visit_history() - Patient visit history

  • update_patient_data() - Update patient data

Audio Workflow and Transcription

  • process_audio_visit() - Audio processing and transcription

  • extract_clinical_data_llm() - Clinical data extraction with LLM

  • transcript_details() - Transcription details

Report Generation

  • generate_pdf_report() - PDF report generation

  • download_pdf_report() - Download generated report

Analytics and Dashboard

  • dashboard_analytics() - Analytics data for dashboard

  • all_interventions_list() - List all interventions

  • intervention_details() - Specific intervention details

Clinical Data Management

  • update_clinical_data() - Update extracted clinical data

  • get_extraction_methods() - Available extraction methods

All functions are decorated with @api_view and use REST Framework serializers for data validation and serialization.

api.models module

api.serializers module

Serializers per API REST del sistema medico unificato

class api.serializers.DoctorSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializer per modello Doctor

class Meta[source]

Bases: object

model

alias of Doctor

fields = ['id', 'doctor_id', 'username', 'email', 'first_name', 'last_name', 'full_name', 'specialization', 'department', 'license_number', 'is_emergency_doctor', 'is_active', 'created_at', 'last_login_at']
read_only_fields = ['doctor_id', 'created_at', 'last_login_at']
class api.serializers.PatientSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializer per modello Patient

class Meta[source]

Bases: object

model

alias of Patient

fields = ['id', 'patient_id', 'first_name', 'last_name', 'full_name', 'date_of_birth', 'age', 'place_of_birth', 'fiscal_code', 'gender', 'phone', 'emergency_contact', 'weight', 'height', 'blood_type', 'allergies', 'created_at', 'updated_at']
read_only_fields = ['patient_id', 'created_at', 'updated_at']
class api.serializers.EncounterSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializer per modello Encounter

class Meta[source]

Bases: object

model

alias of Encounter

fields = ['id', 'encounter_id', 'patient', 'patient_name', 'doctor', 'doctor_name', 'admission_time', 'chief_complaint', 'triage_priority', 'status', 'discharge_time', 'duration_minutes', 'created_at', 'updated_at']
read_only_fields = ['encounter_id', 'duration_minutes', 'created_at', 'updated_at']
class api.serializers.TranscriptSegmentSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer per segmenti di trascrizione

class api.serializers.LoginSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer per autenticazione medici

validate(attrs)[source]
class api.serializers.AudioUploadSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer per upload file audio

validate_audio(value)[source]

Valida file audio

class api.serializers.StreamingStatusSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer per status streaming WebSocket

class api.serializers.TranscribeAudioSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer per richieste di trascrizione audio

class api.serializers.ProcessClinicalDataSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer per processamento dati clinici

class api.serializers.GenerateReportSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer per generazione report PDF

class api.serializers.AudioTranscriptSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializer per trascrizioni audio

class Meta[source]

Bases: object

model

alias of AudioTranscript

fields = '__all__'
read_only_fields = ['transcript_id', 'created_at', 'updated_at', 'transcription_completed_at']
class api.serializers.ClinicalDataSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializer per dati clinici estratti

class Meta[source]

Bases: object

model

alias of ClinicalData

fields = '__all__'
read_only_fields = ['extracted_at']
class api.serializers.ClinicalReportSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializer per report clinici

class Meta[source]

Bases: object

model

alias of ClinicalReport

fields = '__all__'
read_only_fields = ['report_id', 'created_at', 'updated_at', 'finalized_at']

api.tests module

api.urls module

API URLs configuration

api.views module

Views API per il sistema medico unificato Endpoints REST per gestione pazienti, medici ed episodi

class api.views.DoctorViewSet(*args, **kwargs)[source]

Bases: ModelViewSet

ViewSet per gestione medici

queryset
serializer_class

alias of DoctorSerializer

encounters(request, pk=None)

Ottieni tutti gli encounter di un medico

class api.views.PatientViewSet(*args, **kwargs)[source]

Bases: ModelViewSet

ViewSet per gestione pazienti

queryset
serializer_class

alias of PatientSerializer

encounters(request, pk=None)

Ottieni tutti gli encounter di un paziente

class api.views.EncounterViewSet(*args, **kwargs)[source]

Bases: ModelViewSet

ViewSet per gestione encounters di Pronto Soccorso

queryset
serializer_class

alias of EncounterSerializer

ordering_fields = ['admission_time', 'triage_priority']
ordering = ['-admission_time']
class api.views.TranscribeAudioView(*args, **kwargs)[source]

Bases: APIView

Endpoint per trascrizione audio

parser_classes = (rest_framework.parsers.MultiPartParser, rest_framework.parsers.FormParser)
post(request, format=None)[source]
class api.views.ProcessClinicalDataView(*args, **kwargs)[source]

Bases: APIView

Endpoint per processamento dati clinici

post(request, format=None)[source]
class api.views.GenerateReportView(*args, **kwargs)[source]

Bases: APIView

Endpoint per generazione report PDF

post(request, format=None)[source]