| | |
|---|
Welcome and agenda | Former user (Deleted)
| |
Postcoordinated Expression Transformations | | National Cancer Registry use case in the Netherlands Brief recap of transformation process Examples of expression transformation Inter-attribute dependencies Acute/Chronic and Inflammation - Adding a clinical course requires specializing the inflammation morphology E.g. |Pyelonephritis| : |Clinical course| = |Chronic| should be |Pyelonephritis| : |Clinical course| = |Chronic|, |Associated morphology| = |Chronic inflammation| E.g. |Pyelonephritis| : |Clinical course| = |Sudden onset AND/OR short duration| should be |Pyelonephritis| : {|Clinical course| = |Sudden onset AND/OR short duration||, |Associated morphology| = |Acute inflammation|
Infectious Causative Agents - Adding a |causative agent| = |Domain Bacteria| or |Virus| requires adding a |Pathological process| = |Infectious process| Congenital and Acquired - Adding an |Occurrence| of |Congenital| to a focus concept with an abnormal morphology, requires adding a |Pathological process| of |Pathological development process| Situations with Explicit Context if the procedure context = |Planned|, then the temporal context should be << |Current of specified time| If the procedure context = |In progress|, then the temporal context should be << |Current| If the procedure context = |Performed| or |Done|, then the temporal context should be << |Current or past (actual)|
Next steps
|
Postcoordination Expression Processes | All | Postcoordinated expression processes Generic Use case specific Mapping (from an interface term) Terminology binding (using an expression template) Natural Language processing
|
Postcoordination Use Case Examples | All | Example 1 - Dentistry / Odontogram Example 2 - Terminology binding Example 3 - Mapping Design-time activity Map targets may not be able to be fully represented using concept model attributes In many cases, an extension (with primitive concepts) should be recommended where there are gaps in the mapping There may be some cases in which postcoordination is helpful (e.g. LOINC to SNOMED CT map)
Example 4 - Natural Language Processing Usually run-time activity. May require manual confirmation of coding suggestions (unless low clinical risk, eg for suggesting relevant patient records for manual review)
|
Postcoordination Guidance | Former user (Deleted) , Anne Randorff Højen , Kai Kewley
| Practical Guide to Postcoordination Proposed Transformation Rules - Refinements (in valid domain of focus concepts) 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 Single refinement 83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device| Two groupable refinements 83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device|, 363700003 |Direct morphology| = 367643001 |Cyst | One groupable refinement with one self-grouped refinement 83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device|, 260870009 |Priority| = 394849002 |High priority| Refinement attribute matches (or subsumed by) attribute in focus concept's definition 83152002 |Oophorectomy| : 260686004 |Method| = 277261002 |Excision biopsy (qualifier value)| Refinement explicitly in role group 83152002 |Oophorectomy| : { 260686004 |Method| = 281615006 | Exploration - action | , 405813007 |Procedure site - direct| = 367643001 |Cyst | }
Proposed Transformation Rules - Refinements (NOT in valid domain of focus concepts) 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 Left aural temperature Malignant tumor of right ovary 363443007 |Malignant tumor of ovary|: 272741003 |Laterality| = 24028007 |Right| → 363443007 |Malignant tumor of ovary|: { 116676008 |Associated morphology| = 367651003 |Malignant neoplasm of primary, secondary or uncertain origin|, 363698007 |Finding site| = ( 15497008 |Ovarian structure| : 272741003 |Laterality| = 24028007 |Right| ) }
Other Example - Emergency excision of appendix 80146002 | Excision of appendix | : 260870009 |Priority| = 25876001 |Emergency|
Other Example - Fracture of bone 125605004 |Fracture of bone|: 363698007 |finding site| = 84167007 |Foot bone| 125605004 |Fracture of bone|: {363698007 |finding site| = 84167007 |Foot bone| } 125605004 |Fracture of bone|: {116676008 |Associated morphology| = 72704001 |Fracture|, 363698007 |finding site| = 84167007 |Foot bone| } 64572001 |Disease|: {116676008 |Associated morphology| = 72704001 |Fracture|, 363698007 |finding site| = 84167007 |Foot bone| }
|
The items below are currently on hold |
Other Options for Future Progress | | URIs for draft editions ECL extensions Primitive/Defined filters → concept filter Concept+Description filters (e.g. effectiveTime, module, active) Accessing Refset attributes → (e.g. historical association refsets) → historical ECL OR use full syntax to be able to query any table (e.g. Relationship table) - ie expand ECL into something more verbose (e.g. SNOMED query language)
Template extensions
|
URIs for Extended Editions | | 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: |
Querying Refset Attributes | Former user (Deleted)
| ON HOLD - Proposed syntax to support querying and return of alternative refset attributes (To be included in the SNOMED Query Language) |
Returning Attributes | michael lawley
| 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| |
Reverse Member Of | michael lawley
| ON HOLD - Proposal for discussion What refsets is a given concept (e.g. 421235005 |Structure of femur|) a member of? |
Expression Templates | Peter Williams
| 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: {"timestamp":1792731425479,"msg":"A unknown Exception Occurred","errorMsg":"The provided AtlassianHostUser did not specify a user to act as.","code":"500"} 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. Road Forward for SIGenerate the parser from the ABNF and implement in the Template Service User Interface to a) allow users to specify template at runtime b) tabular (auto-completion) lookup → STL Template Service to allow multiple templates to be specified for alignment check (aligns to none-off) Output must clearly indicate exactly what feature of concept caused misalignment, and what condition was not met.
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 |
Description Templates | Kai Kewley
| |
Query Language - Summary from previous meetings | Former user (Deleted)
| FUTURE WORK Examples: version and dialect Notes Allow nested where, version, language Scope of variables is inner query
|