A PROforma tutorial - PowerPoint PPT Presentation

1 / 93
About This Presentation
Title:

A PROforma tutorial

Description:

Drug prescribing. Diagnosis. Drugs. Cost, contra-indications, side-effects, interactions... Parser and type-checker built into composer, publisher and ... – PowerPoint PPT presentation

Number of Views:212
Avg rating:3.0/5.0
Slides: 94
Provided by: fox61
Category:

less

Transcript and Presenter's Notes

Title: A PROforma tutorial


1
A PROforma tutorial
  • Basic concepts of the PROforma language and the
    Tallis guideline authoring environment

2
Workshop programme
  • 10.00 Introduction to PROforma
  • 10.30 The Tallis toolset basics (practical 1)
  • 11.15 Coffee
  • 11.30 Idioms and patterns (practical 2)
  • 13.00 Lunch
  • 14.00 Technology talks (Ali, David)
  • 14.30 Advanced design (practical 3)
  • 16.00 Customising publets (Rory)
  • 16.15 Discussions (John, Richard)
  • 17.00 Close

3
PROforma concepts and language
  • The first notation designed for describing
    clinical processes
  • Based on intuitive concepts
  • Declarative and executable (enactable)
  • We think (MIE 1996)

4
Related approaches to guidelines
  • ASBRU (U Vienna, U Negev)
  • EON (Stanford)
  • GLIF (Intermed consortium)
  • GUIDE (Pavia)
  • Prodigy (Sowerby Centre)

5
A clinical process model
Accept/commit
Adopt/commit
6
PROforma as a logic language
Das et al (JETAI, 1997)
7
R2L syntax (1) Das et al, Agents 96 JETAI 1997
  • decision cancer_treatment
  • situation
  • cancer
  • goal
  • treatment_decided
  • candidates
  • chemotherapy
  • surgery
  • arguments
  • elderly gt support(chemotherapy, '')
  • young gt support(surgery, '')
  • commits
  • netsupport(X, M) netsupport(Y, N)
    greater(M, N)
  • gt schedule(X).

8
R2L syntax (2) Das et al, Agents 96 JETAI 1997
  • plan chemotherapy
  • pre_conditions
  • cancer
  • subtasks
  • baseline
  • chemo
  • followup
  • scheduling_constraints
  • first(baseline)
  • after(baseline, chemo)
  • after(chemo, day(6), followup)
  • abort_conditions
  • patient_deteriorates
  • gt abort(chemotherapy) schedule(intensive_ca
    re)

9
An object interpretation Proc. MIE 1996
Fox and Das, 2000
10
PROforma task classes
Generic task
Enquiry
Decision
Plan
Action
11
Arezzo guideline authoring tool (ICRF, InferMed)
12
PROforma syntax (1)
  • decision Referral_decision
  • caption 'Referral decision'
  • choice_mode single
  • support_mode symbolic
  • candidate Two_week_referral
  • argument for, ( tissue_changes includes
    'Discrete lump' and age gt 30 )
  • argument for, ( skin_changes includes
    Ulceration )
  • argument for, ( skin_changes includes
    Nodule )
  • argument for, ( skin_changes includes
    Distortion )
  • argument for, ( nipple_changes includes
    Eczema )
  • argument for, ( nipple_changes includes
    'Retraction_or_distortion' )
  • recommendation Netsupport(
    Referral_decision, Two_week_referral ) gt 1
  • candidate No_referral
  • recommendation Netsupport(
    Referral_decision, Two_week_referral ) lt 1
  • end decision .

13
PROforma syntax (2)
  • plan Breast
  • caption 'Breast'
  • component Clinical_information
  • component Referral_decision
  • schedule_constraint completed(Clinical_in
    formation)
  • component No_two_week_referral
  • schedule_constraint completed(Referral_de
    cision)
  • component Two_week_referral
  • schedule_constraint completed(Referral_de
    cision)
  • abort alarm confirmed
  • terminate consent refused
  • end plan .

14
Some applications of Arezzo
  • Retrogram
  • for Hoffman la Roche
  • MACRO clinical trials manager
  • Roche, Pfizer, Millennium, Novo Nordisk,
    Fraunhofer Institute, Eur Soc. Cardiology
  • ERA cancer referrals
  • NHS Information authority
  • Clinical Evidence
  • BMJ

15
The agent interpretation
Ask
Tell
Das et al (JETAI, 1997) Fox (ECAI 2002)
16
Supporting clinical practice and the NHS cancer
plan
  • Improving prevention
  • Cutting waiting times
  • Better detection
  • Improving treatment
  • Better palliative care
  • Empowering the patient
  • Preparing for the genetics revolution

17
IMPROVING PREVENTIONRisk Assessment in Genetics
Andrew Coulson, Jon Emery, David Glasspool BMJ
2000, BMJ 2001, Meth. Inf. Med. 2001.
18
Risk assessment in genetics
Worried patient
Assess risk
Recommend (accept)
Risk levels
Genetics, epidemiology other knowledge
19
CUTTING WAITING TIMESHelping GPs make
referralswww.infermed.com/wap/era Jon Bury,
Michael Humber, NHS pilot project (Leicester,
Southampton, InferMed)
20
Making referral decisions
Possible cancer
Decide what to do
Refer or not?
NHS referral criteria
Recommend (adopt)
21
IMPROVING TREATMENT (1) Drug prescribing
Robert Walton Claude Gierl BMJ 1997
22
Drug prescribing
Treat condition
Diagnosis
Cost, contra-indications, side-effects,
interactions
Recommend (prescribe)
Drugs
23
IMPROVING TREATMENT (2) Leukaemia in children
Jon Bury, Chris Hurt Vaskar Saha CRUK Oracle
Group
24
IMPROVING TREATMENT (3) Management of HIV
patients
InferMed Virology Networks Hoffman la
Roche Retrogram AIDS 2002
25
IMPROVING TREATMENT (4)70 of those who suffer
pain do so unnecessarily roughly 3 million
people in the UK aloneInferMed Ltd.
26
BETTER DETECTIONAutomated image interpretation
Paul Taylor, Margarita SordoMedical Imaging,
2001
27
EMPOWERING THE PATIENT
  • Patients want support in making their own
    choices about timing, to consider options for
    treatment and they want the arrangements to be
    personalised around their own circumstances and
    particular clinical needs

