I think that REST API already exists, as:
POST .../patient
{
"person": "uuid-of-existing-person",
"identifiers": [ ... ]
}
From the very first OpenMRS projects this was an intended workflow: a person is originally created as a contact of an HIV patient; later on that person is seen in clinic, and their record is upgraded to a patient record. I think that AMPATH did/does this (though maybe through legacy UI screens). @ayeung or @jdick can you comment on whether AMPATH uses the workflow of “upgrading” an existing person record to a patient record (either because they were contacts, or just had lab results)?
So, I would not expect big gotchas.
FYI in the long run (Platform 3+) the intention is for Patient to no longer extend Person, but rather you’d have 0+ Patient records pointing to it. (Like is currently the way that User works.) But no design/planning has been done for this, and I don’t think it has any impact on what you’re asking here.