Logic Web Service


Contents

High-Level Specification

Overview

The Logic Web Service will allow external applications to ask an OpenMRS instance for a list of tokens and to submit queries for data represented by those tokens.


Requirements

(To be written)

Example of Usage

Eclipse BIRT is a reporting tool that will be used along side OpenMRS to provide report design and generation functionality. The BIRT reporting suite allows users to design reports (via BIRT RCP Designer) and generate PDF/HTML outputs for those report definitions (via BIRT Runtime Engine).

A typical use of the Logic Web Service will be to allow a BIRT ODA driver to expose OpenMRS tokens to the BIRT designer. This will allow the BIRT designer to expose OpenMRS tokens as though they were columns in a database. There are currently ODA driver implementations for connection to data sources through JDBC, CSV, XML, and others. An ODA driver for OpenMRS would be analogous to a JDBC ODA driver.


Functional Requirements

Use Cases

(To be written)

Get Tokens

(To be written)

Get Data

(To be written)

API

The API for the Logic Service will initially allow an application to ask OpenMRS for tokens.

List<Token> getTokens() 
List<Token> getTokensByName(String partialName)
List<Token> getTokensByCohort(String cohort)

Eventually, we will also need to support a querying mechanism that will allow an external application to ask for the data associated with a list of tokens.

DataTable getData(List<Token> tokens)