I was wondering if OpenMRS has a way to convert from a person to a patient.
This is what I would like to do
A person is registered as tentative beneficiary.
Some surveys captured against them. (in Obs against some questionaires), without any encounter association. Obs allows capturing data against a person. (unlike say an encounter)
At some later point, the person is considered for a program, and at this point, need to be converted to a patient.
Does OpenMRS allow this sort of conversion?
Or have you done anything of this sort?
Angshu, given that patient has additional required info (i.e. an
identifier), can you suggest a more concise/intuitive API than the code
snippet Daniel linked?
I meant more of an HTTP API.
I can imagine it to be a http POST with the specified identifier type and optionally location uuid.
I am also interested to see if someone else have used such conversion and in what context?
Would there be more gotchas converting person to patient while there are data captured?
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.
One of the possible scenarios is a person is created through setting up relationship with a patient. That related person later goes to clinic and becomes patient.