Goals
- Consider postcoordination use cases
Attendees
- Chair: user-ec161
- Project Group: Daniel Karlsson, Peter Jordan, Kai Kewley, Michael Lawley, Ed Cheetham, Rob Hausam, Anne Randorff Højen
Apologies
Agenda and Meeting Notes
Description Owner Notes Welcome and agenda Example 1 - Dentistry / Odontogram Example 2 - Terminology binding Example 3 - Mapping Example 4 - Natural Language Processing Practical Guide to Postcoordination Proposed Transformation Rules - Refinements (NOT in valid domain of focus concepts) 363443007 |Malignant tumor of ovary|: 272741003 |Laterality| = 24028007 |Right| ON HOLD - How to refer to an 'extended edition' using a URI - e.g. "International Edition plus the following 2 nursing modules: 733983009 |IHTSDO Nursing Health Issues module|and 733984003 |IHTSDO Nursing Activities module| Use Case - Need to execute an ECL, that refers to "^ 733991000 | Nursing Health Issues Reference Set (foundation metadata concept) |" and/or "^ 733990004 | Nursing Activities Reference Set (foundation metadata concept) |", where the substrate includes the international edition, plus the modules that include these reference sets July 2020 International Edition URI: http://snomed.info/sct/900000000000207008/version/20200731 July 2020 International Edition + nursing modules URI ?? - For example: ON HOLD - Proposed syntax to support querying and return of alternative refset attributes (To be included in the SNOMED Query Language) ON HOLD - Proposal (by Michael) for discussion For example, I can write: << 404684003|Clinical finding| : 363698007|Finding site| = <<66019005|Limb structure| << 404684003|Clinical finding| . 363698007|Finding site| But I can't get all the attribute names that are used by << 404684003|Clinical finding| ON HOLD - Proposal for discussion What refsets is a given concept (e.g. 421235005 |Structure of femur|) a member of? Expression Templates Examples: [[+id]]: [[1..*] @my_group sameValue(morphology)] { |Finding site| = [[ +id (<<123037004 |Body structure (body structure)| MINUS << $site[! SELF ] ) @site ]] , |Associated morphology| = [[ +id @my_morphology ]] } Note that QI Project is coming from a radically different use case. Instead of filling template slots, we're looking at existing content and asking "exactly how does this concept fail to comply to this template?" For discussion: Is it correct to say either one of the cardinality blocks is redundant? What are the implications of 1..1 on either side? This is less obvious for the self grouped case. Additional note: QI project is no longer working in subhierarchies. Every 'set' of concepts is selected via ECL. In fact most reports should now move to this way of working since a subhierarchy is the trivial case. For a given template, we additionally specify the "domain" to which it should be applied via ECL. This is much more specific than using the focus concept which is usually the PPP eg Disease. FYI Michael Chu FUTURE WORK Examples: version and dialect << 64572001 |Disease| {{ term = "*heart*" }} VERSION http://snomed.info/sct/900000000000207008/version/20180131 << 64572001 |Disease| {{ synonym = "*heart*" }} VERSION http://snomed.info/sct/900000000000207008/version/20180131 << 64572001 |Disease| {{ FSN = "*heart*" }} VERSION http://snomed.info/sct/900000000000207008/version/20180131 << 64572001 |Disease| {{ preferredTerm = “*heart*”}} VERSION http://snomed.info/sct/900000000000207008/version/20180131, DIALECT Y << 64572001 |Disease| {{ acceptableTerm = “*heart*”}} VERSION http://snomed.info/sct/900000000000207008/version/20180131, DIALECT Y (* {{ term = "*heart*" }} VERSION http://snomed.info/sct/900000000000207008/version/20180131, DIALECT Z) MINUS NotesPostcoordination Use Case Examples All Postcoordination Guidance
{ 260686004 |Method| = 129304002 |Excision - action|,
405813007 |Procedure site - Direct| = 15497006 |Ovarian structure|,
405815000 |Procedure device| = 122456005 |Laser device| }
{ 260686004 |Method| = 129304002 |Excision - action|,
405813007 |Procedure site - Direct| = 15497006 |Ovarian structure|},
{ 405815000 |Procedure device| = 122456005 |Laser device| }
{ 363698007 |Finding site| = 272673000 |Bone structure|,
116676008 |Associated morphology | = 72704001 |Fracture| }
{ 42752001 | Due to (attribute) | = 1912002 | Fall | }
ObjectIntersectionOf (:71388002
ObjectSomeValuesFrom(:609096000 ObjectIntersectionOf( ObjectSomeValuesFrom(:260686004 :129304002)
ObjectSomeValuesFrom(:405813007 :15497006))))
Close-to-user-form - IF the grouping of the refinement is not concept model valid THEN
If there is a single (non-self-grouped) role group in the definition of the focus concept, then any ungrouped (but groupable) refinements are merged with this role group
If there is more than one (non-self-grouped) role group in the definition then flag as ambiguous and require refinement
NEED TO FIND a realistic clinical example where this may occur // Prevent failing cases from coming up // use template
ALTERNATIVE: Refinement is applied to all (non-self-grouped) role groups in the definition
Self-grouped attributes in the refinement are grouped on their own - i.e. Priority, Due to, After, Before, During, Clinical course, Temporally related to, and all Observable entity attributes (see Relationship Group)
Self-grouped attributes in the definition of the focus concept(s) are left unchanged
83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device|
83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device|, 363700003 |Direct morphology| = 367643001 |Cyst |
405813007 |Procedure site - direct| = 15497006 |Ovarian structure|,
405815000 |Procedure device| = 122456005 |Laser device| ,
363700003 |Direct morphology| = 367643001 |Cyst | }
83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device|, 260870009 |Priority| = 394849002 |High priority|
405813007 |Procedure site - direct| = 15497006 |Ovarian structure|,
405815000 |Procedure device| = 122456005 |Laser device| }
{ 260870009 |Priority (attribute)| = 394849002 |High priority| }
83152002 |Oophorectomy| : 260686004 |Method| = 277261002 |Excision biopsy (qualifier value)|
83152002 |Oophorectomy| : { 260686004 |Method| = 281615006 | Exploration - action | , 405813007 |Procedure site - direct| = 367643001 |Cyst | }
405813007 |Procedure site - direct| = 15497006 |Ovarian structure| },
{ 260686004 |Method| = 281615006 | Exploration - action | ,
405813007 |Procedure site - direct| = 367643001 |Cyst |}
Close-to-user-form - IF the refinement's attribute is not valid for the domain of the focus concept THEN
If there is a single role group in the definition of the focus concept, which has an attribute value in the domain of the refinement's attribute THEN nest the relevant attribute value with the refinement added to the attribute value
(Note: It doesn't matter if the role group is self-grouped or not (see example 1 below)
If there is more than one role group in the definition of the focus concept, which has an attribute value in the domain of the refinement's attribute THEN (non-self-grouped) role group in the definition then flag as ambiguous and require refinement
363698007 |Finding site| = ( 15497008 |Ovarian structure| : 272741003 |Laterality| = 24028007 |Right| ) }
260870009 |Priority| = 25876001 |Emergency|
363698007 |finding site| = 84167007 |Foot bone| }
363698007 |finding site| = 84167007 |Foot bone| }The items below are currently on hold Other Options for Future Progress URIs for Extended Editions Querying Refset Attributes user-ec161
FROM 799 |Anatomy structure and part association refset|
WHERE 123 |referenced component| = (< 888 |Upper abdomen structure| {{ term = "*heart*" }} )
FROM concept
WHERE id IN (< |Clinical finding|)
AND definitionStatus = |primitive|
FROM concept, ECL("< |Clinical finding") CF
WHERE concept.id = CF.sctid
AND definitionStatus = |primitive|
FROM concept ( < |Clinical finding| {{ term = "*heart*" }} {{ definitionStatus = |primitive| }} )
(|Anatomy structure and part association refset| {{ |referencedComponent| = << |Upper abdomen structure}} )? |targetComponentId|
734139008 |Anatomy structure and part association refset|
734139008 |Anatomy structure and part association refset|
734139008 |Anatomy structure and part association refset| :
449608002 |ReferencedComponent| = << |Upper abdomen structure|
734139008 |Anatomy structure and part association refset|
{{ 449608002 |referencedComponent| = << |Upper abdomen structure| }}
734139008 |Anatomy structure and part association refset| :
449608002 |ReferencedComponent| = (<< |Upper abdomen structure|) : |Finding site| = *)Returning Attributes Michael Lawley Reverse Member Of Michael Lawley Road Forward for SI
Description Templates Kai Kewley Query Language
- Summary from previous meetings
(* {{ term = "*heart*" }} VERSION http://snomed.info/sct/900000000000207008/version/20170731, DIALECT W)
3 Comments
user-ec161
That you very much Ed and Michael for your comments on this previous meeting page. I'm replying on this week's meeting page to keep this conversation current.
Ed - I completely agree with the points that you've made. We should (and will) discuss the broader postcoordination 'journey' from creation to classification and querying, to exchange, storage and display etc. And in doing this, we should consider how these activities should work for each use case (and what guidance to provide). This will be the focus of this week's meeting - however, it is likely to take several meetings to get through everything, so I appreciate your patience. WIth respect to the queries over 'historical expressions' - this is obviously a very important topic - however, this should probably wait until the MAG has provided some recommendations for querying historical precoordinated content first.
Michael - In the scenario that you and Ed have referred to - in which the clinician records the disorder or procedure with a laterality (as per the UI) - I actually think it's more likely that the clinical system records the disorder/procedure and laterality in separate data elements within the health record (in line with the UI), and only composes these into an expression when they need to squeeze this data into a single field for exchange (e.g. as per FHIR spec). The big question that I think we then have is which form should the expression be put into for exchange - should it be the close-to-user form which is closest to how the data was collected (e.g. |appendectomy|: |laterality| = |left|), the classifiable form (e.g. |appendectomy|: {|Procedure site - Direct| = (Appendix structure|: |laterality| = |left|),|Method = |Excision||, or the NNF form (?). My first instinct would be to use the close-to-user form for exchange (which I consider to be the 'source of truth', with respect to what the user stated). However, I assume you're suggesting that the classifiable form should be used for exchange (i.e. it's created using a specific version of SNOMED, and used in the FHIR resource)? I think the related question is - which expression form is given a unique identifier in the expression repository? My thought is that each close-to-user form expression should be assigned a separate unique expression identifier.
We can start to discuss these topics further at this week's meeting.
Ed Cheetham
Thanks Linda.
Regarding the 'historical' point, maybe they've got this covered but I think my question refers to a challenge that is complementary to any work the MAG and others are doing on how to handle inactive concepts & descriptions. Whilst reference data modelling changes should generally be expected to result in improved data retrieval over time, some kinds of changes to formal definitions will result in discrepancies between compositional expressions created in the past and their future reference data counterparts.
Using an old example (but I think the principle still holds for future changes), consider the concept 73632009 |Laparoscopy (procedure)|.
Since 2007 it's been modeled in accordance with this guidance:
Laparosc_07.svg
In 2006 it was modeled like this:
Laparosc_06.svg
Anyone creating a 'laparoscopy' compositionally in 2006 might reasonably have assumed that an expression based on the 'method'/'access'/'site' role group shown (refining a 'procedure' focus) would meet their needs and would be detected with a corresponding query predicate. However, since 2007 the reference 'retrieval' definition (and thus query predicate) is significantly different. Leaving aside the procedure site attribute and value changes, the significant change is that |Access| = |Endoscopic approach| has been 'REPLACED_BY' |Using device| = |Laparoscope| - and this sort of historical tracking isn't explicitly supported for retrieval.
I don't have a strong sense of how common 'retrieval-disrupting' model changes are, but if we agree that they are a thing then we can also assume that they will happen in the future. If post-coordination is going to be encouraged then there need to be processes either to predict, identify and mitigate against such changes when they happen, or consider mechanisms to limit post-coordination to more 'stable' areas of the data.
Ed
user-ec161
Hi Ed! Really good point! And I think this will impact our guidance on which expression-form to use for each step in the journey... for further discussion in a few hours (after some sleep). Linda.