CIMI MTF Minutes 20130516

Jump to: navigation, search

CIMI Modelling Taskforce - Meeting Minutes

Thursday 16th May 2013 @ 20:00-22:00 UTC


Linda Bird

Harold Solbrig

Stan Huff

Rahil Qamar Siddiqui

Patrick Langford

Joey Coyle

Daniel Karlsson

Michael van der Zel

Eithne Keelaghan


  • Proposed change to Tuesday meetings
  1. Tutorials, demonstrations or information sharing
  2. Small terminology working group? (or a separate time)
  •  Finalize and publish 1.0 (DSTU version) of reference model
  1. Sanctioned representations
  1. Michael's EA model (1.0.0-dstu.1)
    1. Options for Link targets:
      1. Logical Association (current approach)
      2. Instance identifier (e.g. record_component_id)
      3. XPath
      4. EHR_URI
  1. BMM - To be updated
  2. Sanitized XMI (OMG-compliant XMI v2.1 file)
  3. Gouqian's RDF (as a trial) - draft RDF rendering of reference model - for example:
  1. Need to put a stake in the ground (after next week's meeting)
  2. Review the rules for versioning that were proposed by Thomas Beale, and adopt as appropriate.
  • Discussion of the issues raised by Peter Hendler and Kaiser Permanente.  (See attached notes.)
    • Kaiser is modelling using semantic web approach using Owl and Protege, modelling both logical structure of data plus other kinds of knowledge (e.g. this disease is treated by this medication, or diagnosed with this diagnostic test)
      • CIMI separates logical models bound to terminology from medical domain knowledge bases.
    • Kaiser doesn't require cluster, element approach
      • CIMI's goal is to create a UML profile
  • Units of measure (modeling style and approach)
  1. Bind at level of "kind of property" (e.g. mass concentration, time, volume, length, pressure)
    • CIMI model only restricts the Property, without defining the unit of measure
      • "Canonical model" specialises the UOM (fixed value) with min/max value constraints
      • Simple Min/max value constraints
    • Regional specialisations would only need to specialise the CIMI model, and convert data into the 'canonical model'
    • Units of measure will be included in Property-based reference sets (e.g. Temporal_UOM_refset)
  1. Units specified in queries
  2. Preferred or mandated unit of measure specified for each measurement
  3. Data from servers is returned as
  1. All items of the requested property, but mixed UOM? (Unit Of Measurement)
  2. Data already converted to the requested UOM?

We didn't get to this:

  • IHTSDO Workbench - Harold
  1. Training
  2. Get an instance set up
  3. Determine any changes that we might need Apelon to make
  4. Need RF2 in real time (load and export)
  5. Up to date RF2 repository

Detailed Meeting Minutes

Linda: So this was the draft agenda you sent around, Stan?

Proposed change to Tuesday meetings

Stan: One thing I put first - a description of change for Tuesday meeting. I propose that we keep Tuesday meeting, reduce it to 1 hour, but use it for tutorial and demonstrations... or whatever we want. The idea is - we've done a lot of work around terminology binding. My problem is that I can't get work done between calls, so I want to get more done.

Harold: That is good.

Linda: That is the challenge. The original intention of the Tuesday meeting was to get a small group together to talk about binding. But it was useful to get a small group together - Rahil, Daniel and I were working on day-to-day bindings. We can, whenever appropriate, meet to discuss terminology bindings, and when we need to present to the broader group, we can meet on Thursday.

Rahil: Originally the 3 of us met Monday morning, less convenient for you, Linda.

Linda: But more for you.

Rahil: We can discuss offline. We got a lot more done...

Harold: I would like to be included in that. We have had an independent thread under AML(?UML).

Stan: I have a real interest in that as well, and would like to contribute examples. I see bindings broken down into several groups. Want to end up with simple and straight-forward bindings.

Linda: If that is the case, might be for Tuesday.

Stan: I think it should be the smaller group so I hesitate to add myself, but I am so interested in making sure...

Harold: And I am willing to work around your time needs.

Stan: So why don't the Australian and Europeans make a time and I'll get up in the middle of the night if I have to.

Linda: OK - you may have to consider, but... That will be really early.

Stan: Or late... but whatever...

Harold: Yes - whatever.

Linda: Will help to progress bindings...

Harold: We have worked on 3 profiles. Will be AML... worked on CTS2... profile. Coming up with binding for UML... extend classes... while we will submit for AML, think it can be used in UML...

Linda: Great.

Rahil: How is this piece of work - has it been uploaded somewhere?

Harold: Someone ping me... We have, under version of healthtools... I will be happy to share.

Michael van der Zel : Good morning. [Just joined meeting]

Dave Carlson: Hello. [Also just joined meeting]

Linda: So we discussed the Tuesday meeting. Thursday is the main meeting, but terminology groups [will meet in a] Tuesday meeting.

Finalize and publish 1.0 (DSTU version) of reference model

Linda (cont'd): So - finalize reference model. I will need a bit of an update. The most recent version of EA...

Michael: 1.0.12 (?) is most recent version.

Linda: Oh - I didn't see that.

Michael: No - I didn't... [send].

Linda: Do you want to send now?

Michael: Yes - I can. But I wrote down a couple of things. I will upload... One thing is changing the versioning. I agree. I thought - re-version the current version... Then it will be 1.0.0... Make versions that... is a pre-version. When we are confident that 1 "without a zero" is ready, then we make it a 1."zero".

Linda: Sounds reasonable.

Stan: Yes - originated from version that Thomas sent out. I have not seen in detail. William Goosen did review in detail and agrees. Maybe this will be the first tutorial to walk us through. For me, just read it... but maybe take a Tuesday and review and make sure we understand.

Linda: Good idea.

Michael: Not what I was talking about. [What Linda is showing on screen]

Stan: Not what I sent.

Linda: Sorry. I thought I had the other open. OK this one? [Linda shows another on screen]

Stan: Yes - is that it, Michael?

Michael: ... not caught up with emails.

Stan: This comes from that web site. This document is the narrative...

Linda: But this is an OpenEHR version.

Michael: Yes... can...

Linda: This takes same version-managing technique and... into openEHR...

Michael: I think also ID fields...

Linda: Yes - versioning. Yes - a tutorial, so we fully understand.

Michael: A simple thing to do - change versioning scheme.

Linda: So - the proposal is to use similar version strategy... This section - the CIMVER(?) version... the CIMVER(?) approach... Good idea to have a tutorial on that. Make a tentative decision to progress with that.

Stan: I am good with Michael's proposal... a version# for reference mode...

Michael: I will send out by email... mapping for version#. If we make a change before...

Stan: OK.

Linda: Is the idea, Stan, that people vote at meetings Virginia is organizing? Start when?

Stan: Started this morning. May have second vote. The votes... already passed because we had a majority... but need votes from additional people to get a quorum. So the outcome is not in doubt, but the question...

[Lost Stan for a short while]

Stan: ...because we had a majority of voting members because not have quorum. We need 66% of members to vote... The meetings won't change outcome, but will achieve quorum. So in Leeds, approve SD version of ref model. DSTU (Draft Standard for Trial Use) version - Michael was going to change. Linda - I think you changed 1 or 2 things. May need 1 more vote... make sure we have all the changes.

Linda: Was it the 1.0.12(?) that was voted on, or the version in Leeds?

Stan: I think 1.10 or 11... If 12 reflected those 3 changes, then that was what was approved.

Linda: Can you... [open?] 1.? And see what is in that?

Michael: It is loading.

Linda: I will show 1.0.12.

Michael: 1.0.12 was the version in Leeds - the one we voted for.

Linda: So this has Leeds changes.

Michael: Yes, and the call I wasn't on, you made changes... and name was made mandatory. And the model... locatable name is optional, and the Link has no details, so couldn't extend.

Linda: So we added details... whether was URI or... was a resolution made on these alternatives? Was that 12B?

Michael: No, because I couldn't figure out what they were.

Linda: OK - from memory... URI... or type that supported a path to target... or relationship... and fourth alternative... I forget what it was.

Michael: I would like to create a small presentation in which we review the different options.

Linda: Did you volunteer to do this?

Michael: Yes.

Linda: Wonderful! In the discussion we had, we did not just refer to... but to the party relationship... whether that should be a URI or a relationship... and this one to... the participation party. So I suggest we be consistent, and if we change from logical (?) to URI's... that we be consistent.

Rahil: I found the email - April 20th - where you list 4 options. Includes 1.0.12b...

Linda: In that case... what were the 4 options?

Options for Link targets: 1) Logical Association (current approach); 2) Instance identifier (e.g. record_component_id); 3) XPath; 4) EHR_URI

