healthdatalayer 1.6.2__tar.gz → 1.6.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of healthdatalayer might be problematic. Click here for more details.

Files changed (110) hide show
  1. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/PKG-INFO +1 -1
  2. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/dtos/__init__.py +1 -1
  3. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/dtos/medical_visit/medical_certificate.py +12 -1
  4. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/medical_visit_repository.py +41 -13
  5. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer.egg-info/PKG-INFO +1 -1
  6. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/setup.py +1 -1
  7. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/README.md +0 -0
  8. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/__init__.py +0 -0
  9. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/config/__init__.py +0 -0
  10. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/config/config.py +0 -0
  11. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/config/db.py +0 -0
  12. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/config/vault.py +0 -0
  13. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/dtos/collaborator/__init__.py +0 -0
  14. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/dtos/collaborator/schedule_collaborator.py +0 -0
  15. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/dtos/medical_visit/__init__.py +0 -0
  16. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/__init__.py +0 -0
  17. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/bridge_area_floor_branch/__init__.py +0 -0
  18. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/bridge_area_floor_branch/area.py +0 -0
  19. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/bridge_area_floor_branch/branch.py +0 -0
  20. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/bridge_area_floor_branch/bridge_area_floor_branch.py +0 -0
  21. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/bridge_area_floor_branch/floor.py +0 -0
  22. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/bridge_area_floor_branch/room.py +0 -0
  23. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/bridge_area_floor_branch/system.py +0 -0
  24. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/__init__.py +0 -0
  25. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/address.py +0 -0
  26. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/city.py +0 -0
  27. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/client.py +0 -0
  28. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/client_type.py +0 -0
  29. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/education.py +0 -0
  30. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/emergency_contact.py +0 -0
  31. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/gender.py +0 -0
  32. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/marriage_status.py +0 -0
  33. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/nationality.py +0 -0
  34. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/pathological_history.py +0 -0
  35. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/pet.py +0 -0
  36. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/profession.py +0 -0
  37. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/px.py +0 -0
  38. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/client/state.py +0 -0
  39. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/collaborator/__init__.py +0 -0
  40. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/collaborator/collaborator.py +0 -0
  41. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/collaborator/collaborator_speciality.py +0 -0
  42. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/collaborator/collaborator_type.py +0 -0
  43. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/collaborator/speciality.py +0 -0
  44. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/lab/__init__.py +0 -0
  45. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/lab/client_lab.py +0 -0
  46. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/lab/measure_lab.py +0 -0
  47. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/lab/medical_lab.py +0 -0
  48. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/__init__.py +0 -0
  49. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/medical_diagnosis.py +0 -0
  50. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/medical_diagnosis_visit.py +0 -0
  51. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/medical_drug.py +0 -0
  52. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/medical_drug_recipe.py +0 -0
  53. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/medical_recipe_visit.py +0 -0
  54. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/medical_visit.py +0 -0
  55. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/organ_system_review.py +0 -0
  56. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/physical_exam.py +0 -0
  57. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/status_visit_enum.py +0 -0
  58. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/medical_visit/visit_triage.py +0 -0
  59. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/user/__init__.py +0 -0
  60. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/user/permission.py +0 -0
  61. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/user/permission_user.py +0 -0
  62. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/user/role.py +0 -0
  63. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/user/role_permission.py +0 -0
  64. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/user/role_user.py +0 -0
  65. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/models/user/user.py +0 -0
  66. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/__init__.py +0 -0
  67. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/__init__.py +0 -0
  68. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/address_repository.py +0 -0
  69. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/client_type_repository.py +0 -0
  70. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/education_repository.py +0 -0
  71. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/emergency_contact_repository.py +0 -0
  72. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/gender_repository.py +0 -0
  73. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/marriage_status_repository.py +0 -0
  74. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/nationality_repository.py +0 -0
  75. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/pathological_history_repository.py +0 -0
  76. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/pet_repository.py +0 -0
  77. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/profession_repository.py +0 -0
  78. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/client_repositories/px_repository.py +0 -0
  79. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/collaborator_repositories/__init__.py +0 -0
  80. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/collaborator_repositories/collaborator_repository.py +0 -0
  81. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/collaborator_repositories/collaborator_type_repository.py +0 -0
  82. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/collaborator_repositories/speciality_repository.py +0 -0
  83. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/infraestructure_repositories/__init__.py +0 -0
  84. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/infraestructure_repositories/area_repository.py +0 -0
  85. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/infraestructure_repositories/branch_repository.py +0 -0
  86. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/infraestructure_repositories/bridge_repository.py +0 -0
  87. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/infraestructure_repositories/floor_repository.py +0 -0
  88. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/infraestructure_repositories/room_repository.py +0 -0
  89. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/infraestructure_repositories/system_repository.py +0 -0
  90. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/lab_repositories/__init__.py +0 -0
  91. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/lab_repositories/measure_lab_repository.py +0 -0
  92. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/lab_repositories/medical_lab_repository.py +0 -0
  93. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/__init__.py +0 -0
  94. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/medical_diagnosis_repository.py +0 -0
  95. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/medical_diagnosis_visit_repository.py +0 -0
  96. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/medical_drug_recipe_repository.py +0 -0
  97. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/medical_drug_repository.py +0 -0
  98. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/medical_recipe_visit_repository.py +0 -0
  99. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/organ_system_review_repository.py +0 -0
  100. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/physical_exam_repository.py +0 -0
  101. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/medical_visit_repositories/visit_triage_repository.py +0 -0
  102. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/user_repositories/__init__.py +0 -0
  103. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/user_repositories/permission_repository.py +0 -0
  104. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/user_repositories/role_repository.py +0 -0
  105. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer/repositories/user_repositories/user_repository.py +0 -0
  106. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer.egg-info/SOURCES.txt +0 -0
  107. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer.egg-info/dependency_links.txt +0 -0
  108. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer.egg-info/requires.txt +0 -0
  109. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/healthdatalayer.egg-info/top_level.txt +0 -0
  110. {healthdatalayer-1.6.2 → healthdatalayer-1.6.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: healthdatalayer
3
- Version: 1.6.2
3
+ Version: 1.6.4
4
4
  Summary: Health Datalayer to access data from different sources
5
5
  Author: Jesus Martinez
6
6
  Author-email: jesusmartinez@noosds.com
@@ -1,2 +1,2 @@
1
1
  from .collaborator.schedule_collaborator import ScheduleCollaboratorDTO
2
- from .medical_visit.medical_certificate import MedicalCertificateDTO
2
+ from .medical_visit.medical_certificate import MedicalCertificateDTO, DiagnosisDTO, MedicalDiagnosesDTO
@@ -48,4 +48,15 @@ class MedicalCertificateDTO(BaseModel):
48
48
 
49
49
 
50
50
  doctor_name: Optional[str] = None
51
- doctor_ruc: Optional[str] = None
51
+ doctor_ruc: Optional[str] = None
52
+
53
+
54
+ class DiagnosisDTO(BaseModel):
55
+ name_diagnosis: str
56
+ cie_10_code: Optional[str] = None
57
+
58
+ class MedicalDiagnosesDTO(BaseModel):
59
+ diagnoses: List[DiagnosisDTO]
60
+
61
+ class Config:
62
+ from_attributes = True
@@ -3,8 +3,8 @@ from datetime import datetime, date, time
3
3
  from uuid import UUID
4
4
  from sqlmodel import select, text
5
5
  from sqlalchemy.orm import selectinload,joinedload
6
- from healthdatalayer.models import MedicalVisit
7
- from healthdatalayer.dtos import MedicalCertificateDTO
6
+ from healthdatalayer.models import MedicalVisit,MedicalDiagnosisVisit
7
+ from healthdatalayer.dtos import MedicalCertificateDTO, DiagnosisDTO, MedicalDiagnosesDTO
8
8
  from healthdatalayer.config.db import engines, get_session
9
9
 
10
10
  class MedicalVisitRepository:
@@ -28,7 +28,7 @@ class MedicalVisitRepository:
28
28
  joinedload(MedicalVisit.client),
29
29
  joinedload(MedicalVisit.collaborator),
30
30
  joinedload(MedicalVisit.speciality),
31
- selectinload(MedicalVisit.medical_diagnosis_visits),
31
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
32
32
  selectinload(MedicalVisit.medical_recipe_visits),
33
33
  selectinload(MedicalVisit.organ_system_reviews),
34
34
  selectinload(MedicalVisit.physical_exams)
@@ -73,7 +73,7 @@ class MedicalVisitRepository:
73
73
  joinedload(MedicalVisit.client),
74
74
  joinedload(MedicalVisit.collaborator),
75
75
  joinedload(MedicalVisit.speciality),
76
- selectinload(MedicalVisit.medical_diagnosis_visits),
76
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
77
77
  selectinload(MedicalVisit.medical_recipe_visits),
78
78
  selectinload(MedicalVisit.organ_system_reviews),
79
79
  selectinload(MedicalVisit.physical_exams)
@@ -93,7 +93,7 @@ class MedicalVisitRepository:
93
93
  joinedload(MedicalVisit.client),
94
94
  joinedload(MedicalVisit.collaborator),
95
95
  joinedload(MedicalVisit.speciality),
96
- selectinload(MedicalVisit.medical_diagnosis_visits),
96
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
97
97
  selectinload(MedicalVisit.medical_recipe_visits),
98
98
  selectinload(MedicalVisit.organ_system_reviews),
99
99
  selectinload(MedicalVisit.physical_exams)
@@ -137,7 +137,7 @@ class MedicalVisitRepository:
137
137
  joinedload(MedicalVisit.client),
138
138
  joinedload(MedicalVisit.collaborator),
139
139
  joinedload(MedicalVisit.speciality),
140
- selectinload(MedicalVisit.medical_diagnosis_visits),
140
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
141
141
  selectinload(MedicalVisit.medical_recipe_visits),
142
142
  selectinload(MedicalVisit.organ_system_reviews),
143
143
  selectinload(MedicalVisit.physical_exams)
@@ -173,7 +173,7 @@ class MedicalVisitRepository:
173
173
  joinedload(MedicalVisit.client),
174
174
  joinedload(MedicalVisit.collaborator),
175
175
  joinedload(MedicalVisit.speciality),
176
- selectinload(MedicalVisit.medical_diagnosis_visits),
176
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
177
177
  selectinload(MedicalVisit.medical_recipe_visits),
178
178
  selectinload(MedicalVisit.organ_system_reviews),
179
179
  selectinload(MedicalVisit.physical_exams)
@@ -198,7 +198,7 @@ class MedicalVisitRepository:
198
198
  joinedload(MedicalVisit.client),
199
199
  joinedload(MedicalVisit.collaborator),
200
200
  joinedload(MedicalVisit.speciality),
201
- selectinload(MedicalVisit.medical_diagnosis_visits),
201
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
202
202
  selectinload(MedicalVisit.medical_recipe_visits),
203
203
  selectinload(MedicalVisit.organ_system_reviews),
204
204
  selectinload(MedicalVisit.physical_exams)
@@ -235,7 +235,7 @@ class MedicalVisitRepository:
235
235
  joinedload(MedicalVisit.client),
236
236
  joinedload(MedicalVisit.collaborator),
237
237
  joinedload(MedicalVisit.speciality),
238
- selectinload(MedicalVisit.medical_diagnosis_visits),
238
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
239
239
  selectinload(MedicalVisit.medical_recipe_visits),
240
240
  selectinload(MedicalVisit.organ_system_reviews),
241
241
  selectinload(MedicalVisit.physical_exams)
@@ -259,7 +259,7 @@ class MedicalVisitRepository:
259
259
  joinedload(MedicalVisit.client),
260
260
  joinedload(MedicalVisit.collaborator),
261
261
  joinedload(MedicalVisit.speciality),
262
- selectinload(MedicalVisit.medical_diagnosis_visits),
262
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
263
263
  selectinload(MedicalVisit.medical_recipe_visits),
264
264
  selectinload(MedicalVisit.organ_system_reviews),
265
265
  selectinload(MedicalVisit.physical_exams)
@@ -280,7 +280,7 @@ class MedicalVisitRepository:
280
280
  joinedload(MedicalVisit.client),
281
281
  joinedload(MedicalVisit.collaborator),
282
282
  joinedload(MedicalVisit.speciality),
283
- selectinload(MedicalVisit.medical_diagnosis_visits),
283
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
284
284
  selectinload(MedicalVisit.medical_recipe_visits),
285
285
  selectinload(MedicalVisit.organ_system_reviews),
286
286
  selectinload(MedicalVisit.physical_exams)
@@ -301,7 +301,7 @@ class MedicalVisitRepository:
301
301
  joinedload(MedicalVisit.client),
302
302
  joinedload(MedicalVisit.collaborator),
303
303
  joinedload(MedicalVisit.speciality),
304
- selectinload(MedicalVisit.medical_diagnosis_visits),
304
+ selectinload(MedicalVisit.medical_diagnosis_visits).selectinload(MedicalDiagnosisVisit.medical_diagnosis),
305
305
  selectinload(MedicalVisit.medical_recipe_visits),
306
306
  selectinload(MedicalVisit.organ_system_reviews),
307
307
  selectinload(MedicalVisit.physical_exams)
@@ -478,4 +478,32 @@ class MedicalVisitRepository:
478
478
  rest_date_end_spanish=row[27],
479
479
  doctor_name=row[28],
480
480
  doctor_ruc=row[29]
481
- )
481
+ )
482
+
483
+ def get_medical_diagnoses_command(self, medical_visit_id: str) -> MedicalDiagnosesDTO:
484
+
485
+ with get_session(self.tenant) as session:
486
+
487
+ query = text("""
488
+ select md."name" as name_diagnosis,
489
+ md.cie_10_code
490
+ from medical_diagnosis md
491
+ join medical_diagnosis_visit mdv on mdv.medical_diagnosis_id = md.medical_diagnosis_id
492
+ where md.is_active = true
493
+ and mdv.is_active = true
494
+ and mdv.medical_visit_id = :medical_visit_id
495
+ """)
496
+
497
+ result = session.exec(query, params={"medical_visit_id": medical_visit_id})
498
+ rows = result.fetchall()
499
+
500
+ # Convertir cada fila a DiagnosisDTO
501
+ diagnoses_list = []
502
+ for row in rows:
503
+ diagnosis = DiagnosisDTO(
504
+ name_diagnosis=row[0],
505
+ cie_10_code=row[1]
506
+ )
507
+ diagnoses_list.append(diagnosis)
508
+
509
+ return MedicalDiagnosesDTO(diagnoses=diagnoses_list)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: healthdatalayer
3
- Version: 1.6.2
3
+ Version: 1.6.4
4
4
  Summary: Health Datalayer to access data from different sources
5
5
  Author: Jesus Martinez
6
6
  Author-email: jesusmartinez@noosds.com
@@ -5,7 +5,7 @@ with open('requirements.txt') as f:
5
5
 
6
6
  setup(
7
7
  name="healthdatalayer",
8
- version="1.6.2",
8
+ version="1.6.4",
9
9
  include_package_data=True,
10
10
  python_requires='>=3.10',
11
11
  packages=find_packages(),