SNOMED CT IHTSDO Query Language Specification IHTSDO Public
SNOMED CT IHTSDO Query Language Specification & IHTSDO Public Consultation Relevance to analytics Ed Cheetham, Principal Terminology Specialist
Scope & purpose • Provide a language specification that should be used to define an expression that selects concepts for inclusion in a simple concept reference set. – No metadata (which release etc. ) specified • The specification can be used to define value sets that may be bound to fields in information models, or to define sets of concepts to be included or excluded in particular use-cases.
Look and feel • Functionally – Presented as a set of functions operating on SNOMED CT data, and on the outputs of other functions – Set operations (intersection/union/excludes) – DAG-specific (children, descendants, leaf, roles) – Lexical matching • Syntactically – Human-readable function names – Parentheses denote ‘depth-first’ precedence • Care with non-commutative functions – Simple commenting convention
Examples • // This query expression returns concepts in the Clinical finding sub-hierarchy • Descendants. And. Self(404684003|Clinical finding|) • /* This query expression returns all fully defined concepts in the Clinical finding • * sub-hierarchy */ • Filter. On. Fully. Defined(Descendants. And. Self(404684003| Clinical finding|))
Union( Descendants(118956008|Body structure altered from its original|), Excludes( Descendants(404684003|Clinical finding|), Union( Descendants. And. Self(307824009|Administrative statuses|), Descendants. And. Self(405533003|Adverse incident outcome categories|), Descendants. And. Self(420134006|Propensity to adverse reactions|), Descendants. And. Self(365858006|Prognosis/outlook finding|), Descendants. And. Self(285153007|Sequelae of external causes and disorders|) ) ), Descendants(272379006|Events|), Descendants(413350009|Finding with explicit context|), Descendants(57177007|Family history of|), Descendants(4908009|Past history of|) )
Tabular description Function Intersection(A, B, C, . . ) Description Include only concepts that are in reference set A, and that are also in reference set B and that are also in reference set C. A concept that is not in all of the input reference sets is not included in the output reference set. This function takes one or more arguments. Filter. On. Fully. Defined(A) Include only the concepts in reference set A that are Fully Defined concepts Include only concepts in reference set A, that have an active description matching ‘s'. To be included in the resulting set, at least one of the concept’s active descriptions should match. See the next section for a definition of the matching criteria. Filter. On. Match(s, A) Has. Rel(A, B) Children(A) Members. Of(Named. Refset) Include only concepts that have a relationship of a type within reference set A, to a target concept in reference set B. The relationship must be ungrouped, and may be inferred from other relationships. Include only the direct children of concepts in reference set A Include only the members of an already defined reference set. The reference set may either be a static reference set, that is an enumerated set of concepts, or a dynamic reference set that must be evaluated from a specification before being used.
ABNF expression = ws (intersection / filteronfullydefined / filteronprimitive / filteronleaf / filteronactive / all / filteronexcludes / filteroncontains / hasrel / hasdirectrel / hasgroupedrels / childrenandself / children / descendantsandself / descendants / excludes / membersof / union / concept) ws intersection = “Intersection” ws “(“ expression *(“, ” expression) “)” filteronfullydefined = “Filter. On. Fully. Defined” ws “(“ expression “)” filteronprimitive = “Filter. On. Primitive” ws “(“ expression “)” filteronleaf = “Filter. On. Leaf” ws “(“ expression “)” filteronactive = “Filter. On. Active” ws “(“ expression “)” …
Impact and interactions Relevance to analytics • Function-serving – Most likely to be used/expected for use in ‘query’ field of Query Specification Reference Set (TIG 5. 5. 2. 9. ) • Competing, complementing, conflicting – Local and National record query set specifications (QOF [G 30% etc. ]) Candidate standard interchange format for SNOMED CT-based analysis – Extended SNOMED CT Compositional grammar (<< etc) predicates – Visual notation in IHTSDO WB Ref. Set designer Designed to point at reference data, • Mistaken for but near identical to parts of tests over record data. – Expression constraint formalism (e. g. LRA) – Post-coordinated expression record query set specification
Development stage • 8. 8 Public comment on Draft Standard and consensus stage: – 8. 8. 1 Based on the recommendation of the relevant Committee(s), the Management Board will determine when a Standard is ready for public comment as a potential IHTSDO Standard. At this point, the official status of the document changes to Draft IHTSDO Standard. This status is intended to allow trialing of prospective standards before adoption and this trialing will have been reviewed by the Management Board. Development, Approval, Maintenance and Review of IHTSDO Technical Reports, Guidelines and St
Consultation approach • “. . . The IHTSDO Management Board has approved this specification as an IHTSDO draft standard for public consultation over a period of six months. Please forward all feedback on the specification to John Gutai at jgu@ihtsdo. org by 14 th June, using the feedback sheet at: https: //csfe. aceworkspace. net/sf/docman/do/list. Docu ments/projects. announcements/docman. root. ihtsdo_consultations. sct _query_specifications. . . ”
Review and suitability testing • UKTC intend to compare with QOF syntax • Other familiar/useful formalisms? • Other willing reviewers?
- Slides: 11