GELLO and RIMBAA

November 27th, 2009
Comments Off

The scope of this article is to identify how GELLO can be used within RIMBAA realm.

GELLO is an object oriented expression language that is build based on the Object Constraint Language (OCL) which is maintained by Object Management Group.

The GELLO language can be used to:

  • Build up expressions to extract and manipulate data from medical records.
  • Construct decision criteria by building up expressions to reason about particular data features/values. These criteria can be used in decision-support knowledge bases such as those designed to provide alerts and reminders, guidelines, or other decision rules.
  • Create expressions, formulae, etc. for other applications.

RIMBAA ( HL7V3 RIM Based Application Architecture) defines a set of generic approaches and best practices related to the use of HL7 version 3 RIM-based models for purposes other than messaging.

A. Using GELLO similarly to SQL

SQL (Structured Query Language) is a database computer language designed for managing data in relational database management systems (RDBMS), and originally based upon Relational Algebra. Initially developed at IBM, later became the most widely used language for relational databases. SQL based code is commonly used within other languages like Java, C#.NET, VB.NET, PHP etc, to seamlessly access and manage data from different RDBMS like Oracle, MySQL, Microsoft SQLServer, DB2.
Following Java code creates a result set containing all Person data from Person table using a filter for persons older than 46 and with condition ‘ILL’ . This code should work regardless on what RDBMS the Person table is stored.

try {

Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(“SELECT firstName, lastName, condition, phone, email FROM Person WHERE age > 46 AND condition =’ILL’ “);

} catch (SQLException e) {
}

Similarly to SQL,  GELLO can be used as a language to query any RIMBAA model representation, assuming that the respective cell from RIMBAA Technology Matrix is GELLO-enabled. This way, applications can reuse GELLO expressions between different RIMBAA solutions.

gello_and_rimbaa

rimbaa3rddimension
PL/UI Applications could use GELLO expressions to find patients older than 50 years and with condition of ‘ILL’ using following code fragment:

try {

GELLOStatement statement = rimObjectsRepository.createStatement();
List illPatientsOlderThan50 =
statement.executeGELLOExpression(“Context p: Patients
let illCode = Factory.CodedValue(“SNOMED-CT”, “32432994″);
p → select(p.age > 50 and p.condition = illCode);”);

} catch (Exception e) {
}

The GELLO expression from code sample can be executed against any of RIMBAA Technology Matrix cell and therefore the PL/UI Application would not be dependent of how the underlying RIMBAA model representation is selected as a combination of RIMBAA Technology Matrix cells.

B. Using GELLO to define action semantics for MDE

HealthMDX is a project that I currently am working on and the scope of which is to build an eHealth Software Production Line for RIMBAA based solutions. HealthMDX uses a Model Driven Engineering approach and it takes as input a set of MIF2 files, applies a chain of transformations, finally generating the target RIMBAA solutions for specific environments like WebMethods, Java EE, BizTalk, Tibco, C#.NET etc.  Since most of the components of HealthMDX use standards (MIF2 for HL7 V3 Messages, EMOF/Eclipse EMF for Modelling Tool, OMG QVT / Eclipse M2M QVTo for transformations), the obvious choice is to continue to use a standard to add action semantics to HealthMDX models by using a standard expression language like GELLO. GELLO expressions will then be a new input for HealthMDX eHealthSPL besides MIF2 instances.

ehealthsplrimbaa

In order to add more sophisticated processing rules, HealthMDX needs something like GELLO which could provide an platform independent way of defining these complex rules. HealthMDX will automatically translate the GELLO expressions to the target architecture of choice (Java SE, Java EE, .NET /Tibco Matrix/WebMethods and so on). Using MIF2 as input, eHealth SPL is able to produce messaging services but with an expression language like GELLO, processing rules (alerts, routing, guidelines etc) can be captured once and then transformed into any target RIMBAA based processing services.

Ioan Salau HL7 , , , ,

IT- Business – Community Alignment

May 21st, 2009
Comments Off

 The scope of this article is to identify the role and importance of Domain Ontology and Formal Meta-Modeling in the process of aligning IT with business goals and community needs.

Community is defined as a group of interacting people living in a common location (Europe, North America, Earth)

Business People represent a group of people working together in corporations to produce value and generate income. In modern times, corporations have become an increasingly dominant part of economic life. Communities rely on corporations for employment, goods and services, pension plans, economic growth and social development.

