CIMI MTF Minutes 20121115

Jump to: navigation, search

CIMI Modeling Taskforce - Meeting Minutes

Thursday 15th November 2012 @ 20:00-22:00 UTC


  • Weekly news & updates
  • Laboratory Results Report modeling:
    • Laboratory Test Result Group
    • Laboratory Test Result Item
    • Laboratory Test Result When/Who/Where
    • Reference Range
    • Specimen
    • Anatomical Location
    • Lab Report Header & Lab Request [If there is time]
  • Planning for Groningen meeting

Weekly News & Updates

  • Attendees list for Groningen (Sunday 2nd to Tuesday 4th)
  • Other CIMI meetings:
    • UML Taskforce
    • Terminology subgroup met on Tuesday (special guests: Alan Rector, Catalina Martinez, Robert Hausam)
      • Rahil presented LRA approach to terminology binding
      • Revisted use cases and requirements
      • Next week: example bindings for model validation, and heart rate model
    • Glossary subgroup meet every 2 weeks on Tuesdays (will meet next Tues)

Laboratory Results Report Modeling

  • Laboratory Test Result Group
  • Laboratory Test Result Item
  • Laboratory Test Result When/Who/Where
  • Reference Range
  • Specimen
  • Anatomical Location
  • Lab Report Header & Lab Request [If there is time]

Groningen Meeting Planning

Meeting Goals

  • To produce a solid draft of the CIMI Laboratory Results Report mindmap
  • To translate all into ADL 1.5 (plan: send drafts to Ian and Tom prior to the meeting)
  • Implementation considerations (e.g. FHIR profile and extensions required)
  • Model example instances (with Values included)
  • Laboratory Report - Terminology bindings


Linda Bird

Josh Mandel

Stan Huff

Ian McNicoll

Mark Shafarman

Rahil Qamar Siddiqui

Jay Lyle

Gerard Freriks

Mike Lincoln

Sarah Ryan

Stephen Chu

Eithne Keelaghan

Detailed Minutes

Linda: Want to clarify attendance at the meeting in Grongingen - Sunday, December 2nd to Tuesday, Dec 4th.

