A PROforma tutorial - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

A PROforma tutorial

Description:

Tools for creating and publishing ... Idioms (some common PROforma patterns) An idiom is a partially or wholly instantiated task scheme which captures some ... – PowerPoint PPT presentation

Number of Views:126
Avg rating:3.0/5.0
Slides: 59
Provided by: fox61
Category:

less

Transcript and Presenter's Notes

Title: A PROforma tutorial


1
A PROforma tutorial
  • The Tallis guideline authoring environment

2
The Tallis toolset
  • Tools for creating and publishing PROforma
    applications on the web
  • Integrates with conventional documents (text,
    HTML other media)

Thomas Tallis (1505-1585)
3
Adding value publets
  • A publet is a chunk of formalised expertise for
    problem solving, decision making and process
    management which is intended for public use.
  • Tallis is designed to support creation of publets
    based on the PROforma knowledge model, integrated
    with conventional knowledge.
  • Seeks to combine traditional publishing and
    software engineering disciplines

4
Task drawing area
Task summary window
Task properties
5
(No Transcript)
6
(No Transcript)
7
(No Transcript)
8
(No Transcript)
9
(No Transcript)
10
(No Transcript)
11
(No Transcript)
12
(No Transcript)
13
(No Transcript)
14
(No Transcript)
15
Task enactment (Tallis)
In progress
Completed
Discarded
Dormant
16
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Task_set_1.pf
17
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Task_sequence_1.pf
18
Tallis web configuration
Repository
OpenClinical publishing environment
Enactor
Publisher
Tomcat
Apache (80)
http80
http8080
Tallis composer
Tallis browser
Tomcat
Enactor
Publisher
Your local test environment
Repository
19
Exercise 1 make a publet
  • Create an action Hello world
  • Save and reload
  • Publish and enact it
  • Add another action Goodbye cruel world
  • Publish and enact it
  • Make the actions into a sequence and save
  • Publish and enact it

20
PROforma object model Properties of all tasks
21
Data definitions (Centralised)
  • Data editor ?
  • Data definitions distinct from context of use
  • Multiple data instances
  • Functions on data (first, last, average, number
    etc.)

22
Logical conditions
  • All tasks
  • Preconditions
  • Cycle until
  • Decisions
  • Arguments
  • Commitments
  • Plans
  • Termination conditions
  • Abort conditions

23
Verification tools
  • Parser and type-checker built into composer,
    publisher and engine loader

24
Exercise 2 using the verifier
  • Add a set of tasks (leave them empty)
  • Run the verifier and try to publish the
    application
  • Fix the bugs
  • Verify, return to 3 if still faulty
  • Publish the application

25
Exercise 3 a mixture of tasks
  • Create an action (Good morning)
  • Add an enquiry (Clinical information)
  • Add data definitions to enquiry (Problem?
    Severity?)
  • Verify the guideline
  • Publish and enact it
  • Add a decision with 2 candidates (treatment, no
    treatment)
  • Add arguments
  • Make this into a sequence
  • Publish it

26
Pause questions, issues
27
Idioms (some common PROforma patterns)
  • An idiom is a partially or wholly instantiated
    task scheme which captures some generic
    decision-making, workflow or other distinctive
    process which can be reused across applications.

28
Common patterns
  • Branching Into alternative processes
  • Parallelism Simultaneous streams
  • Synchronisation Merging streams
  • Triggering Asynchronous selection of
    tasks
  • Terminate abort Interrupting plans

29
Branch by enquiry
/ PROforma (plain text) version 1.3.25 / plan
'untitled' caption "untitled"
component 'Enquiry_1'
number_of_cycles 1 component
'Action_1' schedule_constraint
completed('Enquiry_1')
number_of_cycles 1 component
'Action_2' schedule_constraint
completed('Enquiry_1')
number_of_cycles 1 end plan. enquiry
'Enquiry_1' caption "Enquiry_1"
description "Select whether you want to do
action 1 or 2 or both" source
'which_action' end enquiry.
action 'Action_1' caption
"Action_1" precondition which_action
one OR which_action both procedure
"Action 1 selected" end action. action
'Action_2' caption "Action_2"
precondition which_action two OR
which_action both procedure "Action 2
needed" end action. data 'which_action'
type text caption "Which action
should I do?" range "one","two","neither",
"both" end data.
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Task_branching_1.pf
30
Branch by decision
plan 'untitled' end plan. decision
'Decision_1' caption "Decision_1"
source 'age' source 'gender'
choice_mode multiple candidate
'Action2' caption "Action 2 has
been chosen" argument for,age lt
20 OR age gt 50 argument
for,gender male recommendation
netsupport(Decision_1, Action2) gt 1
candidate 'Action1' caption
"Action 1 has been chosen" argument
for,age gt 50 and gender male
argument for,age gt 20 AND gender female
recommendation netsupport(Decision_1,
Action1) gt 1 end decision.
action 'Action_1' caption
"Action_1" precondition result_set(
Decision_1 ) includes Action1 procedure
"Action 1 selected" context '' end
action. action 'Action_2' caption
"Action_2" precondition result_set(
Decision_1 ) includes Action2 procedure
"Action 2 needed" end action.
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Task_branching_2.pf
31
Parallel streams
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Task_parallelism_2.pf
32
Synchronisation of processes
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Synchronisation_1.pf
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,tutorial06_synchronisation_2_Known_V1.0
.pf
33
Any task can have a synchronisation role
34
Exercise (4)
  • Write an application to demonstrate the following
    features
  • A data collection task followed by a two stream
    process
  • One collects more data
  • One takes a decision or an action
  • Merge (resynchronise) the two streams in a
    follow-up task

