Is it possible for a person to be a parent of another contact_type?

A contact_type is either a place or a person. Every contact_type other than the top of the hierarchy will have a parent. Normally the parent is always a place. It doesn’t say so in the documentation, but I’m wondering if that is enforced… is it also possible for a person (contact_type) to be the parent of another contact_type?

For example… would this be valid?

{
  "id": "household",
},
{
  "id": "patient",
  "person": true,
  "parents": [
    "household"
  ]
},
{
  "id": "child",
  "person": true,
  "parents": [
    "patient"
  ]
}

So, this is not a great answer, but I think technically this might be possible with the current code, but it is definitely not valid.

I cannot find any logic that would prevent this situation, and most of our contact logic is generic enough that I imagine it would flow through find. However, this kind of structure is not “supported” in the sense that it is not part of any intended workflow (that I know of).

Perhaps someone else has more info here or can prove me wrong, but that is how I understand things…

1 Like

Gotcha, thanks @jkuester !

The main reason I ask is that I’m seeing a process of “load descendants” on the Contacts Page | Detail View, even when the contact being viewed is a person. In the scenario I’m looking at, it’s taking a significant amount of time even though there will basically never be a descendant of a person (though there’s a chance “load descendants” does more than just that). Anyway, you answered my question and I’ll follow up with the team to see if it’s worth looking into more :+1:t4:

1 Like