Rahil: The 1st - we consider the CIMI ref-model to be a (?Logical?) model.

Linda: So the logical approach - that is Version 12.... Thank you.

Rahil: ISOv13606...

Linda: That's right. The 13606 approach identifies... at... level. And identifies note at ... level. Thank you. And then the ... approach.

Rahil: Yes.

Linda: XPath...?

Rahil: That was option 3. I think in the end you said - option 4 - the URI.

Linda: That was discussed in the meeting. Michael and I have had meetings... to make sure model is kept at logical level.

Michael: After the... meal(?), there was some discussion... option 5...

Linda: Could you explain?

Michael: A more general approach... Create a Link... and define an interface that takes... into account. I am not sure what it means... And I am still not convinced on using an export(?)-type of thing - have to translate. S... each node has an identifier. Is more general... easier. I don't know. Different ways of doing it.

Harold: Yes - we came up with... elsewhere... is XPath-canonical enough. Multiple ways of writing the same expression. If not careful, would come up with differences. [Harold gives an example] Not sure where we would go with it.

Michael: That is why I think a Link-reference... through its ID.

Linda: So the logical approach we have been using creates a logical identifier to the class... usually the other approach... One of implementing... So which are you proposing? Michael?

Michael: Not a Link to an instance - is a link to another model?