35
Exercise (5)
  • Either
  • Reconstruct a version of the cancer guideline
    in the primer
  • OR
  • Build a SOAP guideline from scratch
  • Subjective data, Objective data,
  • Assessment decision, Plan management

36
Triggering processes
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_5_JF_Triggers_1.pf
37
Parallel triggers
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_5_JF_Triggers_2.pf
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_5_JF_Triggers_3.pf
38
Terminate and abort processes


http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,tutorial08_term_abort_1_Known_V1.0.pf
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,tutorial08_term_abort_2_Known_V1.0.pf
39
Exercise (6)
  • Create an application that contains two
    services that can be independently invoked
  • Collect patient data and take one of a number of
    actions
  • Collect patient data and take a decision
  • Dont forget to include a holding task (e.g. an
    action) for initiating the services

40
An agent view of control
  • Deliberative (Synchronous)
  • Scheduled sequences of tasks
  • Programming cycling
  • Reactive (asynchronous)
  • Triggers
  • Preconditions
  • Termination conditions
  • Abort conditions
  • Goals (Arezzo but not yet Tallis)
  • Autonomous behaviour

41
Pause questions, issues
42
Design methods
Agents
Campus
Prefabs
Services
Stepping stones
Processes
Patterns
Doors and windows
Tasks
Pathways
Rules/Data
Foundations
43
Foundations (data)
Patient forename PATSFNAM  Patient surname
PATSNAME  Patient address PATADD1 - 4 Date of
birth DOB DD/MM/CCYY Hospital of referral
HOSP Referring GP GP Date of referral REF
DATE Unit number UNITNUM Menopausal status
MSTATUS 1Pre 2Peri 3Post 9Not
recorded Side SIDE 1Left 2Right 3Bilateral
4Not recorded Tumour T According to TNM
Clinical Stage Nodal N According to TNM
Clinical Stage Metastases M According to TNM
Clinical Stage Date of definitive diagnosis
DIAGDATE DD/MM/CCYY Type of tumour TUMOUR
1Invasive 2DCIS 3Other non-invasive 9Not
recorded Dist from excision margins DISTEX
1lt1mm 21-5mm 3gt5mm 9Not known Maximum
pathological diameter MAXPATH Tumour grade
TGRADE 1I 2II 3III 4Not assessable 9Not
recorded No.. of lymph nodes examined
EXNODES No. of lymph nodes involved I NVNODES  
44
Foundations (rules)
  • Differential diagnosis
  • of dyspepsia
  • Example based on work by
  • De Dombal (1970s)

45
Tasks pathway
46
Patterns doors and windows
47
Processes stepping stones
48
Prefabricated services prefabs
49
Campus societies of agents
  • Service agents
  • Care pathway agents
  • Specialised clinical views
  • Clinical trial agent
  • Patient services
  • Autonomous agents
  • Clinical audit and black box
  • Hazard monitor

50
Quick UIs Text and HTML
SIGN
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,HTML_for_UIs_JF_V1.0.pf
51
Quick UIs Text and HTML
  • HTML in description fields
  • Formatting
  • Triggers and links
  • Description fields in the Tallis composer
  • Task descriptions
  • Actions (future context model)
  • Decisions
  • Candidates
  • Arguments
  • Decision rules
  • Enquiries

52
Exercise 7
  • Create a simple facade
  • Create an action (to be the facade)
  • Copy a chunk of text into the action
  • Add formatting HTML, to taste

53
Exercise 7 (continued)
  • Create a set of keystones (to become services)
  • Add a trigger to each one
  • Edit the facade text to include the trigger
    phrases
  • Use the trigger insert function to create links
  • Test the application
  • Convert the keystones into services by converting
    them into tasks and populating them as you like.
  • Test the application

54
Future of Tallis
  • A stronger logic, object and agent model
  • Simpler UI configuration, multi-modal
  • Integration with a multimedia authoring
    environment which recognises and links a range of
    knowledge types and media
  • Support for editorial functions
  • Support for other knowledge formats (Dharma?)

55
Final discussion
  • The OpenClinical collaboratory

56
Editorial processes
  • Commissioned and unsolicited content
  • Quality control
  • Software verification
  • Peer review
  • Open commentary
  • Review and maintenance
  • Responsive mode
  • Planned maintenance
  • Data collection and data mining

57
Some questions
  • What is a practical methodology for creating and
    disseminating high quality applications?
  • What areas are most amenable to this methodology?
  • How can we best empower authors, clinical users
    and potentially patients?
  • Can we make the method open source?
  • What are the limitations of this form of
    knowledge dissemination?

58
What are we offering?
  • Tallis software tools
  • Publishing server
  • Personal filespace on server
  • Reviewing within the collaboratory
  • Sharing experience
  • Public web site via OpenClinical
  • Publishing results

59
What are we hoping for?
  • Participants build applications
  • Try out ideas and techniques
  • Publish applications you like on OpenClinical
  • Discuss comments and suggestions with members
  • Share experience!
  • Review and comment on others submissions
  • Reflect on and write up your observations
  • Contribute to papers and reports (c.f. Peleg
    comparison study!)
Write a Comment
User Comments (0)
About PowerShow.com