Patient relationships in OpenMRS (specifically, MCH)

Has anyone created the workflow in OpenMRS that ties the record of one patient to another, such as a child’s patient record to the mother’s patient record? My assumption is that the id of the parent should be attached to the childs (or vice versa) as a patient attribute, but maybe there is a better way?

Adding @steliomo to this conversation so he can track the responses…

Maybe using person relationships? Those docs are a little out of date (and incomplete), but I still see the tables in the database in 1.11.3.

1 Like

@maimoonak Maybe you can share the approach we have used for OpenSRP?

Interesting - the docs definitely don’t explain a lot about those. I see in OpenMRS admin that you can add “relationship types”, but it’s unclear if adding one automatically makes that available in the create/edit patient form. Secondly, I’m not sure what the relationship type admin form actually is asking for: A is to B, B is to A?

I would definitely create a person record for both the mother and the child.

I would then make sure that the relationship type of “parent sibling” exists in the relationship_type table that exists, and then establish relationships as @pascal describes.

@janflowers, that a is to b and b is to a, allows you to create bidirectional relationships of your choosing.

For example, parent <-> sibling, grandparent <-> sibling, PCP <-> patient, etc.

It allows them to define that based upon what their use case is.

1 Like

So in this case, the mother and child both must have a patient record in the database, correct? No flexibility around recording a local identifier for a mother that doesn’t have a record in the facility database?

@ahabib what is that approach?

A person has a lower threshold for information than a patient. I don’t think you need much info to create a person, Are you suggesting all you have is a mother’s ID, but not a name, etc?

Ah, I missed what you were saying - person record, not patient. That makes sense. The use cases include situations where the mother is coming from another service area in the same facility (so would have a patient record already), and when the mother is coming from outside the facility (so would not have any record, but could add a person record). In the latter case, the mother would have a patient record in another openmrs instance at a different facility, that eventually we would want to match up to this record in a consolidated database. I know…I’m adding complexities…

1 Like

Yep, if you are literally trying to conjoin two individual records together, from two related individuals, then relationships are clearly the way to go in OpenMRS.

It sounds like you’re needing to create “stubs” mostly on the child side. You can create persons for this purpose, and then “graduate” those person records to patients once they have clinical data related to them.

Make sense? :smile:


We used the same approach that Pascal has suggested i.e Patient Relationships, though it was for Household-Dependent relation where we had connected all Household Members with Household Head like image below.

1 Like

Hi @maimoonak, may I ask which specific implementation of OpenMRS uses this Household-Dependent relation? :slight_smile:

Its OpenSRP The section explaining the mapping is in doc here

1 Like

Thanks @maimoonak :slight_smile: :slight_smile: