springsim 2016 data driven healthcare tutorial

64
Brunel University London Data Driven Healthcare Tutorial David Bell Contributors: Armin Kashefi Chidozie Mgbemena Nurul Saleh Tommaso Turchi Terry Young Department of Computer Science SpringSim 2016

Upload: david-bell

Post on 15-Apr-2017

79 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Springsim 2016 data driven healthcare tutorial

Brunel University London

Data Driven Healthcare Tutorial

David Bell

Contributors:Armin Kashefi

Chidozie Mgbemena Nurul Saleh

Tommaso TurchiTerry Young

Department of Computer Science SpringSim 2016

Page 2: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 2

Introduction• Dr David Bell• Brunel University London

Google Map

Page 3: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 3

Interests

Page 4: Springsim 2016 data driven healthcare tutorial

Brunel University London

Agenda

1. Context2. Evidence Capture (Tea-PoCT) 3. Agent Based Simulation (Tea-SIM)

Page 5: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 5

Background

• UK EPSRC funded MATCH project• Innovate UK funded Tea-PoCT project• Cumberland Initiative

Page 6: Springsim 2016 data driven healthcare tutorial

Brunel University London

Data

http://www.incrowdnow.com

Health Episode Statistics (HES)Clinical Trials

Page 7: Springsim 2016 data driven healthcare tutorial

Brunel University London

Typical Data Usage

Page 8: Springsim 2016 data driven healthcare tutorial

Brunel University London

Typical Simulation

Page 9: Springsim 2016 data driven healthcare tutorial

Brunel University London

Project Drivers

• Data-driven modelling (data versus expert)• Data-reuse• Heterogeneous data support• Data-driven model building• Usability – Human-Data Interaction (HDI)

Page 10: Springsim 2016 data driven healthcare tutorial

Brunel University London

Making Sense of Data

•A bag of approaches

Guardian.com

Page 11: Springsim 2016 data driven healthcare tutorial

Brunel University London

Data Types• Unstructured: Social Media• Structured: Health Databases• Static: Trials & Evidence• Dynamic: Model Outputs

Page 12: Springsim 2016 data driven healthcare tutorial

Brunel University London

Nvivo – Text Analysis

Qsrinternational.com

Page 13: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 13

Existing Models: Nice Pathway for TB

National Institute for Health and Care ExcellenceNice.org.uk

Page 14: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 14

ONS Data

Office for National Statisticshttps://www.ons.gov.uk/

Page 15: Springsim 2016 data driven healthcare tutorial

Brunel University London

R Clustering - Personas

Digital Personhood

Page 16: Springsim 2016 data driven healthcare tutorial

Brunel University London

Decision Trees

Page 17: Springsim 2016 data driven healthcare tutorial

Brunel University London

Applying techniques

• Economic Modelling• Agent Modelling

Page 18: Springsim 2016 data driven healthcare tutorial

Brunel University London

TEA-POCT• Evidence Capture Tutorial

Page 19: Springsim 2016 data driven healthcare tutorial

Brunel University London

About Tea-PoCT• Tea-PoCT aims at providing diagnostics developers and manufacturers with a

simple tool for early economic evaluation with the supporting data. The package will involve three elements:

An on-line version of a MATCH Headroom Method, customised for Point of Care.

An library of data, with a Wiki portal for suppliers to add evidence. A set of open interface standards for apps and data extraction (the Wiki is

free-format input). Embedded economic modelling and scenario analysis

Page 20: Springsim 2016 data driven healthcare tutorial

Brunel University London

About Tea-PoCT project disease areas• Clinical areas

I. Tuberculosis (TB)II. SepsisIII. Antimicrobial resistance (Hospital acquired infection, community acquired pneumonia and

antibiotic prescribing in primary care)IV. Chlamydia and Gonorrhoea

Page 21: Springsim 2016 data driven healthcare tutorial

Brunel University London

About Tea-PoCT• Early economic evaluation:

The Headroom Method

It is used to assess the cost-effectiveness of a new technology in comparison to some existing gold standard technology, by defining a maximum cost (the headroom) that the adopter of the technology would be willing to incur.

Page 22: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 22

Existing Models: Nice Pathway for TB

National Institute for Health and Care ExcellenceNice.org.uk

Page 23: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• At the design stage, it allows analysis from the supply side,

unlike the typical cost-effectiveness analysis, which is usually conducted from the demand side, i.e. after the product has been developed (McAteer & Lilford, 2012).

• Suitable for the healthcare sector, given the increasing scarcity of resources and the need to show value-for-money (McAteer & Lilford, 2012).

Page 24: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• The headroom of the new technology is a practical implementation of the Incremental Cost-

Effectiveness Ratio (ICER), i.e. the extra cost per unit of benefit that the new technology offers

ECICER

Page 25: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• Measure of effectiveness: Quality Adjusted Life Year (QALY)

QALY = Health Utility x Life Duration

Health utility = A measure of quality between 0 (death) and 1 (perfect health) according to each specific condition

Life duration = A measure of quantity of health, measured in years of life

Page 26: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• The ICER formula can be revised to

• The ICER can further be replaced by the maximum amount that the healthcare provider is willing to spend for every unit of benefit, i.e. the willingness-to-pay threshold (WTP), typically between £20k-£30k per QALY

ICERQALYCQALYCICER

Page 27: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• Therefore, the headroom formula (maximum added cost)

QALYWTPC

QALYWTPC maxmax

Page 28: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• From the developer’s point of view, it is more interesting to know the maximum price that the

healthcare provider will pay, instead of the maximum added cost.

• The added cost of the headroom consists of the change in the service cost and the difference in the prices between the new technology and the gold standard

12 PPSCPSCC

Page 29: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• By substitution to the headroom formula we get the maximum reimbursable price (MRP)

SCPQALYWTPPMRP 12

Page 30: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• On the cost-effectiveness plane

SC2, QALY2

SC1 ,P1 ,QALY1

∆ Cost :

∆ QALY

Healthcare service costs: SCPrice of device: P

Page 31: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• On the cost-effectiveness plane (Chapman 2013)

Maximum WTP for extra health generated: ∆QALY x £20,000

Maximum WTP for reduced service costs (∆SC) and disinvesting in old device / procedure (P1)

WTP per QALY: £20,000

∆ Cost :

∆ QALY

Healthcare service costs: SCPrice of device: P

∆QALY

∆Cost

Page 32: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• On the cost-effectiveness plane

WTP per QALY: £20,000

∆ Cost :

∆ QALY

Healthcare service costs: SCPrice of device: P

∆QALY

∆Cost

MRP

Page 33: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• On the cost-effectiveness plane

WTP per QALY: £20,000

∆ Cost :

∆ QALY

Healthcare service costs: SCPrice of device: P

∆QALY∆CostMRP

Page 34: Springsim 2016 data driven healthcare tutorial

Brunel University London

The headroom method in healthcare• On the cost-effectiveness plane

WTP per QALY: £20,000

∆ Cost :

∆ QALY

Healthcare service costs: SCPrice of device: P

∆Cost MRP

Page 35: Springsim 2016 data driven healthcare tutorial

Brunel University London

The Tea-PoCT novelties• Improved data organisation and extraction

• Data annotation: metadata (e.g. a comment, explanation, presentational markup) attached to text, image, or other data. Annotated text often visually distinguishable from the rest of the text. Annotations can be used to highlight or add information about the desired visual presentation; or add machine-readable semantic information (Semantic Web)

• Wikis and PICTAGs offer a novel way by which we can capture/collate versioned “Headroom” data and take this data offline for analysis (extraction).

Page 36: Springsim 2016 data driven healthcare tutorial

Brunel University London

Tea-PoCT architecture

Page 37: Springsim 2016 data driven healthcare tutorial

Brunel University London

Extended MediaWiki (www.tea-poct.com)

Page 38: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 38

PicTags• Name | value | basic type | ontological type or supertype• e.g. #pictag:NumDeathsPerYear.jpg|37000|number | uri

Page 39: Springsim 2016 data driven healthcare tutorial

Brunel University London

Extracted or Embedded Economics

WikiHierarchy of named pages*Annotation is using PICTAGS

Public data

PICTAGrendering

PICTAGextractor

Ontology(Device and medical

taxonomy *)

Page 40: Springsim 2016 data driven healthcare tutorial

Brunel University London

Tea-PoCT Data

Page 41: Springsim 2016 data driven healthcare tutorial

Brunel University London

Data Extraction

Page 42: Springsim 2016 data driven healthcare tutorial

Brunel University London

Embedded economics

…..

Page 43: Springsim 2016 data driven healthcare tutorial

Brunel University London

Tea-PoCThttp://www.tea-poct.com- View data for Sepsis- Edit evidence- View embedded economic models

Page 44: Springsim 2016 data driven healthcare tutorial

Brunel University London

TEA-SIM• ABS Tutorial

Page 45: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 45

Data Annotation• Knowledge Gathering

Page 46: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 46

PicTags• Name | value | basic type | ontological type or supertype• e.g. #pictag:NumDeathsPerYear.jpg|37000|number | uri

Page 47: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 47

Data Structures• Property-Value• Table

TableData

Columns describing data

TableData

Columns prop & value

Page 48: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 48

Agent Platform Choices• Visual model – Easy to use• Code based model – harder to use but flexible

Netlogo Repast

Page 49: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 49

Relational modelling of Agents

Agent Super type

ArN

Agent TypeRow

Table

PHP Extractor

Columns define ID and agent properties (with values for each agent type)

x N

ArxAr2Ar1

Page 50: Springsim 2016 data driven healthcare tutorial

Brunel University London

Agent-Based Simulation

A modeling technique for simulating the interactions between autonomous agents, assessing their effects on the system as a

whole

Page 51: Springsim 2016 data driven healthcare tutorial

Brunel University London

Modeling Agents• Define the behaviour of each class of agents inside step.php• The stepper function step() describes how each agent of a specific

type progresses from an iteration to another

class people_male extends Agent {function step($step) {

// Males’ behaviour}

}

Page 52: Springsim 2016 data driven healthcare tutorial

Brunel University London

Agents’ Variables• $this->_supertype – Agent’s supertype (e.g. people)• $this->_type – Agent’s type id (e.g. 1 - male)• $this->_id – Specific agent’s instance id• $this->_img - Image path used on the grid GUI• $step – Step # in the current simulation

Page 53: Springsim 2016 data driven healthcare tutorial

Brunel University London

Agents’ Functions• getPosition() – Returns the agent’s grid coordinates• move($distance) – Randomly moves by $distance positions• morph($type) – Change the agent’s type to $type, copying its

default attributes’ values

Page 54: Springsim 2016 data driven healthcare tutorial

Brunel University London

Neighbours’ Queries• anyNeighbour($distance [, $type [, $select [, $update]]]) – Queries if any

neighbour matches the conditions• anyNeighbour($distance) – Checks for empty positions at

distance $distance• anyNeighbour($distance, $type) – Checks for agents of type

$type at distance $distance• anyNeighbour($distance, $type, array($attribute,

$value)) – Checks for agents of type $type at distance $distance with $attribute = $value (multiple attributes and values can be specified, all need to be true)

• anyNeighbour($distance, $type, array($attribute, $value), array($uattribute, $uvalue)) – Same as before, but performs an update on $uattribute of the matched agents to $uvalue (multiple updates can be specified)

• allNeighbours($distance [, $type [, $select [, $update]]]) – Queries if all neigthbours match the conditions

Page 55: Springsim 2016 data driven healthcare tutorial

Brunel University London

Setting up a simulation{ "supertype" : [ { "id" : typeid, "name" : typename, "attributes": [ { "name" : attributename, "value" : attributevalue } ] } ]}

model.json

{

"grid" : {

"n" : rows,

"m" : column

}, "agents" : [

{ "type" : "supertype.typeid",

"instances" : agents,

"position" : "rnd"

}

], "simulation" : {

"start" : stepnumber,

"end" : stepnumber|null

}

}

init.json

Page 56: Springsim 2016 data driven healthcare tutorial

Brunel University London

Simulating in Visual Mode

1. Start-up TEA-GRID server$ cd TEA-GRID$ ./tea-grid.php

2. Fire-up the simulation in your browserhttp://tea-grid-server/GRID/index.html?simulation=simname[&logging=(N)|S|V]

Page 57: Springsim 2016 data driven healthcare tutorial

Brunel University London

Simulating in Batch Mode$ cd TEA-SIM$ ./tea-sim.php --helpTEA-SIM

Usage: teasim.php [--simple | --verbose] [--iterations=N] <simulation name> teasim.php (-v | --version)

Options: -h --help Show this screen. -v --version Show version. --iterations=N Specify the number of iterations. --simple Simple logging. --verbose Verbose logging.

Page 58: Springsim 2016 data driven healthcare tutorial

Brunel University London

TEA-SIM Architecture

TEAGRID TEASIM

Index.html

Page 59: Springsim 2016 data driven healthcare tutorial

Brunel University London

TEA-SIM Architecture• TEA-SIM – tea-sim.php

• Grid• Agent• Callback• LogLevel• TEASIM

• TEA-GRID Server – tea-grid.php• WebSocketServer

• TEA-GRID Client – index.html

Page 60: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 60

Agent Modeling – a simple exampleSepsis simulation with three types of agent, critical_patient, not_critical_patient and nurse

Page 61: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 61

Example code – PHP (step functions)

Page 62: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 62

Agent Modelingcritical_patient become not_critical_patient and not_critical_patient become normal_patient with calculated cost and number of days in ward

Page 63: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 63

Agent Modelingcritical_patient become dead_patient after mortality reaches 80% or more

Page 64: Springsim 2016 data driven healthcare tutorial

Brunel University London Department of Computer Science 64

Questions• Code – available from [email protected] (small zip can be

emailed)• Used on Linux (easiest), MAMP, WAMP

• Open-source via GitHub later this year • Possible futures:

• Hosted simulation (via Tea-PoCT)