1
Based on the mini-world below was modeled a Class Diagram in the Astah Community (free version with less Features that the professional for non-commercial use: http://astah.net/editions/community - This program used to be called JUDE)
Mini-world / Scenario:
The management of patient information and appointments is essential for the organization of processes in clinics and offices. Many of these still do not have the automation necessary for appointments and access to medical records to become efficient, which creates problems for attendants, doctors and for those who need care. This makes it necessary to have a system that is able to expedite and manage appointments, as well as access to medical records.
Objective: Develop a generic system for scheduling appointments for clinics and clinics that share attendants, the main focus being the scheduling of appointments and a secondary focus the access of the patient to medical records online.
Features that the system should have:
- Register of Attendants, Doctors, Specialties, Patients and Agreements.
- Scheduling of consultations.
- Dissemination of test results and medical records online.
- Available to the attendant: Registration and scheduling functions.
- Available to the doctor: Access to scheduled appointments for the patient’s own and medical records.
- Available to the patient: Access to their medical records/online test results.
(thanks to the users @Jeferson Almeida and @Randrade for the idea of including the mini-world to facilitate the understanding of the proposed system for modeling)
Class diagram
From this diagram, I would like to check whether the following readings can be deducted:
In the relationship Attendant X Query:
1 attendant schedules 0 or more queries.
1 appointment is scheduled by 1 attendant.
In the relationship Convênio X Paciente:
1 agreement has 0 or more related clients(patients).
1 patient has or does not have 1 or more agreements. ( agradeço à observação do @Jeferson Almeida )
In the relationship Agreement X Consulta (Patient x Consultation x Convention):
1 Agreement covers an undetermined number of Consultations
1 Consultation is covered by 0 (private consultation) or 1 Agreement ( I thank the observation of @Bonifazio and @Washington da costa )
In the relationship Patient X Consultation (Patient x Consultation x Convention):
1 patient has scheduled none(if just included) or multiple appointments.
1 appointment is scheduled for 1 patient.
In the relationship Consultation X Chart:
1 consultation will take to its end 1 medical record (and none while was not performed).
1 medical record is originated in 1 consultation.
In the relationship Medical Consultation X:
1 Consultation will be performed by 1 Doctor.
1 Doctor may have had none (if just registered in the system) or several consultations.
In the relationship Medical Record X Medical:
1 Chart is prepared by 1 Physician.
1 Doctor may have prepared several Medical Records.
In the relationship Specialty X Doctor:
1 Doctor has 1 or more Specialties. (thanks to @leonardopessoa’s observation )
Several doctors may have the same specialty.
May exist in the system Specialties registered that have no link with any doctor.
Is this Class Diagram correct? It’s all OK?
If the modeling is adequate, it is an example for future users who have questions in modeling UML Class Diagrams. If not, please highlight the problems encountered!
Any contribution is welcome. Thank you.
A doctor could not have more than one specialty?
– Leonardo Pessoa
@leonardopessoa Also I was in this doubt. I modeled that not, but it is a very valid question. You are correct. I corrected in the diagram.
– Antonio Alexandre
I think there is a lack of places on the web where modeling of certain systems is discussed, (save dba stack.) +1 to the question
– MarceloBoni
From the relationships raised, it seems okay.
– Woss
Hello Antonio, I liked the question. However, I missed the "mini world" or something similar. There’s no way we can help with anything without understanding the scope of the problem first.
– Randrade
Really without a context it becomes complicated to state whether it is correct or not, but I would change one thing, I would make a relationship between Patient x Consultation x Convention, than simply to inform that a user will have only one encounter, the way I told you also keep track of which history he used in each query
– Jeferson Almeida
Great idea and observations, I included mini-world and the diagram was modified for the user to have more than one health plan.
– Antonio Alexandre
Antonioalexandre believe that what @Jefersonalmeida commented on a relationship
Paciente x Consulta x Convenio
would create yet anotherfk_convenio
within the consultation table, thus including, it would be easy to make a query to find out how many consultations n Consultation were performed, without being necessary to consult patients– MarceloBoni
@Bonifazio Perfeito. Added the relationship of Convention with Consultation.
– Antonio Alexandre
This question of logical model is usually very subjective. It will depend on the requirements of the target system. What you described in full is actually described by the diagrams, very good. I just don’t know if there’s an answer to this question without subjectivity.
– Giuliana Bezerra
Perfect @Giulianabezerra, thank you. Some comments that were made here had they been made as a response, although not being a thorough analysis would give reputation points for the help. I know it’s hard to get a say in everything, but something like, "Okay, all right," like it’s a fix, it helps. 3 people voted to close this topic due to the fact of subjectivity, but I believe that modeling is an important part of the process of developing such systems and questions can be relevant to the site and help not only me, but also many people.
– Antonio Alexandre