...
To print out the names of all the patients in the system:
Code Block |
---|
List<Patient> patients = Context.getPatientService().getAllPatients();
for (Patient patient : patients) {
System.out.println("Patient: " + patient.getGivenName() + " " + patient.getFamilyName());
}
|
...
In an External Application
Note |
---|
We no longer test this use case so you may experience difficulties trying to use this approach. Please see Web Services as an alternative. |
The openmrs-api-xxx.jar file can be used in stand-alone java applications. There are three simple steps you need to follow:
- Choose an option below for including the openmrs jar(s) and dependencies
- Fire up OpenMRS by calling: Context.startup(<connection.url>, <connection.username>, <connection.password>, getProperties());
- You need to surround any units of work with Context.openSession() (which startup() calls for you) and Context.closeSession()
- Authenticate into OpenMRS by calling: Context.authenticate(username, password);
- You should be able to call into the Context and work with the services.
Example
Code Block |
---|
public static void main(String[] args) {
File propsFile = new File(OpenmrsUtil.getApplicationDataDirectory(), "openmrs-runtime.properties");**
Properties props = new Properties();
OpenmrsUtil.loadProperties(props, propsFile);
Context.startup("jdbc:mysql://localhost:3306/db-name?autoReconnect=true", "openmrs-db-user", "3jknfjkn33ijt", props);
try {
Context.openSession();
Context.authenticate("admin", "test");
List<Patient> patients = Context.getPatientService().getPatients("John");
for (Patient patient : patients) {
System.out.println("Found patient with name " + patient.getPersonName() + " and uuid: " + patient.getUuid());
}
...
}
finally {
Context.closeSession();
}
}
|
...
OpenMRS introduced Maven in 1.8. The easiest way to use the OpenMRS API is to also use maven for your project. Once you do that, simply use these in your pom.xml
Code Block |
---|
<dependency>
<groupId>org.openmrs.api</groupId>
<artifactId>openmrs-api</artifactId>
<version>${openMRSVersion}</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openmrs.api</groupId>
<artifactId>openmrs-api</artifactId>
<version>${openMRSVersion}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openmrs.web</groupId>
<artifactId>openmrs-web</artifactId>
<version>${openMRSVersion}</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openmrs.web</groupId>
<artifactId>openmrs-web</artifactId>
<version>${openMRSVersion}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openmrs.test</groupId>
<artifactId>openmrs-test</artifactId>
<version>${openMRSVersion}</version>
<type>pom</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openmrs.tools</groupId>
<artifactId>openmrs-tools</artifactId>
<version>${openMRSVersion}</version>
</dependency>
<properties>
<openMRSVersion>1.8.1</openMRSVersion>
</properties>
|
...