Information Technology People represent a subgroup of the business people who, in their day-to-day work activities make use of electronic computers and computer software to convert, store, protect, process, transmit, and securely retrieve information.

communitybusinessitalignmentcs4

 Ideally, the Information Technology People should focus their capabilities to support the goals identified by the Business People that would create value for the Community. At the same time, the Business People should constantly analyze and observe the Community’s feedback to the value currently produced and collaborate efficiently with the Information Technology People to improve the process of creating value which would be indirectly generating more income. Over the years, the collaboration between these categories of people improved a lot with the support of technological innovations, however, a significant gap at the communication level between them still exists. Interestingly enough though, regardless of how many new and innovative ways to support communication and collaboration would Information Technology find, the Community expectations of better and more complex values increases as well; as a result, the gap in formal communication not only does not close, but in most cases gets wider.

In an effort to narrow the gap, it is important to analyze and understand how business concepts (used by the Business People) are sequentially translated into machine language. In [SLE001], Anneke Kleppe defines Hardware Zero Line  as the ultimate borderline between software and hardware that uses as language of communication the computer language, which is basically a sequence of zeroes and ones. Nowadays, software developers do not have to interact with hardware at such a low level anymore, new languages have been built where the building blocks became more abstract and closer to the business concepts, defining the Virtual Zero Line. Here is where most of the software developers will spend their working time to build software applications.

 The tendency is to move the Virtual Zero Line as close as possible to the business concepts used by the Business People. A short definition for this process could be “Aligning IT with Business Goals“. In order to better understand how business concepts relate to each other, Domain Ontology classifies and specifies the relationship between business concepts. This is an ongoing process based on the study of Community environment, behaviour and response to value; in a few words this process could be described as: “Aligning Business Goals to Community Needs“. Domain Ontology plays a very important role in this ecosystem and it is necessary to have a precise way of capturing, storing and sharing this kind of knowledge; Formal Meta-Modeling has capabilities to provide these features and, along with a powerful set of tools for integrated design and implementation, could support the communication between different categories of people more efficiently and in a more precise manner. 

 In conclusion, as part of the effort of aligning IT with business goals and further to community needs, business and IT experts must develop strong Domain Ontology with the support of Formal Meta-Modeling and corresponding tools; also they should define specialized roles and domain specific languages to support a better communication and collaboration between specialized groups. 

 

 

 Bibliography:

  1. [SLE001] Software Language Engineering: Creating Domain-Specific Languages Using Metamodels by Anneke Kleppe

Ioan Salau MDX , , , , , ,

MDX Review

March 5th, 2009
Comments Off

MDX – stands for a family of acronyms that refers to Modeling Domain: Architecture, Development, Engineering, Testing and other activities where the first class artefacts are models. I intentionally left out the “Software” term, because I believe that modeling techniques could be successfully used  to architect, design and implement other things than computer software: business processes, corporate strategies and guidance, risk assessments, knowledge systems, community behaviour studies or declarative arts.

Blog Planing (tentative):

  1.  IT-Business-Community Alignment :: identify the role and importance of Domain Ontology and Formal Meta-Modeling in the process of aligning IT with business goals and community needs. Status: Published
  2. Formal Meta-Modeling :: Define general concepts used by Formal Meta-Modeling and propose solutions for usage.  Status: Draft
  3. Domain Ontology ::  Clasify business concepts and specify relationships between these concepts.  Status: Analysis
  4. Mega Modeling :: Manage Meta-Models and Models using Mega-Models, special case of Meta-ModelStatus: Analysis
  5. MDX Tools ::  Transition from IDE (Integrated Development Environment) to IDDE (Integrated Design and Development Environment). Status: Analysis
  6. Software Production Line :: Complete Model Driven Engineering using Software Production Line as baseline. Status: Proof Of Concept
  7. Business Processes :: Status: Analysis
  8. Corporate Strategies and Guidance :: Capture Enterprise Architecture Strategies and Guidance with Formal Meta-Models.  Status: Analysis
  9. Risk Assessments :: TBD. Status: Not Started
  10. Knowledge Systems :: TBD. Status: Not Started
  11. Community Behaviour Studies :: Experimental Modeling applied in Community Behaviour Studies. Status: Not Started
  12. Declarative Arts :: Experimental Modeling applied in arts. Status: Not Started

Ioan Salau MDX , , , ,