This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

RIMBAA 201103 Minutes Washington DC

From HL7Wiki
Jump to navigation Jump to search

Minutes of the March 30/31 RIMBAA meeting held in Washington DC.

RIMBAA WGM #30 - March 30 Agenda

Workgroup Date/Time Location Chair/Scribe
RIMBAA WG 2011-03-30,
10:00-17:00
Washington DC, US C/S: Rene Spronk

Attendance

At Name Affiliation Email Address
X Ann Wrightson NHS Wales, UK ann.wrightson@wales.nhs.uk
X Dan Kokotov 5AM Solutions, US dkokotov@5amsolutions.com
X Diane Gutiw SAIC, US gutiwd@saic.com
X Geoffry Roberts Blue Thread LLC, US geoffry.roberts@gmail.com
X George de la Torre Tufts Health, US delatorre.george@gmail.com
X Gordon Raup Datuit LLC, US graup@datuit.com
X Jean Henri Duteau GPI, CA jean.duteau@gpinformatics.com
X John Koisch Guidewire Architecture, CA jkoisch@guidewirearchitecture.com
X Kenneth Salyards SAMSHA, US kenneth.salyards@samsha.hhs.gov
X Lorraine Constable CA lorraine@constable.ca
X Mike Rossman KP, US michael.k.rossman@kp.org
X Pascal Mattiocco KP, US pmattiocco@yahoo.com
X Peter Hendler KP, US peter@hendler.net
X Rene Spronk Ringholm, NL rene.spronk@ringholm.com
X Richard Thoreson SAMSHA-CSAT, US richard.thoreson@samsha.hhs.gov
X Todd Parnell 5AM Solutions, US tparnell@5amsolutions.com