Stan: When we asked Thomas, in 13606... Links... in another database.

Linda: Yes - the target is not a... id... it is an instance-id.

Michael: No - it is an instance ID when you create an instance. But for archetype - what type of instance it can Link to. And it at most becomes a slot... is AOM.

Stan: In model... so you guys are going to have to tell me. But you are specifying a kind of model you can Link to. But can say... you are saying... the kind of model it can be. But also... at some level... what is going on is each record being linked... we want to say that is how we are doing it because when it is instantiated... So - someone needs to say how that is modeled properly.

Linda: Also - need to keep at Logical level since are a number of ways to do this... [Linda describes]. I like the idea of Michael developing a short presentation... so we can all vote. Although this does delay us a week. Michael - are ou OK? I can help. Also, good to have Tom there since he objects to...

Michael: So next Thursday?

Linda: Would that be possible?

Michael: Yes.

Linda: Wonderful. So OK with that approach. So if we can revisit, will be the final discussion before DSTU decision. And... Stan?

Stan: Yes.

Michael: I think I didn't get minutes at Leeds. I want to make sure that... I know Virginia and Stan made notes.

Stan: So - what are you looking for? We do have minutes. I have better ones than I kept from Eithne, but let me know and I will send you.

Michael: We created a sheet that was... "Reference action..." from Stan.

[Linda shows the list]

Linda: Any additional issues to resolve on reference model itself? Should I forward it?

Michael: Yes...

Linda: So if you can run through those next week, Michael?

Michael: OK.

Sanitized XMI (OMG-compliant XMI v2.1 file)

Linda: So - agenda - sanitized XMI?

Stan: Came from Harold.

Harold: Yes. UML 2.1. An OMG... it is something we know how to make, but want to make...

Dave Carlson: I did that with... after Leeds... DSTU. I cleaned it up... working with Eclipse. Generated a library. I can do that again when I get updated DSTU.

Linda: So is the goal 2.2... XMI 2.1?

Harold: Yes.

Dave: Yes... The most common denominator...

Linda: So will be the next step in the process?

Harold: Yes. We missed BMM in the Agenda.

Stan: Yes.

Gouqian's RDF (as a trial) - draft RDF rendering of reference model

Harold: He also mentioned generated... documentation. A fellow who works with us has generated... Want to get it out there to folks who work with RDF... to kick it around. I will... this is 1.1. Sample of a bridge model... (WCT?) Community that is anxious to see what we are doing. If you look through first UMI... we have decided to work with... But any suggestions there would be appreciated.

Linda: So you will send out UML?

Harold: Yes - I posted to the chat. Reference model in RDF...

Linda: So when we get DSTU version...

