2016-07-20 - SLPG Meeting
Date & Time
20:00 UTC Wednesday 20th July 2016
GoToMeeting Details
Goals
Finalize the syntax for cardinality of relationship groups in Expression Templates
Discuss other template requirements that need to be considered
Attendees
Chair: @Former user (Deleted)
Project Group: @Ed Cheetham, @Alejandro Lopez Osornio, @michael lawley, @Rob Hausam, @Brian Carlsen
Apologies
@Daniel Karlsson
Agenda and Meeting Notes
Description | Owner | Notes |
|---|---|---|
Welcome, introductions and apologies | @Former user (Deleted) |
|
Agenda review | @Former user (Deleted) | Review agenda for today's meeting |
Finalize syntax for cardinality | @Former user (Deleted) | What syntax should we use to define cardinality constraints?
|
Template syntax requirements | @Former user (Deleted) | Are there any other template requirements that we haven't yet considered (e.g. additional concept authoring requirements)?
|
Finalize draft template syntax | @Former user (Deleted) |
|
Confirm next meeting date/time | @Former user (Deleted) | Next meeting to be held in 4 weeks on Wednesday 17th August |
Thanks.
Three things from me...
(1) I've lost track (again) of the difference between an 'expression template' and an 'expression constraint template'. I dug out the 20151214 powerpoint slides which rather bundles 'expression constraint template' with 'conditional value set binding', but I'd appreciate a few more examples of which is which and when they are needed.
(2) regarding the role group cardinality question, probably been discussed already, but is there a good reason why the whole role group clause can't be treated as a slot in its own right?:
[[ @Procedure ]] : [[ [1..2] @group1 { 405813007 |Procedure site - direct| = [[ [1..1] @bodySite ]], 260686004 |Method| = [[ [1..1] @method ]] } ]]
This is a bit like Daniel's #< ># scope markers - for the groups, anyway. For expression templates it could then be treated the same as the value slots in terms of "replace me, according to the rules I contain, with 'stuff' which conforms to the compositional-grammar, and then remove all trace of me (including the [[ ]] delimiters)".
(3) Are there any other template requirements? - conditional operators
(a) I appreciate that there's been a bit of back-and-forth with a 'rule language' (with recent discussions offloading much of this to the FHIR mapping syntax), but does the template syntax need a set of conditional/flow control operators (I know they are in examples but I haven't seen them for a while)?
(b) some of these might be performed at MRCM level (e.g. no RG for a single role, introduce with 2 or more roles), but one I've been wondering about would relate to the (? 'shared variable') issue of testing that a particular value appears for > 1 attribute in a particular definition/expression. The example I can think of relates to specimens and their collection procedures, where we may want to be able to say either:
"the 'specimen substance' value for a specimen should match the 'direct substance' value of its collection procedure (in this case 'urine' for MSSU):
Or "the 'specimen topography' value for a specimen should match the 'direct site' value of its collection procedure (in this case 'kidney' for a biopsy):
I'm sure there are exceptions, but it looks like something that could be managed/specified, and the template may be the layer to do it. It *may* be enough to say that the values for both should be populated from the same source field, but if not perhaps there is a need for a reciprocal check between slots. Whatever, this might also be handled by a conditional clause which says something like "IF specimen has a specimen topography AND a specimen procedure value, THEN the specimen procedure: procedure site direct=value == specimen: specimen topography=value"
Ed