Linda (cont'd): Terminology subgroup meeting on Tuesday. Rahil showed the LRA approach. Revisited Use Cases and requirements. Next week - example of bindings for model validation and Heart Rate model.

Rahil: Want to upload the files... I had some trouble with Google docs. Who is administering this?

Linda: Josh Mandel is, but I am also. Send to me and Josh so we can sort out.

Linda: Modeling work - Quick recap - looked at test performed details.

IMAGE-1: MindMap - Lab_result.Test_performed

Linda: Ian - did you send the test procedure models?

Ian: I will do that now.

Linda: We started to look at Result Group.

Result group identifier

Result group names

Result group item

Result group Subgroup




Linda: Any comments?

Gerard: As result of harmonization, we started to model everything as procedures or processes, and this has consequences for how we label things. Certain things are observations, others are related to actions. Can't model in 1 archetype. So, I wanted to say... things change.

Stan: Is there a specific change you want, or is this a warning?

Gerard: Yes - you order a series of lab tests - ordered individually, reported on individually... So for each result identifier - you see results of that test.

Ian: That is absolutely theoretical. In practice, things are reported in panels.

Gerard: I agree, but when we are about to model things correctly... It depends on semantics.

Ian: Depends on how fancy you want it. Lab tests do work.

Ian: Must be precise. Want to represent explicitly.

Stan: If there is another way of modeling, that is OK, can make another isosemantic model, Gerard. But we can review this model. And if need different model that meets your needs, we can do that...

Gerard: But if you want explicit model, you should follow what I say, and not flatten things out.

Stephen: Before you say we should "follow my way", I would like to see some examples.

Gerard: I agree - I must submit examples.

Mark: My understanding... is it in our scope to cover the order of things or only the results? I know model has actions and sometimes order... to what extent are we going to include order...?

Stan: I think scope would be - how are we going to link order to result, and then... structure to results?

Ian: And I would agree. We need to tackle that. But not... every lab analyte [should] be an entity...

Stan: To all - it doesn't help... we need to be a little less pejorative... a little less provocative.

Ian: I apologize, but it is an imaginary world.

Gerard: Need to take into account procedures of things... Order is a procedure, and you document that procedure. That is what healthcare is about and what we document.

Stephen: I think we are going around in circles.

Linda: Some of terminology bindings will be covered... We will look at other models later. If we could get back to... comparative analysis. Individual test item.

IMAGE-2: MindMap - Lab_result.Result_item

IMAGE-3: Excel - Lab_test.Result_item

Linda: So - having looked at comparative analysis, 3 items. We discussed that 'Accession Number', as used by Intermountain, is mapped to the Specimen Identifier, and 'Filler Order Number' and 'Placer Order Number' are recorded in the 'Laboratory Request'... so I have excluded them from test result items... So - we have the result identifier. Only HL7 CCD has this, but all agree important to keep. And cardinality is 0 to 1.

Linda (cont'd): Result name - in FHIR - MOHH - It's called test name. For IMH - I believe, StandardObs... In Results4Care... In HL7 it's Observation.code

Gerard: I see 13606 is... I sent update.

Linda: Yes - you did. I will open up... Yes - 13606... is result... [see spreadsheet]

Linda (cont'd): For Result sequence - is only in MOHH.

Stan: What does it do?

Linda: It orders the lab in group.

Gerard: Are we in the business of ordering screens or are we in the business of... and how [it is] sequenced is something else?

Linda: Would result sequence be clinically relevant?

Gerard: It is a... decision made locally.

Stephen: I would disagree. Sometimes the sequence of result is very important.

Gerard: But - that is something that is dealt with... presentation.

Stan: I don't use this but I support it. Not meant to dictate how display. It is in case where lab said - this is the way we think it should be displayed. But there are situations where interpretation could be different depending on the order. We don't use this, but our general rule is to include if used, and... those who don't use - ignore. So, if doesn't hurt something... else our methodology is to include.

Gerard: My view - to include lab individually, and we have other ways to document it.

Stephen: It is clinical safety requirements.

Gerard: Can you give me 1 case?

Linda: I can't, but I am told by pathologist that it is important.

Stan: In CBC - want to make sure WBC's grouped together and not saying how you have to do it, but allowing lab to say... Not saying how you have to make your screen.

Gerard: So you want to say how [reported?] to you?

Linda: I agree - should include.

Linda (cont'd): OK - Point-of-care test (POCT indicator) sometimes included in the Result Name (e.g. in (LOINC) and sometimes in the structure.

Ian: I am not familiar with requirement...

Stan: In US - have lab work done in lab and lab work is certified and approved by pathologists and accredited agencies... ...running tests on instruments and flowing into same name - all white counts or red counts. And people want to distinguish between certified lab and bedside, and want to distinguish between calibrated [and not] calibrated...

Linda: Result value type. Mostly mandatory in NEHTA model and ... optional.

Gerard: These are also semi-quantitative results... semi-quantitative way of expressing things.

Linda: Yes - this is partial results... see what test is performed.

Mark: Want to include flavors of null?

Linda: I think status will be important.

Stan: OpenEHR... have helped. We put Null-flavor in the data types in HL7 - should probably be outside of the result value, so is a choice between having it in the result value and putting it outside in the ELEMENT. Putting value of Null in result rather than information of why result is not there. Modeled better in openEHR.

Mark: Yes - it just has to be there.

Gerard: Concept-level...

Rahil: So would be similar to what we are doing with Heart Rate model. So interpretation of result. I wonder if can be in lab result. So if non... lab result, it can assume value of...

Linda: We have both status and Null Flavor. Is everyone happy with result value being optional? Allows partial result. And allows the result value to be any data value, such as text, quantity, and amounts.

Gerard: OK

Stan: OK

Linda: Result value type is excluded. So result type is PQ or quantity. It is the data type.

Stephen: Example?

Linda: [gives example]

Mark: So, if it is a specific data type - is that part of result value?

Linda: Yes.

Mark: OK - don't want to have to interpret string and have to figure out type of data string.

Ian: Ah - be brave Mark [laughter].

Mark: So - I am asking where it shows up.

Linda: Model that defines specific panel and test - are all comfortable? OK.

Gerard: In 13606 - certainty and confidence are lumped together in the SCN (Status, Certainty, Negation) pattern.

Stan: Value for it?

Gerard: To be decided.

Linda: So - Results4Care - data-type, CD - confidence. Unfortunately we can't ask Mike - not on line. We can ask how used in Results4Care.

Jay: I seem to recall - is this related to probability? It is CD - not a percentage. Presumable confident... or not confident...

Gerard: Percent or does ordinal...

Stan: Want Qualitative confidence and Quantitative Confidence.

Linda: So let's raise this next week - to talk about coded confidence.

Stan: Comes into play - Natural Language Processing. I don't know if I've seen it in Lab Data.

Linda: Never saw pathologist say "Not Confident".

Stan: Probably all kinds of things in anatomic pathology, not...

Stephen: I've [seen] in anatomical pathology as well, but not in...

Linda: We'll leave open.

Linda (cont'd): Result-delta - Stan?

Stan: Yes. There are physiologic things that you assume are relatively stable over time. e.g. Hematocrit. So rules - if hematocrit drops 3 points, need to alert. [This is] set in Lab and sent to clinical(?). example - Blood glucose changed by unexpected amount from last/previous result.

Linda: So I brought up values for this - better, unchanged, worse, significant change down, significant change up, unchanged, worse...

Stan: [did not hear]

Linda: So if coded... better... or worse, and if numeric...

Gerard: In 13606... signal values... have delta signal, so to speak. This is how dealt with - normal values, but also delta values - something else than normal value.

Stan: How modeled - a flag?

Gerard: It must be, theoretically. When it is signaled by lab that is outside signal range, then is (Lab?) info - that is a flag. So that is how dealt with.

Stan: There is another flag - the interpretation. Can say "this is higher than normal, or it is off-scale of instrument" and that is where expressed. Whereas, this is comparing previous result to this result.

Gerard: Yes - outside signal range - a flag.

Stan: But is that signal range determined by looking at range or by comparing to previous?

Gerard: Nothing to do with the last result... Determined by lab.

Linda: Is specific to patient or lab test?

Gerard: Not have to do with normal for lab - has to do with normal for patient. So if low - you are able to detect.

Stephen: What is this range?

Gerard: It is... set for this patient. It is outside range for this patient.

Stan: So an example - a patient in renal failure - normal is high creatinine and is known. But if creatinine got even more abnormal - than if you would trip this signal flag to say it went even more abnormal than what you expect?

Gerard: Yes.

Stan: So - is close to but different from delta flag.

Stephen: I don't think is different. Might be different, but range for patient is set differently...

Stan: I think a little different. Our rules about delta change is percentage different from previous. But this - have clinicians set for individual patient. But our delta flag is percentage from [previous]... So what Gerard says - set signal flag if exceeded by patient.

Gerard: Yes - must think about.

Mark: There are 2 cases for delta flag. Is lab setting it or physician setting it?

Stan: Yes - delta flag is definitely, as I said - not ambiguous - some percent higher or lower, or an absolute higher or lower. But if need other...

Mark: Yes - Linda - Result signal flag.

Linda: Yes - I added. All OK?

Stephen: No - I don't think... description...

Linda: What would you suggest?

Stephen: I will think about it.

Linda: I will keep it orange. The description I have given in “A code that indicates whether or not the result is outside the 'signal' range for this patient.”

Gerard: Something to be discussed. A developed concept. Not correct term, but something like that more than...

Linda: Result Trend Flag?

Gerard: No.

Rahil: Usual, acceptable range...

Linda: Will have to put votes on the table.

Gerard: Delta is name that is clear to me, but delta of what?

Linda: Status - is in several models. Not in Results4Care model.

Stan: How does anyone get by without it?

Linda: I don't know. Oh - Results4Care has it at panel level but not at individual test results level. All others at both levels... so leave in.

Linda (cont'd): Next - reporting priority. We have requested priority, reporting priority, and Stan, you have it at Item-level. Is this appropriate?

Stan: I think so, although lots of situations where don't have, and this suffices. If follow Ian's Rule of thumb, probably not include. Useful, but not seen it in system. Usually... when have single result that is coming back.

Linda: Not included at panel level because none have it here.

Ian: This feels like something that is inner-lab issue, rather than to clinician... and if... at clinical end, ... report level rather than individual analyte.

Stan: What is meant to do - when result returned to clinical system - should cause lights to flash or blinking, so causes someone to see. Not because abnormal, but is blood gas in someone with Myocardial Infarction, and will change the therapy. So not alert in usual sense since not abnormal, but is important result to display... different methodology to display.

Stephen: This applies to both normal and abnormal result, so if panel of electrolytes test - might want to flag as high priority. And in micro test - some esoteric - treating clinician to be alerted. So normal and abnormal results.

Mark: Is this a panic-flag?

Stan: No.

Mark: Requires immediate attention...

Linda: So are you recommending...

Stan: I think... fine to have at panel level. Indicate for whole panel - I am fine.

Linda: We will move to the panel level.

Stephen: Stan - a question. My example or Use cases - don't you want them in both places?

Stan: I am happy with panel level. So if any result in panel to be brought urgently to attention that would be fine. I don't know where I would attach to WBC and would be bad to attach to whole blood test.

Mike Lincoln: I can imagine when would attach to 1 result.

Stan: I can too, but is in imaginary world. I have never seen in working system.

Ian: I think - what would you do as recipient? What if I had 6 - would have 6 bells? No, just 1. I suppose bring attention to 1 analyte, but... some description.... of what it is or...

Stan: I would assert... in terms of modeling. We assume we can add... backwards-compatible to our model. So I would say - leave out and if have this then add back because [then] have Use-case. So let's model what we know well. And if not sure - put on list and then come back so avoid not making things not... with real world.

Linda: So... put on list and...?

Stan: Yes.

Linda: So... is that ok with all?

Linda (cont'd): Next one is comment - comment about result 0-to-many in IMH and 0-to-1 in... and the text in 13606 model. So I defined comment as 0-to-many and as plain text - not coded. All OK?

Stan: Is there another coded comment? Or only text?

Gerard: In 13606 - always free-coded text, so can have free text or coded text.

Linda: So, if I go to IMH model - go to CoreStandardLabObservation... Comment [0-to-unbounded] seems to be a string.

Stan: Our Comments can be coded. I am going by what we really receive. So, for example, "Specimen hemolyzed".

Linda: Lab interpretation?

Stan: No - Lab interpretation is high, low, higher than critical. This is saying... could be "this was a difficult draw" or "patient uncooperative". If looked at comment you see some text, or we use code. So, even if come as code, I don't know if we have logic against this code. But does it cost us anything to make a coded... rather than string?

Linda: No - if we make this a TEXT, we can always constrain this to plain text by adding a constraint, if required - however this also allows CODED_TEXT. And 0-to-many means that some can be plain text and some can be coded.

Stan: You think of text pieces being comment and...

Linda: So, we've made it text, which can be either. So interpretation - not sure if we should call interpretation or interpretation-flag.

Ian: I would keep it interpretation

[Linda makes change to spreadsheet]

Stan: I think he was arguing not to put flag...

Linda: OK - to allow for either.

Linda (cont'd): Let's look at mapping. In FHIR, model is result.flag(?) - which is a flag. Just called flag. In openEHR/NEHTA I can't see this.

Ian: I think it's in reference model and is called Normal status. If this is the flag that is about normal status... HL7 Result flag... we have clinical interpretation elsewhere.

Gerard: What is meaning of interpretation flag?

Stan: Normally - flag in data modeling context - is something that has 1 or 2 values - on or off - normal or abnormal. That would be a flag. If more than 2 values, technically should not be a flag.

Linda: Any suggestions what we should call it?

Stan: This is... in our model. ...used as abnormal flag... interpretation... HL7. I am worried that Ian's use is different. This is clinical use.

Gerard: Semi-quantitative expression of result. So can categorize as normal or hi... so in my thinking, is not a flag - is semi-quantitative.

Stan: I think that was an argument to leave as interpretation... open to discussion.

Stephen: In NEHTA... (?). Probably similar to interpretation on spreadsheet.

Stan: We may need more than 1. We need 1 that says greater than normal, abnormal, worse, because what (Ian?) said "We think this is consistent with patient having TB".

Linda: Alternative, we could call it 'Interpretation code'

Stan: Interpretation code I am fine with.

Gerard: Yes.

Linda: To distinguish from interpretation narrative. And made it optional or...

Linda (cont'd): Next - reference range - 0-to-many - in FHIR it is a class (?) - 0-to-many.

Stan: This is one - we have 2 things going under same name. At IMH, the lab system has said I have a table, and for this age patient, this gender, pre- or post-menopausal... for this patient, this is the high and this is the low. And second Use Case - they are sending the whole table. If male then this...

Gerard: 13606 - as reported by lab of what they think is normal.

Linda: In Singapore - treated the same. But Lab may not have enough information to know if patient is pre-menopausal or not.

Stan: Yes - I want to allow both of these because both occur. If I use Ref-Table, I use different than Ref-Range.

Gerard: Reference-Range - spread of Result-Lab... they consider normal. Value attached to specific lab.

Ian: OpenEHR - same range.

Linda: Where?

Ian: If ref model - part of granularity.

Gerard: I have no clue how in 13606 we deal with that.

Ian: If you go to rm_data_types.quantity, Ref-range->normal range and other_reference_ranges. And other... are named.

Linda: That is slightly different, isn't it?

Ian: I am struggling with UML there, but normal range attribute - uses this reference range class.

Linda: (?)

Ian: Normal range is standard range from lab, and other is specific... pre-menopausal, post-menopausal...

Linda: Where...?

Ian: If you look at Reference Range Class... One to represent normal range, and one to represent range...

Mark: So that would be under repeating... and range would... and these would have a value... upper and lower limit.

Linda: So look at...

Mark: Go up - I am not seeing Reference Range here... Ah - observation-range. O-to-many.

Linda: Class code observation. Presumably that indicates...

Mark: Is 0-to-many, and elements... given by code and text... sub... and also an interpretation code.

Linda: No indication of what ranges matches result.

Mark: Single observation.

Linda: Two things going on... Clinical condition... still set of ranges... what is normal...

Stan: No.

Linda: What you are saying, Stan?

Stan: No - assumption is... they have taken into consideration all these things and say this is normal range. Or say... table... may have taken into consideration... But I have to decide. First is - I don't have to do anything - by definition, is that one that lab has assigned to patient. Or, Table - could be very complicated. But you now have to examine and use other clinical data to decide what... If use same structure for single assigned v.s. look-up Table...

Mark: Right, and that model you are showing, Linda, would be a template... Lab reporting... one reference range or would be a Table and those are 2 Use Cases Stan described.

Linda: So, start with 0-to-many Ref Range and then constrain to be specific.

Mark: Yes.

Gerard: Very close to our notion of signal range. It comes close.

Stan: My objection to that - we're making the mistake - because things have same structure we are making them the same.

Mark: Yes - I agree. Want to have people look at and know...

Linda: The thing that makes me nervous is I have not seen any models that do this.

Stan: And that has caused trouble. When I get a... they send a whole big text blob - HTML or markup. All you can do is display to User. The other - today - I have to decide if a single range or a Table thing. I understand... labs won't change how sending, but if we can educate labs to do it right. So today I am concerned... a problem.

Linda: So should we distinguish or...

Stan: By constraining it - not allowing us to give it a different name.

Linda: It does - you can rename. Correct me if I am wrong, Ian, but that is what we do with archetypes?

Ian: Yes - that would work.

Stan: Why not do it that way and not rename now.

Ian: We make clear distinction?

Linda: I think in our Use Case - we don't make this distinction.

Stan: I don't think that is true. They cannot be used in the same way. In one case... execute against range. But if Table, I have to go find out sex and lookup. They can't be used interchangeably in logic.

Linda: I agree, but since we are supporting legacy systems...

Stan: That would be legal to do... but we could make 2 different... In your case, remove the single one and leave only the Table and use this.

Linda: But some countries do one thing and some do the other, whereas if put into... then common parent.

[Phone]: Would it be reasonable to have... so would be explicit whether parent or child? So, include Ref Range set - only single or many. So set Ref Range of difference.

Stan: That is what Linda is arguing for, but I would have to do a count to know if 1 or many... Change in logic. It seems easier to put it at this level... would document... Take poll of group - separate or together.

Stephen: I don't object to Stan's proposal. Two different items for countries... population-specific range... with multiple range values. But mix interpretation guide... But is neat to have the 2 separated at this level.

Linda: What do we call them?

Stan: Ref Range of Reference? Ref value? Ref Range or Ref Table?

Linda: Ref Range 0-to-1 and Ref Table 0-to-many.

Gerard: The Reference, whatever, can be defined up front. Often many situations where you cannot define a rule. Hemoglobin level - (absolute?) if normal for patient and can't express in Table. Just opinion of clinician - [what is] normal for this patient. That is why [there is] normal reported by lab and normal by clinician.

Stan: That is different Use Case - what lab says and what clinician says.

Gerard: Yes - but lab reports normal results. And clinical part where clinician has to specify...

Stan: Never seen a ... report sent by physician.

Gerard: But no...

Stephen: You are conflating the situation.

Linda: If result value is considered to be high, this specific patient range - would that be normal or high?

Stan: Would be the range for that patient. And things that are known to vary the range... pregnancy... cancer... not cancer... things that vary and...

Linda: So if that is what... I have no problem. But if we are distinguishing between normal range and...

Stan: Yes - normal range may be what we should call this. Reference Range Set...

Linda: Only problem - if we keep it 0-to-many, has to reflect... don't have 0-to-many sets.

Mark: We are in violent agreement!

Linda: I have added a new element called the normal range and...

Stan: Yes - but I would quibble about cardinality. Might need to have 2 or more...

Linda: Need to make Ref Range optional because may not always be [known].

Stan: Yes - I went into "bad-think" for a moment.

Gerard: Laboratories have normal ranges. I never tested my normal range...

Linda: Question is: should we do as a single amount?

Stan: I think that is right.

Linda: OK - How about we tentatively add that and later... So have - Reference Range 0-to-many, Normal Range 0-to-1.

Linda (cont'd): So 5 more minutes. Need to plan for meeting in Groningen. So attendee list - if it changes, let me know. I would like to agree on meeting goals.

Linda: Potential meeting goals: 1) To produce a solid draft of the cimi Lab Results Report Mindmap. 2) To translate all (or part?) into ADL. Neither Tom or Ian can go. [more - see Linda's Notes]

Ian: Both of us are travelling. May be able to join remotely.

Linda: So - great goal... to produce ADL. We could pass Mindmaps to Ian and Tom...

Gerard: You mean ADL 1.5 - Tom and Ian are experts on that.

Linda: Could do 1.4 and pass to Ian and Tom to do 1.5

Ian: Either would work. Data type... in terms of semi... Tom and I could... He has in workbench now...

Linda: Plan - we produce Mindmap. Hopefully, enough cardinality...

Ian: Should be straight forward.

Gerard: All constraints must be revisited.

Linda: Yes.

Stan: Would we actually do the work at the meeting or before the meeting, so could review in workbench?

Linda: Good idea. If we can get to this next week...

Stan: Next Thursday is U.S. Thanksgiving. I won't be on the call. I am not sure what Mike Lincoln and Galen and Mark and...

Linda: But if I gave Mindmap to Ian and Tom, could...

Ian: I agree. The sooner you can give to us the better.

Stan: I think that would make us much more productive. Even if have to change... But if most of content in there already, that would speed things up.

Linda: So send to Ian and Tom next week.

Ian: Or I can get working on it now - send spreadsheet to me.

Linda: Thanks. So we'll have a draft at the meeting. I'm not sure how much of... Implementation considerations (e.g. FHIR profile and extension required)... Stan - do you know how much want to cover?

Stan: Yes - Jay on call? No? [No answer] Great topic. Other - I would like to do work on value notations. How show examples of models with values... Could see if I could prepare a proposal to discuss.

Linda: Yes - more productive if people come with proposals. Terminology Binding work - another topic. I will make adjustments and send out.