Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Date & Time

20:00 UTC Wednesday 9th November 2016 

GoToMeeting Details

Click here to see GoToMeeting joining information

Goals

  • To discuss Compositional Grammar document migration and feedback
  • To report on progress with Expression Constraint Language v1.1
  • To discuss outcomes of SNOMED URI discussions in Wellington
  • To progress SNOMED Template Syntax

Agenda and Meeting Notes

Advanced Tables - Table Plus
border2
rowStylesbackground-color:#ccccff;font-weight:bold;,background-color:"#eeeeff";font-weight:normal;,background-color:#eeffff;font-weight:normal;
autoNumberSorttrue
autoNumbertrue
enableSortingfalse
Description
Owner
Notes

Welcome, introductions and apologies

 
Agenda reviewReview agenda for today's meeting
Compositional Grammar
  • Document migration to http://snomed.org/scg
  • Feedback
    • numericValue = decimalValue / integerValue
      integerValue = (["-"/"+"] digitNonZero *digit ) / zero 
      decimalValue = integerValue "." 1*digit
    • How to represent -0.5
  • Solution A (which allows "+0" and "-0.00")
    • numericValue = ["-"/"+"] (decimalValue / integerValue)
      integerValue = (digitNonZero *digit ) / zero
      decimalValue = integerValue "." 1*digit

  • Solution B (which does not allow "+0" and "-0.00"

    • numericValue = decimalValue / integerValue
      integerValue = (["-"/"+"] digitNonZero *digit ) / zero
      decimalValue = (integerValue "." 1*digit) / (("-"/"+") zero "." *zero digitNonZero *digit)

  • Outcome - The group decided to go with Solution A
  • Requires parser update (http://apg.ihtsdotools.org) and github update (parser)
Expression Constraint Language v1.1
URI Standard

URIs for SNOMED syntaxes

URIs for SNOMED syntax instances

URIs for SNOMED syntax instances - with versioning

Special Characters (not for ".", "-", "_", "~")
    • Hexidecimal
      • " " → %20
        “!” -→
        %21
        “"” → %22
        “#” → %23
        "$" → %24
        "%" → %25
        "&" → %26
        “’” → %27
        "(" → %28
        ")" → %29
        "*" → %2A
        "+" → %2B
        "," → %2C 
        "/" → %2F
        ":" → %3A
        ";" → %3B
        "<" → %3C
        "=" → %3D
        ">" → %3E
        "?" → %3F
        "@" → %40
        "[" → %5B
        "\" → %5C
        "]" → %5D
        "^" → %5E
        “`” → %60 
        "{" → %7B
        "|" → %7C
        "}" → %7D
Upgrade "SNOMED URI Standard" to "SNOMED IRI Standard"?
Template Syntax

Remove slots and replace slots

    • Remove slot: [[ 1..1 ]], [[ 1..1 @slotName ]]
    • Replace slot: [[ +id (<< 138875005 |SNOMED CT concept|) ]], [[ +id ]], [[ + ]], [[ +id(<<138875005 |SNOMED CT concept) @slotName $valueReference ]]
    • Example: CT of X
      71388002 |Procedure[[1..1 @roleGroup1]]
      260686004 |Method312251004 |Computed tomography imaging action|,
        405813007 |Procedure site - Direct| = [[+id (<<442083009 |Anatomical or acquired body structure|)] @site] }

Replace slots - Type of replacement

    • Replace with precoordinated expression (ie concept): [[ +id ]] ?? [[ +cpt ]] ??
    • Replace with any expression: [[ +id ]]
    • Replace with an expression constraint: [[ +ecl ]]
    • Replace with a character string: [[ +str ]]
      • Use cases include replacing comparison operators "=" and "!="
    • Example 1: MRCM domainTemplateForPrecoordination (Finding with explicit context)
      • [[+id(<< 243796009 |Situation with explicit context (situation)|: [0..0] 408730004 |Procedure context| = *, [0..0] 363589002 |Associated procedure| = *)]]:
        [[0..*]] { [[1..*]] 408729009 |Finding context| = [[+id(<< 410514004 |Finding context value (qualifier value)|)]],
        [[1..*]] 408731000 |Temporal context| = [[+id(<< 410510008 |Temporal context value (qualifier value)|)]],
        [[0..*]] 246090004 |Associated finding| = [[+id(<< 404684003 |Clinical finding (finding)| OR << 272379006 |Event (event)|)]],
        [[0..*]] 408729009 |Finding context| = [[+id(<< 410514004 |Finding context value (qualifier value)|)]],
        [[0..*]] 408732007 |Subject relationship context| = [[+id(<< 125676002 |Person (person)|)]],
        [[0..*]] 408731000 |Temporal context| = [[+id(<< 410510008 |Temporal context value (qualifier value)|)]] }
    • Example 2: MRCM domainTemplateForPostcoordination (Finding with explicit context)
      • [[+id(<< 243796009 |Situation with explicit context (situation)|: [0..0] 408730004 |Procedure context| = *, [0..0] 363589002 |Associated procedure| = *)]]:
        [[0..*]] { [[1..*]] 408729009 |Finding context| = [[+id(<< 410514004 |Finding context value (qualifier value)|)]],
        [[1..*]] 408731000 |Temporal context| = [[+scg(<< 410510008 |Temporal context value (qualifier value)|)]],
        [[0..*]] 246090004 |Associated finding| = [[+scg(<< 404684003 |Clinical finding (findi
        ng)| OR << 272379006 |Event (event)| OR << 363787002 |Observable entity (observable entity)|
        OR << 416698001 |Link assertion (link assertion)| OR << 71388002 |Procedure (procedure)|
        )]],
        [[0..*]] 408729009 |Finding context| = [[+scg(<< 410514004 |Finding context value (qualifier value)|)]],
        [[0..*]] 408732007 |Subject relationship context| = [[+scg(<< 125676002 |Person (person)|)]],
        [[0..*]] 408731000 |Temporal context| = [[+scg(<< 410510008 |Temporal context value (qualifier value)|)]] }

Cardinality

    • Cardinality of relationship group
      • Pattern: [[ 1..* ]] { .. }
      • Default operator between repeats: "," / "AND"
      • Example: CT of X
        71388002 |Procedure[[1..1 ]]
        260686004 |Method312251004 |Computed tomography imaging action|,
          405813007 |Procedure site - Direct| = [[+id (<<442083009 |Anatomical or acquired body structure|)] @site] }
    • Cardinality of attribute value pair
      • Pattern: [[ 1..* ]] 123345 |Attribute| = 234456 |Value|
      • Default operator between repeats: "," / "AND"
      • Example: CT of X
        71388002 |Procedure:
        260686004 |Method312251004 |Computed tomography imaging action|,
          [[ 1..1 ]] 405813007 |Procedure site - Direct| = [[+id (<<442083009 |Anatomical or acquired body structure|)] @site] }
    • Cardinality of focus concepts
      • Pattern: [[ +() 1..* ]]
      • Default operator between repeats: "+" / "AND"
        • How would we achieve an operator of "OR" in an Expression Constraint? - e.g. [[+ecl 1..* ]] → A OR B OR C
      • Example: 
         [[+id(<< 404684003 |Clinical finding|) 1..* ]]
       
    • Other types of cardinalities?
Other Topics raised by Ed
    • The fact that a template processor would need to 'clean-up' any left over characters, such as ":". I suggest that we try to document the steps that a template processor should follow to turn a template into an expression, constraint etc.
Confirm next meeting date/timeNext meeting to be held at 20:00 UTC on Wednesday 7th December

Meeting Files

Attachments