| | |
---|
Welcome, introductions and apologies | @Former user (Deleted) | |
Agenda review | @Former user (Deleted) | Review agenda for today's meeting |
Compositional Grammar | @Former user (Deleted) | Document migration to http://snomed.org/scg Feedback Solution A (which allows "+0" and "-0.00") Solution B (which does not allow "+0" and "-0.00" 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 | @Former user (Deleted) | |
URI Standard | @Former user (Deleted) | URIs for SNOMED syntaxes SCG - SNOMED Compositional Grammar (with version option) ECL - Expression Constraint Language (with version option) QRL - SNOMED Query Language (with version option) STS - SNOMED Template Syntax (with version option) ETL - Expression Template Language (with version option) CTL - Expression Constraint Template Language (with version option) QTL - Query Template Language (with version option)
|
URIs for SNOMED syntax instances
ID - Expression (either precoordinated or postcoordinated)
ECL - Expression Constraint QRL - Query ETL - Expression Template CTL - Expression Constraint Template QTL - Query Template
|
URIs for SNOMED syntax instances - with versioning SNOMED syntax instance using versioned edition
SNOMED syntax instance using syntax version SNOMED syntax instance using versioned edition and syntax version
|
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 | @Former user (Deleted) | 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 |Method| = 312251004 |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 ]] 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 (finding)| 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 |Method| = 312251004 |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 |Method| = 312251004 |Computed tomography imaging action|, [[ 1..1 ]] 405813007 |Procedure site - Direct| = [[+id (<<442083009 |Anatomical or acquired body structure|)] @site] }
Cardinality of focus concepts 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/time | @Former user (Deleted) | Next meeting to be held at 20:00 UTC on Wednesday 7th December |