Hello Bahmni Developers comunity, i need your help.
In fact, i’m trying to modify a little bit the second page of the registration module.
I want to determine the lenght of stay of a patient who has been in our facility.
For that, i would like to do the difference between the registration date and the expected release date of the patient that will be filled by the operator.
I’ve created a new conceptset (including the expected release date of the patient) and modified the extension.json of the registration module to show the related fields as you can see on the image below.
I know this can be done with Javascript, but i don’t know how to proceed (use those fields as variables in the javascript code). I need some guideance.
I want to determine the duration of stay of a patient in a facility.
For that i want to use 3 elements to do this operation:
Registration date of patient (captured when the patient is registered) or patient admission date (when it is set)
Release date of patient (It’s a new date type concept defined by us, containing a future date set by an operator) (not the discharge date, because we want the patient to know the duration of his stay in advance).
Duration of stay in days (which will capture the duration or the operation result)
To make it simple : ‘Duration of stay’ = ‘Release date of patient’ - ‘Registration date of patient’
I want to perform this operation in the “Extension.json” file of the “Registration” Module.
Bahmni 0.90 allows to display a form on Registration page. The form designed through Implementer’s Interface can include script.
Please check if this helps.
I finally found a way to handle the calculation in the Control Event
Here is the code
function(form) {
if (form.get('Registration date of patient').getValue()) {
if (form.get('Release date of patient').getValue()) {
var duration = Bahmni.Common.Util.DateUtil.diffInDays(form.get('Release date of patient').getValue(), form.get('Registration date of patient').getValue());
form.get('Duration of stay').setValue(duration);
form.get('Duration of stay').setEnabled(false);
}
}
}
I hope it will help others.
Thanks to @pkanchankar for his assitance.