Need to put a stake in the ground (after next week's meeting)

Harold: We will update this. We need to stabilize so tool-builders can get going.

Linda: So at end of meeting next week... what we'll use?

Harold: Yes.

Review the rules for versioning that were proposed by Thomas Beale; Adopt?

Linda: OK. Next [on agenda] is version - numbering. A tutorial by Tom... Do we want the tutorial to be...? Stan?

Stan: I will go with group consensus. I would like to understand.

Linda: Yes - first the... Then archetype...

Stan: Would you like to contact Tom or should I?

Linda: Either way. I will cc you.

Stan: Good.

Discussion of the issues raised by Peter Hendler and Kaiser Permanente

Linda: OK - next. Discussion of issue... Peter.

Stan: Some of you were aware that in Leeds, Jamie Ferguson said "We don't know why we are doing ADL"... And Harold was asking Peter if they did anything to represent CIMI model in RDF... And Peter said "No - it is not useful to us". So I set up a time to talk to Peter. His concerns... a number of things. I'll mention a couple.

Stan (cont'd): They are using the semantic web approach to doing modeling... the Logical structure of data, like what CIMI is trying to do. But they are also trying to... "This disease is treated by this medication". First thing is - we recognize there is value in that, but good to recognize... collaboration. If want to develop knowledge-base. Want to (?) CIMI (?) and medical domain knowledge. That was one issue.

Stan (cont'd): Peter's impression: The work we are doing to create AML would mimic the structure of ADL. And Peter said: "I have no use for clusters and...". And I said... back to (?)... represent some primitive or leaf type... a way to group together... Be able to represent same building block model. The UML representation... to create a UML profile that is consistent with... And use to represent cluster and... But all would recognize as...

Stan (cont'd): So I want to make sure I understand. Our intention is that we want to represent in (...ADL1.5?) the same semantics... and model expressivity... would be done in a language... Not just ADL transposed into UML... not just ADL-names in the model. A follow-on to that... Peter's assertion... if someone modeled in ADL and that same... was modeled in UML, there would be no recognizable similarity and form... in model... the object graft. And I said I did not think this was true. Node names would be different, but through the terminology server, could... What was important was the object-graft.

Stan (cont'd): So - get back to example... And we agreed to pick some small part of diabetes model he showed us... a nice model... to pick some small part of that and say - Let's model in ADL and model same thing in AML... No, actually, Peter would take small portion of our model in UML and we would take and model in AML. And then, by hand, say what is different. So that was a proposal so we could get to an understanding. We were years apart - especially in regards to AML-profile... So I'll stop.

Dave: I agree with your position, Stan. My... was that AML would look like clinical model to... Each class should be traceable to reference model. But we want clinical mode to look like clinical model. Peter believed... would have clusters embedded... So I think it is a good exercise. So, good. Will look like clinical...

Harold: When model with vanilla UML... there is actually a (?) that... So in UML, if not have a stereotype on top, it defaults to class. So we are extending the... We take what ADL says about clusters... one of more elements... So take and... Says this is a cluster... 1 or more elements. Whether you are using our... Say diabetes is a class... or UML diabetes is a UML-class, or ADL... analog would be element, it all comes out in the end. We need examples.

Linda: ADL does not know about clusters and elements. Only knows about constraints. So cardinality would be... Term-bindings would need an extension of... Models look to clinicians like real-world concepts... So blood-pressure - looks like BP-class. But unless... is constraint on reference model.

Harold: OK - having seen this demonstrated on HL7 RIM... I think important to show where we are going.

Stan: I think... should work with Peter to create small model that would clarify these issues.

Harold: Yes - and can use to validate all the various machinery we might have in place.

Linda: So - do we have a copy of diabetes model we are going to work with?

Stan: No - I think it is on Protégé. Not sure how you can export. I can figure out with Peter... to get representation of model.

Linda: ...?

Stan: The sooner the better. At least get model from Peter... So we could say... how soon Peter could make UML representation and how fast we could make ... representation.

Linda: OK - Stan - You will be driving that... and Harold... And I will... from a technical perspective.

Dave: Can do in iterations as well. If Peter can come up with...

Stan: OK - great.

Units of measure (modelling style and approach)

Linda: OK. Next on agenda - Units of Measure - modeling style and approach.

Bind at level of "kind of property" (e.g. mass concentration, time, volume, length, pressure)

Stan: So - a style issue... a different level of other things. How much information do you want to capture in terms of... unit specified? So when data element is physical... So, Hemoglobin, heart rates, BP - physical things with associated units of measure. So lab data - 2 isosemantic ways of approaching how lab data is coded... LOINC approach - the data element is named at the level of "kind" of property it is. So is mass concentration or substance concentration or unit of time. So assumption is... you have that identifier that is unit of time... so property would be "this is a mass concentration" and unit of (?) would be mg/L or... So LOINC - at level of kinds of properties. So - units of measure - one that is appropriate.

Stan (cont'd): The other style is... you incorporate unit of measure into... So serum glucose is gm/L. You have the part of semantics of making name the... So these 2 styles... interoperability... trying to allow people to query data. So 1 style is to follow the LOINC style... You need to say 2 things in order to get the correct data back. 1 way - you would say... give me serum glucoses, in mass concentration... and in another part would say with units of measure of gm/dL. So... the other option... if doing other, only specify 1 code in query... actually only specify 1 code for mg/dL... But if in DB, have gm/L rather than mg/dL... Would have to say 2 codes. If your goal was to get all serum sodium's that were mass concentrations... So both of these work... get to exactly the same information content.

Responsibility of units of conversion - in application vs. service

Stan (cont'd): Another - where [does the] responsibility of units of conversion occur - [in the] application or (?the service?)... So, in report, "I want all glucoses that have been measured in mass concentration". And the service would return anything that was a glucose... was a mass concentration.

[Lost Stan for a short while...]

Units specified in queries

Stan: The idea is... In the 2 different styles... the importance is what it implies in the query. In style, where you only... property level... weights... say want weights in kg or pounds... So want body mass to come back in pounds or kg. In the other, would do a query and say... weights in pounds and in kg's... because would be a different code in pounds and kg's... And then there is the question of who has the burden... application or service? So if I ask for weights... and kg's... could have the service return pounds and kilograms(kgs) and service would have the job of... or the other way... in query say... I want weights in kg's and service would convert them off the kilograms before return to application. So service would have the responsibility of converting. So - those are the issues. And the proposal that Harold and I... we had preference of... units you wanted would be specified in query... Recognize that local system would use with... My preference is on service rather than application, but I have questions... All are agreeable... Is style... Both work well... Personal preference... CIMI style.

Linda: The approach in Singapore is to define reference sets of units of measure for each of the properties. So have reference sets and subsets of those. So in models... bind a particular data element...

Stan: Exactly how we implemented.

Linda: So, for example, the quantity units would come from ref set. I like approach of constraining to ref set... We can maybe discuss... where we are not fixing measure to that value or... That is 1 decision. In terms of 1 conversion... Providing the knowledge you need to do conversion is responsibility of query service to do conversion But query service is not what CIMI will provide, but if ever do...

Representing min/max values

Harold: Another aspect. Earlier discussion with Thomas of Fahrenheit to Celsius... The question arises - are we going to have places where we represent min and max values? If we are, we will need to... Thomas was doing... "If Fahrenheit then this is min/max and if Celsius... " So have to settle on... preferred... more than once.

Linda: So if we simplified and only had one, say Celsius, then would simplify... But if had API based on that model, would have to...

Harold: Other choice is to have the service itself. So... say... preferred unit is Celsius, and all services would be able to deliver Celsius. And if I ask in Fahrenheit, service would be able to convert. I always favored modeling in a way that had those types of functions to be centralized. But will have to have JAVA and PERLA and...

Stan: Would like Daniel's opinion.

Daniel: My thoughts - units of measure... not that different from other parts of definition. So other things like the procedure... sometimes defined in code and sometimes... The specimen is given by code, but given in a more... the units... Just to give a short explanation as to why have units inside vs. outside terminology. It seems to be... at least in Nordic and most European countries... not a problem to standardize units... Not a principle discussion... apart from the... principle in developing lab terminology to assure highest level of patient safety. To minimize the possibility of mixing up different lab values... I guess [these are] my thoughts on units and measure.

Stan: So - to be clear. The assumption is that a given system can store whatever units it would like. But... state preferred units. So if min or max - would be the units of measure. And would establish the units of measure that would be preferred. So obligated to return preferred item in preferred...

Harold: So have to establish preferred units. May not be as big an issue as all that. So maybe we can go with preferred and... We see whether we can't do most of it with agreed-upon units.

Stan: Yes - I think it is true. A surprisingly small number of items done in different units. But in US - some of the common things that this happens in - such as weight. But one hospital may do it 1 way and another in another way. But in most - probably only measured in 1 way. So - state as preferred.

Linda: A complicating factor, though. When we define CIMI models, local should be an extension of CIMI model. So - fixed temperature in Celsius, in order for us to change to Fahrenheit, would not be... But if put as default value, then we would need to... min and max. So if fixed value, then min and max become simple...

Stan: Not what I was proposing. It would be another part of the language. Would not set to that value. Would say "this is the preferred unit". People would have to convert, and min, max would be specified in that measure.

Linda: At the moment, the archetype... fixed model... are you...?

Stan: Both of those have a slightly different semantic. Would want a new key word... a new token... for proposed.

Harold Canonical?

Stan: Yes - I don't know if that is more or less obscure.

Linda: So min and max value constraints need to be conditional?

Stan: No. They would always be stated against preferred unit of measure.

Linda: But if region wants to specialize CIMI models, and not be able to...

Stan: Yes, they would.

Linda: No - a (?) only adds constraints, does not take away.

Stan: I understand... especially with parent-child. In practical applications, put constraint in parent model... the fact that it is a weight... don't get any confusion. But, literally, the local child model can't be used in parent model... But in the... parent... child... would be different... Not hard to get it to work right... so you tell me... I don't want to say - if unit of measure is...

Linda: We can think of as canonical model in isosematic family. And regional - just specify 1 family and be able to convert... OK.

Linda (cont'd): So - fixed would have... and min-max constraints... part of isosemantic regional... and would only have to specify... and... Unit of conversion could be defined between isosemantic models... So - we could specify Celsius. But also allow Fahrenheit. So US might pick up Fahrenheit noting that...

Daniel: Maybe I am repeating what you are saying, but... the CIMI model that is specified... This is one with no min, max constraints. And the preferred way... So you don't have to use such difficult words to express.

Linda: Yes - CIMI model only restricts the property without unit of measure. But then there is...

Stan: And I like... you fell into... use of canonical... And maybe we should adopt that... rather than preferred... just canonical.

Linda: Yes - I don't have to change the... Just... Specialize the CIMI model and transform into... model.

Stan: All OK with that?

Rahil: Yes.

Stan: Other question: If you are going to create interoperability, have to decide whether service or application does...(?). Should we leave it open?

[Lost Stan for a short while...]

Stan: A service-oriented implementation... or something else?

Harold: We are visualizing an architecture and a service. But we are attempting to build something that will enable lots of services. So maybe too soon to say anything.

Stan: I'm OK with that.

Linda: I agree with that. Now we are focused on models rather than implementation.

Rahil: A comment on you points. "Whether Units of Measure will be included in Property-based ref-set". I remember seeing... A change in AOM... in the attribute. I was wondering if we can do this in AOM rather than ref set.

Linda: Still need... temporal unit of measure.

Rahil: I think I saw several measures of temporal... rather than... as the difference units of measure... achieves the goal of having the same semantics. I was wondering if the change in AOM could do the job... whether could be achieved through that. I don't know where that was.

Harold: An email thread.

Linda: I would not want to be forced to include all of the temporal units of measure.

Harold: I forwarded it.

Stan: Thomas used this as an example. The construct in AOM has a validity to even if choose not to use as... So in pharmacy - frequency - say after 6 hours vs. 4 times a day. Could have a choice construct... This is a valid... That we want in the language, but I don't want to use here.

Linda: Yes. Useful for specific implementation... local... but don't want to restrict...

Daniel: I'm trying to think of Use Case. The problem of units - international standards, but also local (?). But in local model... trying to think of... CIMI model - hard to enumerate all units in all Local models. So property-based "this is a typical time unit"... So what are we trying to achieve with this?

Harold: I have to leave.

Stan: Let's pick it up there next time.

Linda: Thanks all. We'll meet next Thursday. I'll talk to Tom and see if versioning is too early.