Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Purpose and Benefits

Bahmni integrates OpenMRS with OpenELIS which is a laboratory management system. The doctor can order lab tests from the Orders tab in the consultation screen and the test will sync to OpenELIS where the lab technician can see the backlog of patients with their respective lab order requests. Bahmni automatically syncs the tests that are set up from the OpenMRS admin page to OpenELIS thus facilitating easy laboratory management.

 Steps


1. Configure Lab Data in OpenMRS

Please refer to Configure Lab Data to setup OpenMRS Reference Data setup for Lab

2. Set up a Lab Test

1. Create a concept in OpenMRS of the class LabTest.

2. Specify the data type as text, numeric or coded. If data type is set as coded, the test result options will appear as a dropdown in OpenELIS.

3. Add the lab test concept to the relevant concept sets:

  • sample concept set

  • panel concept set

  • department concept set

  • all tests and panels concept set in OpenMRS.

4. The lab test will be visible under the Orders tab in consultation page of Bahmni.

5. After the test is created in OpenMRS, it syncs to the list of tests in OpenELIS and is visible under the sample it was added in OpenMRS.

3. Refer a Test

OpenELIS has a test attribute which can mark the test as "Referred Out". This is used if the hospital's laboratory cannot perform a test and have to refer the patient to another laboratory for that test. If this attribute is selected, the test is automatically displayed as referred out which saves the manual effort of the lab technician to mark the test referred out each time it is ordered.

To set up the test as referred out -

1. Go to the Admin page in OpenELIS and select "Test" from the panel on the left.

2. Select the test and click Edit. Select the checkbox to mark the test as "Referred Out".

4. Configure Laboratory Tests in OpenELIS, the results of which must not be displayed in Bahmni

As an use-case, when a blood transfusion is required, the doctor orders a cross match panel. Orders within the panel are performed for both the patient (recipient) and for the donor. Furthermore, most of the tests are the same. In-case the cross-match fails for the patient, another cross-match is repeated for the same patient with another donor. This iterates till a fitment is found. The donor test results must not be viewed on the patient dashboard, as it may lead to a misunderstanding and is also redundant.

However, the concerned tests must be created in OpenELIS only, and will be accordingly mentioned in a groovy script so as not to be consumed by OpenMRS. Please note that the groovy script will not work for tests which are synced to OpenELIS via OpenMRS , and sync failure events will be created (expected behaviour).

The sample groovy script below restricts " * (Relative) " tests from being consumed by OpenMRS.


FilterDonorTestResults.groovy
import org.openmrs.*
import org.bahmni.module.elisatomfeedclient.api.domain.OpenElisAccession;
import org.bahmni.module.elisatomfeedclient.api.domain.OpenElisTestDetail;
import org.bahmni.module.elisatomfeedclient.api.elisFeedInterceptor.ElisFeedAccessionInterceptor;
import java.util.*


public class FiterDonorTestResults implements ElisFeedAccessionInterceptor {

    public ArrayList<String> donorTests = ["Haemoglobin (Relative)","VDRL Rapid (Relative)", "VDRL ELISA (Relative)", "Blood Group (Relative)","Malaria Parasite (Relative)","HIV Tridot (Relative)","HIV ELISA (Blood) (Relative)", "HCV Tridot (Relative)","Malaria Parasite (Relative)","VDRL ELISA (Relative)","DRL Rapid (Relative)"];
    @Override
    public void run(OpenElisAccession openElisAccession) {
        Iterator<OpenElisTestDetail> iter = openElisAccession.getTestDetails().iterator();
        while(iter.hasNext()){
            if(donorTests.contains(iter.next().getTestName())) {
                iter.remove();
            }
        }
    }

}




  • No labels