public static OpenMRSDataProperties getInstance() throws IOException {
        if (instance == null) instance = new OpenMRSDataProperties();

        String propertyFile = System.getenv("OPENMRS_PROP_FILE");
        if (propertyFile == null) throw new IllegalArgumentException("Environment variable OPENMRS_PROP_FILE missing.");
        FileInputStream propFile =  new FileInputStream(propertyFile);

        properties = new Properties(System.getProperties());
        properties.load(propFile);
        return instance;
    }