Implement DDD and drawing the line between the an Entity and value object
- by William
I am implementing an EMR project.   I would like to apply a DDD based approach to the problem.  I have identified the "Patient" as being the core object of the system.   I understand Patient would be an entity object as well as an aggregrate.  I have also identified that every patient must have a "Doctor" and "Medical Records".  The medical records would encompass Labs, XRays, Encounter....  I believe those would be entity objects as well.  Let us take a Encounter for example.  My implementation currently has a few fields as "String" properties, which are the complaint, assessment and plan.  The other items necessary for an Encounter are vitals.  I have implemented vitals as a value object.  Given that it will be necessary to retrieve vitals without haveing to retrieve each Encounter then do vitals become part of the Encounter aggregate and patient aggregrate.   I am assuming I could view the Encounter as an aggregrate, because other items are spwaned from the Encounter like prescriptions, lab orders, xrays.  Is approach right that I am taking in identifying my entities and aggregates.  In the case of vitals, they are specific to a patient, but outside of that there is not any other identity associated with them.