Minutes

  1. Rene calls to order at 10:15
  2. Administrative
  3. Validation aspects of the caCIS project at NCI (Todd Parnell, Dan Kokotov, 5AMSolutions, see http://www.hl7.org/library/committees/java/20110330_RIMBAA_HL7_V3_validation.ppt for slides)
    • Schematron validation. Schematron has been extensively used to validate R2 datatypes in the XML ITS using an open source tech stack. Local modifications have been made to the MIF tooling to do validation of local datatype flavors. Todd will show how the use of schematron fits into the overall validation picture,which includes schema, vocab, and other layers.
    • Dan: “a post-mortem analysis”. Responsible for Enterprise Service Development (ESD). CaCIS from NCI build extentions to E.H.R.
    • V3 with Datatypes R2. About 70 RMIMs, with more to come. 50 project specific datatype flavors. About 35 vocabularies managed. XML ITS used at implementation layer. SOAP with WS-* stack. XSDs and WSDL structure implied by HL7 tooling used. JSE 1.6 JEE 1.5 XAZ-WA JAXB. Tolven as a persistence layer.
    • Focus of this presentation is validation of incoming messages.
    • In addition to schema validation, added custom (message specific) code for validation, and validation at the model level (message independent validation –a model may be used in multiple messages).
    • Datatypes R2 has lots of invariants. Coding by hand would have taken a long time. Published schema for R2 has schematron rules – how could we use those? Had to fix a number of things. They had no context, were defined in an abstract fashion. Complex rules and big Regex expression needs to be done pre process to add an HL7 namespace (cant use the no prefix default). OCL statements in R2 spec had issues, needed fixing. Limited in the depth (recursion) one can tackle in data types.
    • QA generated test cases.
    • Create model(message) specific explicit schematron file. Didn’t create a ‘external bean validation’ code generator from the schematron – that would be much more work.
    • Very many OR's needed to find all the paths to given datatype. Hard to maintain the XSLT. This implementation runs slowly is memory intensive.
    • At a next phase, data type flavors were introduced to the project. Modified v3Generator to insert flavor names in XSDs. MIF does not express flavors. RMIM schema modified to reference the flavor XSD types.
    • Jean: we should incorporate changes into standard v3generator (Infoway is funding the development). Rene: schematron generator as well? Jean: ah, well, don’t know about that.
    • Dan: started trying to avoid MDA, the more we implemented, the more we realized that until you do everything with full RIM awareness all other things are a band-aid. In the context of HL7 v3 MDA is the only way to achieve full semantics.
    • Validation strategy depends on the IP being used. For example: some elements of datatypes are important for storage of long lived things.
    • Q&A: John: even iof RIM ITS, still explosion of models. Validation even more complex. Dan: with namespaces and element names (e.g. AD for all addresses) it would have been better, but right now, no. Todd: solid element names, potential to even use SAX level validation.
    • Ann: you were unable to use XSLT2, because requirement of using open source. What was the associated cost for not having that option. Todd: the additional investment was Dan’s time in time of additional coding effort, 2 or 3 developer weeks. Jean: also a run time cost in terms of performance.
    • Jean: RIMBAA should ensure that some of these issues are surfaced to Tooling.
      • Issues are: Fix the schematron issues in the iso vocab schema file, Improve support for datatype flavors in the v3 generator, make a new version of the XML and/or RIM ITS that uses datatype names as element names.
  4. Experiences with using the RIM to enable agile architecture - start developing and capturing data while use cases are forming (George de la Torre, Tufts Health, see http://www.hl7.org/library/committees/java/20110330_RIMBAA_Agile-RIM.ppt for slides).
    • George has been developing clinical based applications based on RIM Java objects for the past 6 years. Examples include: Proteomics experiments/robotics, Public Health immunization registries, Genomics EDC application, Clinical Repository and recently a Clinical Trials Scheduling system for the Harvard Medical School (HMS). He will focus on how the RIM enables agile architecture, that is, how one can start developing and capturing data while use cases are forming. The HMS case study is a great example..
    • George: started being intered in RIM approaches around 1994, with the USAM proposal. I’ll use a case study to illustrate. George has been docing 10 years of application developments – different types of systems. Using RIM models (pretty much as is), always seems to fulfill the requirements. Future proof model. Good architecture, puts everything into 1 model.
    • Agile – start developing right away, without doing tons of requirements analysis. Show users (clinical users) an app and get them to comment.
    • GCRC – general clinical research center. Grant by NIH to create one unit across all Harvard organizations. No clinical-trial based data collection, but across all clinical trials. ‘Harvard Catalyst’ is the name of this project. catalyst.harvard.edu. Catalyst is where all the Boston Harvard medical centers would apply together as a group for grants instead of competing with each other for grants. Needed to get the data models of all the research centers the same. Used RIM.
    • Started with RIM model. Had to create a federated model across institutes. If I can get this to work I can show how powerful the RIM is. Start with modeling baseline: organizations, responsible parties, materials. Not services, too specific to each different clinical trial. RIM made it easy to support dashboards.
    • What’s the architecture? Domain driven design - 15 core team members, 40 domain experts, 5 software developers. RIM in the context of application development is very productive. Presents Domain Driven development (DDD) patterns.
    • Rene: Side note: Bounded Context + Aggregate Root DDD concepts = SMIRF
    • Agile RIM, lessons: RIM is a model for transactional commands. RIM is optimized for commands, open/generic/extensible enough that models stays intact if new requirements come in. View (based on published events) to optimize the user experience. View Model is a denormalized RIM model. Query is based on View Model. View Model specif for each Harvard organization because of differences in applications and requirements. Different View Model for extranet user interface. Example: view model on ‘resource’, underlying RIM model has manufactured material, assigned roles, organizations. RIM is transactional model; View Model is read only.
    • If you remember 1 thing: RIM, and I applied it many times, same interactions/models, I hear patterns of requirements. I hear “the RIM”.
    • Ann: benefits from the RIM being a standard? George: community shared design knowledge (v3 D-MIMs).
    • Rene: does this use any sort of meta model repository? George: no, tied to one specific RIM version.
    • (Todd and Dan leave the meeting; Richard joins the meeting)
  5. So it's a RIMBAA - so what? (Ann Wrightson ,NHS Wales Informatics Service - UK, see http://www.hl7.org/library/committees/java/20110330_So_it_s_a_RIMBAA.ppt for slides)
    • The fact that the internal model of an application is RIM-based has a "good feeling" in the context of communication using messages, documents or services based on the same RIM. What lies behind this good feeling? An architectural and philosophical exploration of the role of a RIM-based application alongside RIM-based interoperability standards in meaningful human-to-human communication such as a transfer of care using a patient summary expressed as a CDA document.
    • Ann: presenting some highlights from I paper I wrote a couple of years ago. I will be able to share the original paper at a later point in time.
    • Information flow between Clinicains – long distance with a lot of steps. Diagram shows optimal situation – with perfect ability to express knowledge in XML.
    • What does the RIM provide? Makes middle tier more sturdy, but doesn’t change the overall picture that much. What is we use the RIM at one of the endpoints? Much stronger relationship, provides a warm feeling in terms of alignment. What if we apply RIM all around? If one makes sure that all is the RIM, is that the proper way to stitch things together?
    • Ann presents a formal logic analysis. One does have the RIM, but it’s about clinical information in a particular context. Taking information out of its context and interpreting it in another context (a different perspective) – that’s the main issue.
    • Different universes of discourses, all expressed in RIM language. George’s presentation did show that RIM works really well in one application, but is difficult elsewhere.
  6. An approach to WSDL generation, and how to associate them with RMIMs. (Lorraine/Jean/John K., see http://www.hl7.org/library/committees/java/20110330_WSDL_Generation.ppt for slides)
    • This approach is also used at NCI.
    • Services have a 'payload' R-MIMs; with context (e.g. author, patient) removed; the context shows up as a service parameter. The service 'payload' may consist of a simple II data type instance.
    • John: there is a fair amount of philosophy in this presentation.
    • caCIS , wanted to create a list of atomic services. Lots of analysis to determine the correct level. Main goal is reusability. Want to provide reusable contracts. In an EA WSDLs need to realize the requirements. Atomic QRL (query/retrieve/locate) services. Assemble those into e.g. a CDA document builder or a UI view.
    • Information content: lots of content needs to be decomposed – breakdown of full payload into appropriate service parameters. Fixed mood/status codes, explicit given a service contact (e.g. create a new patient). Lots of models, leads to governance issues on reusability and model management.
    • Reusable contracts: community contract, service contract, environmental contract. We defined a contract binding, a kind of wrapper.
    • WSDL generation – created a WSDL generator. Agile development process. MDA driven design. Goal is also un-hiding the complexity (developers have a tendency to hide the complexity, to avoid having to deal with it).
    • WSDL generator: XMI based tool, using EA. Objective is to bind the modeling in EA, to output of v3Generator and to the output of the RMIM designer. WSDLs are composites – all of the things need to come together.
    • Pascal: SOA-ML? John: good for modeling behavior. Doesn’t capture the reusability of jurisdictional patterns. We haven’t invalidated SOA-ML, our solution is maybe a step towards that.
    • (Kenneth and Richard leave the meeting)
  7. The KIS (Keep It Simple) EHR Architecture (Gordon Raup, Datuit LLC, see http://www.hl7.org/library/committees/java/20110330_RIMBAA_KIS.ppt for slides)
    • (Added in November 2011, as such it is not part of the official meeting minutes): blog post [1] about 'big data' and Datuit
    • We are pursuing the development of a different architecture for EHRs:
      • The basic idea is to split both the logic and the data into small chunks so that they can be handled in a uniform fashion, allowing many different vendors and independent developers to work on the parts they know best and have everything work together as a whole. For example we use small separate electronic documents as the unit of permanent storage (almost certainly in the cloud), instead of databases
      • The current focus on interoperability and Health Information Exchanges (HIEs) only really supports serial collaboration (I'll take care of this patient and then refer them to you). To support true simultaneous collaboration, each provider caring for the patient needs to be able to access the patients entire chart at any time, all the time. This is not possible with the current architecture of storing the data for each provider in separate databases in separate locations. It is with the new architecture we are proposing.
    • Gordon: We started from a business need to support cross-provider collaboration. Goal: a single Electronic Chart for the patient that all vendors use. Also to allow the providers to modify EHRS without vendor assistance.
    • Current HIT uses the database model. Data is stored in silos. Provider is dependent on vendor, innovation is expensive.
    • KIS Framework: part 1: document model. All permanent storage is done in documents. CCD/CDA/RIM based document standards. Use logic Apps to extract and combine data from multiple documents, create summary information.
    • Try to predict what the end user is going to ask for, and to have data ready if and when the user requires it. Predictive modeling (in “Accelerator App”) based on user past behavior, knowledge of health system, patient health status.
    • KIS framework, part 2: the assembly line. Apps from other vendors that create documents. Create interchangeable UI apps.
    • Attempting to commoditize healthcare data, by providing a backend storage layer. Utility model. Cloud model.
    • Rene: Document = XML document, or ‘document paradigm’ ? Gordon: all RIM-based XML blobs, they’d be stored as documents though.
    • Gordon: Replace use of SQL databases with primary storage as documents and secondary storage using high scalability storage architectures such as BigTable. Predictive Modeling apps tightly integrated with HS Storage layer to acheive database level response times.
    • Diane: does utility model work, what’s the vendor motivation? Gordon: We do not expect vendors to adopt KIS until we prove it is valuable. We are doing a "Baby Book" reference implementation for primary care providers to demonstrate how KIS improves collaboration among providers and between providers and the patients.
    • Ann: you’re doing the information coalescing, and nested apps on the other hand. May require two different business structures.
    • Rene: taking data out of the content of a CDA document is potentially dangerous. Gordon: Gordon: we have control over the system, so we control the context and content of any CDA documents. We test each document to a stricter standard before accepting it into the system. Certainly, some data is safe to extract, some data is not safe, and some is in the gray area. The purpose of our acceptance testing is to minimize the gray area, so that more can be reliably extracted for common usage. But if it is still gray we won't extract it. This is a key design issue.
  8. Meeting adjournes at 16:00

Appendix A: Summary of Motions

The table below captures all substantial motions.

Motions
MOTION Lorraine/Peter to approve the minutes of the Sydney WGM (8-0-6).
MOTION: To approve an out of cycle RIMBAA meeting to be held in Amsterdam in November 2011. (Jean/John K, 14-0-0)


March 31 Agenda

Workgroup Date/Time Location Chair/Scribe
RIMBAA WG 2011-03-31,
09:00-14:00
Washington DC, US C/S: Rene Spronk

Attendance

At Name Affiliation Email Address
X Ann Wrightson NHS Wales, UK ann.wrightson@wales.nhs.uk
X Diane Gutiw SAIC, US gutiwd@saic.com
X Geoffry Roberts Blue Thread LLC, US geoffry.roberts@gmail.com
X George de la Torre Tufts Health, US delatorre.george@gmail.com
X Gordon Raup Datuit LLC, US graup@datuit.com
X Jean Henri Duteau GPI, CA jean.duteau@gpinformatics.com
X John Koisch Guidewire Architecture, CA jkoisch@guidewirearchitecture.com
X Lorraine Constable CA lorraine@constable.ca
X Mike Rossman KP, US michael.k.rossman@kp.org
X Pascal Mattiocco KP, US pmattiocco@yahoo.com
X Peter Hendler KP, US peter@hendler.net
X Rene Spronk Ringholm, NL rene.spronk@ringholm.com

Minutes

  1. Rene calls to order at 09:35
  2. Agenda approved by general consensus as modified prior to the start of this meeting
  3. Review of open Action items
    • The action items list on the wiki was updated: Lorraine has reported on the CIH conference; Jean will craft some intro documentation on the MIF format; issue about generation of schematron from MIF to be closed; Peter volunteers to check the list of arguments-for-MDD is also a proper list of arguments-for-RIMBAA.
  4. Update on outcomes of the Object Equivalence, determination of issue (Rene Spronk)
    • This issue was discussed an resolved (in Sydney, with a text to be added to the core principles document). The issue basically serves as a warning to implementers that it is basically impossible to determine if two object are equivalent. Using data types R2 (with its support for II.scope) the situation is marginally better.
    • In real implementations one needs to be aware of the context, and any project specific 'contract' rules. In one project a list is used of all known root OIDs of coding systems, showing which coding systems are Business Identifiers (like SNN, used to identify many roles and therefore meaningless in determining equivalence), and which coding systems serve to uniquely identify one single role (e.g. a hospital internal patient ID).
  5. Issues related to the querying of a RIM based persistence layer (Rene Spronk, see http://www.hl7.org/library/committees/java/20110331_RIMBAA_querying_issues.ppt for slides)
    • In the past the RIMBAA WG has seen various approaches to retrieving subsets of clinical data from a RIM based persistence layer (notably for data mining purposes / OLAP). Rene will provide an overview of the various issues, including how one determines the scope of the data which should be returned, versioning, use of metamodel repositories, data 'safety'.
    • Rene introduces the issue. Some confusion amongst the attendees as to what type/style of database one is querying. For OLTP style databases, and most use-cases, one is aware ahead of time that particular queries are going to be used. One can optimize for those use cases (keys, indexes, etc.). If one queries an OLAP style database, e.g. for ad-hoc research queries, you need some standardized way of expressing queries.
    • HPath could be generalized into RIM Path, to be applicable accross the board. Ann notes that we have the HL7 vMR group that's working on exactly this: GELLO. So it would make sense to talk to them again, and see if this (from an implementers standpoint) is a viable candidate for a query language.
      • ACTION co-chairs to take up then issue of GELLO as a general RIM object store query language.
    • The second half of the presentation os about 'who determines what safe is'. Ann notes that "safe" is probably not the right word to use, but maybe something like "wholeness" or "context preserving". It's about garnularity. Even if e.g. a data source specifies that a certain set of objects has "wholeness", a querying party should still be allowed to query a subset thereof - with an 'orange light' next to it to warn the querying system (and user) of the fact that it is only a part of a whole.
    • George: I2B2 (open source solution) uses a standard query model, for federated reserach databases. John: misses the required expressivity.
    • Discussed the problem of putting an early version of a model in the store, and then asking for a later model when querying later when the new model is the current one.
    • Peter: Do we even start a discussion of RIM stores that allow arbitrary designs? This is the approach of the Java SIG and by extention Pragmatic Data's product. Is this problem greatly reduced if you can query for the artifact ID and then look up the corresponing MIF which in effect gives you a map of the structure? Or do you just dig in and grab part of the graph, and via the internal joins figure out the overall structure of the entire graph?
  6. Solving data analytics for CDM using a RIM based approach (Diane Gutiw, Senior Technology Director, SAIC Canada, see http://www.hl7.org/library/committees/java/20110331_RIMBAA_CDM.ppt for slides)
    • Chronic Disease Management (CDM) is an area where collaborative teams of clinicians share data on patient demographics, encounters, disease events, treatment protocols and outcomes to determine the most effective treatment protocols and regimes. CDM data and documents are stored in numerous clinician point of service systems such as EMRs, hospital ADTs and clinical information systems. Canada Health Infoway funded the development of an HL7 v3 CDM message to help avoid manual re-entry of relevant data. The objective of this message is to facilitate the collection, transformation and normalization of CDM data and clinical document attachments. The next step in this process is to implement the HL7 v3 message into a RIM-based Shared Health Record and point of service clinical applications. Various approaches to the development and implementation of this RIM based solution will be discussed.
    • Diane: solution architecture approach. Canada push for CDM colaboration on 11 diseases. There is now a tool kit for manual data entry. Adoption is the push above standards. Data only entered when physicians were paid to enter it. They need a way to get the data out of the E.H.R. Disease Management, focus on management, not cure. Standards were a focus before, but focus now is 'use of standards'. SHR = shared health record (RIM based), lots of potential data sources, v2, v3, anything.
      • Note: see Minutes of the Sydney WGM (agenda item 3 of the minutes from Monday Q4) for details of the various transformations. Title: "The approach to message transformation, routing and terminology mapping within the Saskatchewan Ministry of Health HIAL".
    • Data is not domain specific when it comes to disease management. Extra challenges. Combined assessment, referrals, treatment treatment refusals, negation indicators for everything including drugs (prescribed but not taken). Created a Canadian CDM R-MIM, which only contains those things that are not present in any of the existing v3 domains (e.g. "care teams").
    • Benefits of RIM based data: extendable, supports reporting needs.
    • Starting point for development: CDC BioSense solution (open source), platform for public health reporting, with a data warehouse based on a RIM-ish model (very close to RIM). DROOLS used to put the data into the RIM. Incomming data in any format goes through DROOLS which somehow uses logic to map to the custom CDM RMIM for persistence.
      • Needs to be modified for a) use in CDM instead of public health, b) Canada instead of US.
    • Looking to do a Proof of Concept. It should be interesting to come back to this group one year from now to report on how it has worked.
  7. Persistence Models versus Interoperability Models (Rene Spronk)
    • See wiki page linked to above for the current state of the discussion.
    • Rene provides and overview of the issue. The issue is not well phrased yet, we have some example issues that yet need to be described as an overarching general issue.
      • One of the examples is related to Observations directly on Entities without Role. Peter said: This is OK because the RIM is based on speech Act. In other words it doesn't describe the world it describes attributed statements about the world, it does not claim to describe the world. That is why you can not directly attach an Observation to an Entity.
    • In general, we can't express constraints needed for persistence model in RIM. We don't have any HL7 models nor methodology to talk about models-for-persistence. Should HL7 allow us to express such models?
      • Confusion in HL7 between people who think it's about Logical models vs those who think in terms of Physical models.
      • Do we have good definitions and examples to explain the difference between logical, physical and implementable models? Are they sometimes the same? Can we make it clear in any conversation which level we're talking about?
    • Rene: we'll need more discussion about this issue. We don't have anything that's appropriate for discussion with the modeling-side of HL7.
    • Two other examples of problems in expressing persistence/implementation models are mentioned during the discussion (feedback from the NCI caCIS project):
      1. can't represent a sole data type instance in HL7 v3 models (i.e. without a class). Example: NCI uses a wrapper with an II payload.
      2. templateIDs represent an additional type system. According to methodology templateIDs may not carry semantics - but in implementations one does need templateIDs for processing.
  8. Organize another RIMBAA out of cycle in North America
    • Jean: have telCons?
      • Rene: we've tried that. Implementers just didn't show up.. the main added value of face to face meeting are the exchanges (in hallways and elsewhere) directly between the implementers. That's why we have relatively long breaks during this meeting. There may be specific things we could do on Webex, and we're not excluding that option, but for now a face to face meeting is the best method to share experiences and to create a fully meshed network of implementers.
    • US (probably 2012)? West coast? Peter: Kaiser would be happy to host such a meeting
    • Canada - Jean offers to host. Canada has lots of v3 implementers so it ahs the potential to attrack a significant number of implementers. Jean offers to explore the option
      • ACTION Jean Duteau to explore the option of holding an out of cycle RIMBAA meeting in Canada, between the May 2012 and September 2012 regular WGMs.
  9. DCMs
    • Peter: e.g. DCM for care plan, expressed in UML, why not use RIM, clinicians don’t understand UML either. So why not use the RIM?
    • Lorraine: main concern (fom SAIF view) they’re combining levels of abstraction. Binding terminology in conceptual model.
    • John: Should be a language for expressing the problem space. Ann: they may have taking it too far, e.g. expressing in UML. Need appropriate vagueness in expressing the problem space.
    • As implementers (from that viewpoint) we don’t have an opinion on this. Not the place of this WG to comment. We do think that analysis models should be created in such a way that they can be ultimately tied to RIM semantics. Quite how that works is up to groups like MnM or ArB to specify.
  10. Meeting adjournes at 13:00

Appendix A: Summary of new Action Items

The table below summarizes all new action items. See RIMBAA Action Items for a a full list of open action items.

New action items
ACTION Jean Duteau to explore the option of holding an out of cycle RIMBAA meeting in Canada, between the May 2012 and September 2012 regular WGMs. (Update after the meeting took place: the May 2012 meeting will be in Canada, which renders this action item obsolete).

Appendix: Images

Two photos made near the tail end of the meeting:

RIMBAA meeting in Washington DC, Diane Gutiw presenting


RIMBAA meeting in Washington DC, Ann Wrightson making a point