Overview
Med Agenda’s diagnosis system links medical diagnoses to consultations, integrates with CID (International Classification of Diseases) codes, and maintains comprehensive patient medical histories. Each diagnosis is connected to a specific consultation and includes standardized disease classification.Diagnosis Data Model
The diagnosis entity stores medical findings and classifications:Diagnosis.java:8-38
id: Unique UUID identifierdescricao: Detailed description of the diagnosisdata: Date the diagnosis was madeconsulta: Reference to the associated consultationcid: CID code for disease classification
CID Integration
Med Agenda uses the International Classification of Diseases (CID) standard:Cid.java:8-31
- Maximum 5 characters
- Examples:
A00(Cholera),A15.3(Tuberculosis of lungs),E11(Type 2 diabetes) - Follows international medical classification standards
- Automatically timestamped on creation
Creating a Diagnosis
Diagnoses are created and linked to existing consultations:DiagnosisService.java:22-32
API Endpoint
DiagnosisController.java:19-28
POST /diagnosis
Request Body:
Retrieving Diagnosis by Consultation
Get the diagnosis associated with a specific consultation:DiagnosisService.java:34-36
API Endpoint
DiagnosisController.java:30-35
GET /diagnosis/consultation/{consultationId}
Patient Medical History
Patient medical history is tracked through:- Medical History Field: Free-text field on the patient entity
Patient.java:31-32
- Consultation History: All past consultations with linked diagnoses
Patient.java:34-36
- Diagnosis Records: All diagnoses linked through consultations
Complete Medical History Flow
Diagnosis-Consultation Relationship
Each diagnosis is directly tied to one consultation:- Every diagnosis has context (date, doctor, patient)
- Medical findings are traceable to specific visits
- Historical records maintain referential integrity
- Cascading deletes preserve data consistency
Cascade Deletion
When a consultation is canceled, associated diagnoses are automatically deleted:ConsultationService.java:86-92
CID Code Examples
Common CID codes used in Med Agenda:| CID Code | Description |
|---|---|
| A00 | Cholera |
| A15.3 | Tuberculosis of lungs |
| E10 | Type 1 diabetes mellitus |
| E11 | Type 2 diabetes mellitus |
| I10 | Essential (primary) hypertension |
| J00 | Acute nasopharyngitis (common cold) |
| J45 | Asthma |
| M54 | Dorsalgia (back pain) |
Building Patient Medical Timeline
To construct a complete medical timeline for a patient:- Query patient by CPF
- Get all consultations for that patient
- For each consultation, retrieve the diagnosis
- Combine with patient’s medical history field
Data Structure Overview
Best Practices
- Always validate consultation exists before creating a diagnosis
- Use standardized CID codes for disease classification
- Include detailed descriptions to provide context beyond the CID code
- Date the diagnosis to track when conditions were identified
- Maintain referential integrity when deleting consultations
- Combine structured diagnoses with free-text medical history for comprehensive records
- Use UUID for diagnosis IDs to ensure global uniqueness
Integration Points
- Consultation System: Every diagnosis links to a consultation
- Patient Records: Diagnoses contribute to patient medical history
- CID Database: Standardized disease classification
- Reporting: Diagnoses enable medical analytics and reporting