28
CREDO PUTTING IT ALL TOGETHER
29
Break
  • Next Tallis basics

30
Workshop programme
  • 10.00 Introduction to PROforma
  • 10.30 The Tallis toolset basics (practical 1)
  • 11.15 Coffee
  • 11.30 Idioms and patterns (practical 2)
  • 13.00 Lunch
  • 14.00 Technology talks (Ali, David)
  • 14.30 Advanced design (practical 3)
  • 16.00 Customising publets (Rory)
  • 16.15 Discussions (John, Richard)
  • 17.00 Close

31
Adding value publets
  • Tallis is distinct from Arezzo because of
    emphasis on web publishing and adding value to
    conventional electronic media and content.
  • A publet is a chunk of formalised expertise
    designed to support problem solving, decision
    making and process management in specialised
    domains.
  • Needs to combine traditional publishing and
    software engineering disciplines

32
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)
33
Task drawing area
Task summary window
Task properties
34
(No Transcript)
35
(No Transcript)
36
(No Transcript)
37
(No Transcript)
38
(No Transcript)
39
(No Transcript)
40
(No Transcript)
41
(No Transcript)
42
(No Transcript)
43
(No Transcript)
44
Task enactment (Tallis)
In progress
Completed
Discarded
Dormant
45
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Task_set_1.pf
46
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Task_sequence_1.pf
47
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

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

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

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

52
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

53
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

54
Break
  • Next
  • common patterns and idioms

55
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.

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

57
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
58
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
59
Parallel streams
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_1_JF_Task_parallelism_2.pf
60
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
61
Any task can have a synchronisation role
62
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

63
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

64
Triggering processes
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,Tutorial_5_JF_Triggers_1.pf
65
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
66
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
67
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

68
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)

69
Comparison
  • PRODIGY
  • EON
  • GLIF
  • ASBRU
  • GUIDE
  • PROforma

70
Lunch
  • Next Technology talks
  • Then advanced design methods

71
Technology
  • System architecture (Ali Rahmanzadeh)
  • Enactment engine (David Sutton)

72
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
73
Design methods
Agents
Campus
Prefabs
Services
Stepping stones
Processes
Patterns
Doors and windows
Tasks
Pathways
Rules/Data
Foundations
74
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  
75
Foundations (rules)
  • Differential diagnosis
  • of dyspepsia
  • Example based on work by
  • De Dombal (1970s)

76
Tasks pathway
77
Patterns doors and windows
78
Processes stepping stones
79
Prefabricated services prefabs
80
Campus societies of agents
  • Autonomous tasks (invisible)
  • Clinical trial agent
  • Database manager
  • Clinical audit and black box
  • Hazard agent
  • Patient consent
  • System initiated services

81
Quick UIs Text and HTML
SIGN
http//localhost8080/tallis/jumpstart.htm?correct
ed_publets,HTML_for_UIs_JF_V1.0.pf
82
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

83
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

84
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

85
Customising web pagesRory Steele
86
BreakNext Collaboratory discussion
  • Future developments and options (JF)
  • Management of the collaboratory (Richard)

87
Future developments
  • Time and temporal reasoning
  • First-order logic
  • Ontologies and terminologies
  • Database interface (e.g. EPRs)
  • Suspend/resume functions
  • Arithmetic and other functions
  • Extensibility (functions, predicates, classes)
  • Goals and plan repair

88
Future developments
  • Task sub-classing
  • HTML and XML editors
  • JSP implementation
  • Better explanations
  • Design wizards
  • Prefab packaging (components)
  • Campus (agent) communication/negotiation

89
Time (Arezzo)
  • The time model (events and timestamping)
  • Temporal predicates in conditions
  • Temporal information in cycles
  • Using actions to pause
  • Suspend/resume (state and individual tasks)
  • Priorities ??

90
Arithmetic functions
  • Current functions
  • Sets of data values
  • Average value
  • Value sum
  • Future priorities ??
  • (DS)

91
Meta-language
  • Control states (pending, in-progress, done,
    discarded)
  • Agent modalities (believed, known, desired,
    intended)
  • Decision modalities
  • Epistemic (possible, probable, certain, excluded)
  • Deontic (permitted, recommended, committed)
  • Aleatory (preferred, safe)
  • Negation (affixal, lexical)

92
Final discussion
  • Collaboratory procedures

93
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

94
Collaboratory
  • Your files and directories on the server
  • Local testing
  • Publishing and nominating reviewers
  • Reviews
  • Source
  • Test cases
  • Reviews
  • Open commentary
  • Source downloads for customisation

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

96
What are we asking of you?
  • Build applications
  • Try out ideas and techniques
  • Publish applications you like
  • Submit to OpenClinical
  • Notify RT
  • Share your experience!
  • Review and comment on others submissions
  • Reflect and write up your reflections
  • Comment on draft papers and reports

97
Some issues
  • 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?
Write a Comment
User Comments (0)
About PowerShow.com