210 likes | 366 Views
RIMBAA. Andy Harris Harbuk Ltd 27 October 2009. Background. Self employed from 1993 -2004, prototyping systems for NHS (primarily management data, not clinical) first RIMBAA db (in Access) 2003 2004 – 2009 UK Biobank Using Oracle HTB.
E N D
RIMBAA Andy Harris Harbuk Ltd 27 October 2009
Background • Self employed from 1993 -2004, prototyping systems for NHS (primarily management data, not clinical) • first RIMBAA db (in Access) 2003 • 2004 – 2009 UK Biobank • Using Oracle HTB. • Process summary – transform flat data structures into CDA format, import into HTB. • Very powerful product. Based on Java API and Oracle DB • Enterprise terminology Services very mature • close mapping to HL7 class structure, but no roleLink table ?? • 2009 - Employed myself, Harbuk Ltd • Data Architect for NIHR – existing systems based on classic Logical Data Model. Problem is that the business model keeps changing…
My standpoint • Coming from a data layer perspective • RIM based data layer will then make message generation 'simpler' in the future, not that I want to go there… • Need to deliver something fast that is also a good fit for the longer term
My Issues • Not a fully HL7 domain (yet) • Current HL7 models do not cover our realm • .NET • Status model • Overloading HL7 Status or 'characteristic/observation' • temporal updates • Versioning • timestamps and timespans • class structures - break out or roll up? • localised terminologies • Some datatypes (IVL/GTS, PQ) • Where is Participation.id? (not managedParticipation.id)
Object Versioning within RIMBAA • Maintain history! • How? • In-table versioning, makes relational model more difficult, as FKs would be linked to ??ID + versionNumber + 'isCurrentVersion' • ODS/Archive versioning - i.e. most current record in ODS, older versions in archive (mirror + archive fields) • Current record - SINCE column • Archive Record - FROM, TO columns • Pros and Cons either way. • Maintain Control Acts!
Processing Logic in RIMBAA Applications • data layer should be context driven (though context may be given by content)
RIM based on interoperability mindset • CD • What are the 'Management issues' associated with OIDs? • Storing Code System AND valueset OIDs • If the Terminology service is well grounded, this is less of an issue IMHO
RIMBAA Performance • Yes, querying is complex and relatively slow because of recursion, but that's why there should be a BI stack for heavy report lifting. • at UK Bionbank, we were 'crosstabbing' 200,000 patients and approx 600 data points from an act table within approx 8 minutes - 120,000,000 data points
RIMBAA ReferenceApplication • I would say a running application, not an IDE
Safe querying of a RIM-based data model • it depends on the context!, so basically all acts should be made available
Template Implementation • I am planning on heavy use of templates, question is more around the detail (e.g. how far from the core classes should you build the templates
Use of terminology servers in RIMBAA applications • Absolutely • we are developing CTSv1
User Interface for RIMBAA Applications • integration with templates/LIMs, commonality is one of the key reasons for using RIM • start with the generic controls, make them work, bolt them together, less generic as you go up the data stack.