top of page

Finding Entities from Conversation

Writer's picture: Rahul VyasRahul Vyas
entities

The next step after gathering requirements is to find out entities from our conversation. What are these entities and how do we find them?


An entity is anything about which we may want to store some information or data. For example, based on our conversation in previous post, Patient; and what do we want to store about a patient? Name, Address, and so on. These are called attributes.


The best way to find the entities is to look for the nouns in the conversation. For example, if we look at our conversation, the nouns of interest are:


Appointment, App, Patient, Practice, Clinics, Users, Roles, Permissions, Doctor, Staff, Patient Records, Prescriptions, Scheduling, Administrative, Tasks, Appointments, Appointment Details, History, Information, Notes, Symptoms, Advice, Tests, Private Notes, Medicines, Database, Quantity, Availability, Working Days, Address, Staff Members, System, Security, Login System, Sensitive Information, Encryption, Access, Patient Data

Our entities are going to be part of this list. Why can't we use all nouns as entities? Because we don't necessarily need to store information about everything in the system we want to design. Only the items about which we need to collect and store information, with respect the system we want to design, are called entities.


Tip: You can use an AI tool such as ChatGPT to find out all the nouns!

We will now try to find out what qualifies as an entity from the above set of nouns and descibe them. This is also the next step in system design.


  • Appointment: The central entity for managing doctor-patient interactions.

  • App: Not an entity itself but refers to the system being built.

  • Patient: Key entity representing the patients treated by the doctor.

  • Clinic: Represents the different locations where the doctor operates.

  • User: Represents anyone who uses the system (doctor, staff, patient).

  • Role: Represents the permissions different users have in the system.

  • Doctor: An entity for the doctor’s information and their role in the system.

  • Staff: Represents the staff members who manage administrative tasks.

  • Patient Records: Could be part of a broader Patient entity, but it's essential to track each patient's medical history.

  • Prescription: Key entity for tracking what medicines are prescribed during appointments.

  • Scheduling: Can be part of the Appointment entity but refers to the times and availability of the doctor.

  • Appointment Details: Not a separate entity, but part of the Appointment entity, capturing notes and status.

  • Notes: A sub-entity under Appointment for capturing the doctor’s notes.

  • Medicine: Represents homeopathic medicines stored in a database and linked to prescriptions.

  • Availability: Linked to the Clinic entity, referring to the doctor’s working days at each location.

  • Address: Linked to both Patient and Clinic entities for patient home addresses and clinic locations.

  • Private Notes: Part of the AppointmentNote entity that only the doctor can see.

  • System: Refers to the app itself, not an entity.

  • Security: A non-entity concept to ensure secure access to the system.

  • Login System: A functionality, not an entity.

  • Sensitive Information: Related to data security but not a distinct entity.

  • Access: Tied to roles and permissions, part of User and Role entities.


Tip: An AI tool like ChatGPT can write these definitions for you!

The next step is finalizing a list of entities. These are the entities based on our conversation and the above list:


  • Appointment

  • Patient

  • Clinic

  • User (encompassing doctors, staff, and patients)

  • Role (for managing permissions)

  • Staff

  • Patient Record (or included within the Patient entity)

  • Prescription

  • Medicine

  • Appointment Note

  • Availability (linked to the clinic and doctor)

  • Address (linked to patients and clinics)


Note: It requires a little bit of practice to quickly think about the entities and their attributes. This method is very detailed and even if you have no experience, you can use the steps outlined.
Tip: Go through the entire conversation in the previous post and how we arrived at the entities in this post multiple times, it will help you understand and build this muscle.

We will discuss more about these entities and their possible attributes in our next topic.


Commenti


© 2024 coder000

  • Facebook Clean
  • Twitter Clean
bottom of page