Chris Munt :: State Of Play In the NHS
Upcoming SlideShare
Loading in...5
×
 

Chris Munt :: State Of Play In the NHS

on

  • 2,248 views

 

Statistics

Views

Total Views
2,248
Views on SlideShare
2,243
Embed Views
5

Actions

Likes
0
Downloads
16
Comments
1

3 Embeds 5

http://www.fachak.com 3
http://www.slideshare.net 1
https://learning.blackboard.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • After you got all the information on Fioricet, another point on your agenda should be the price for it. http://www.fioricetsupply.com resolves this problem. Now you can make the decision to buy.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Chris Munt :: State Of Play In the NHS Chris Munt :: State Of Play In the NHS Presentation Transcript

  • The state of play in NHS IT Chris Munt Cherylin Fletcher Royal Marsden NHS Trust
  • Agenda: Part I
    • Healthcare IT
    • A local view
      • IT at the RMH
      • Cherylin Fletcher
      • (Deputy Director of IT at RMH)
  • Agenda: Part II
    • Caché at the RMH
      • Building a successful IT infrastructure to support heathcare applications
      • Chris Munt
  • RMH IT – History (80s)
    • Department formed in early 1980s
      • General hospital IT
      • Research
    • One of the first UK customers for DSM
      • DEC PDPs
    • Moved to M11+ and MVX in mid 80s
      • Operational Systems
        • DEC PDPs – 11/70, 11/44
      • Research system (epidemiology, analysis)
        • DEC VAX 11/750
  • RMH IT – History (80s)
    • First applications – the basics
      • Patient Master Index
      • Basic pathology (Chemistry, Haematology)
      • Admissions and Outpatients
      • Third party pharmacy system
      • Clinical Research System (CRS)
    • Significant hardware upgrade late 80s
      • VAX 8530
  • RMH IT – History (90s)
    • Seduced by cost/performance of RISC based architecture
      • Migrate from VAX/VMS to HPUX on HP hardware
      • Switched to Micronetics MUMPS (MSM)
      • Later switched back to InterSystems M (ISM)
    • Further applications
      • Towards a complete PAS and HIS
      • Radiology and other clinical systems
  • RMH IT – History (00s)
    • Turbulent times ahead
      • National Programs on the horizon
      • Poor image of M-based systems in NHS
        • Despite the fact that they delivered (and many are still doing so now!)
      • Experimented with various standard RDBMS
      • Further third party departmental systems introduced
    • Standardized core on InterSystems Caché
      • Natural ‘best fit’ successor to our M-based systems.
      • Caché 5 on IBM AIX
        • Development machine
        • Operational machine + Shadow
  • RMH IT – Architecture
    • 1980s: Terminal based applications
      • Serial lines to server
    • 1990s: Migrating to Windows/GUI
      • Terminals replaced with PC workstations
      • Workstations networked (LAT then TCP)
      • VB applications
        • Using an adaptor to M (developed in-house)
          • Used telnet to M and TCP sockets when they became available
          • Likely to be one of the first service oriented (non-ODBC) connectors between VB and M
        • Later applications used HTTP over WebLink
  • RMH IT – Architecture
    • 2000s: Migrating to the Web
      • All workstations networked (TCP)
      • Visual InterDev with VB
      • ASP.Net
        • Using WebLink and CSP as the transport
          • Web services in CSP
          • Proprietary protocols over HTTP
  • RMH IT – Development
    • Early systems
      • Hand-crafted M code
      • Needed to improve quality, resilience and maintainability
      • Various experiments with code generators
        • Tools for screen design
    • Developed ETHOS toolkit
      • E x T ended H igher O rder S oftware
      • HOS (Higher Order Software) + SQL/RDBMS
        • HOS: Programming environment
        • SQL/RDBMS: Added to the HOS environment to make ETHOS in mid-80s
          • Likely to be first SQL implementation for M
  • ETHOS: HOS Component
    • What is it?
      • Mathematically verified Functional Programming Environment
        • Underlying Mathematics by Margaret Hamilton and Saydean Zeldin
        • A Methodology for Defining Software
        • Developed for the Apollo and Skylab programs
      • Graphical tree-based representation of functions
      • Partial functions with plug-in points
        • Defined Structures
  • ETHOS: HOS Component
    • Benefits?
      • Integrity of tree structures checked for self consistency and correctness
        • Interfaces verified
        • Referential transparency
      • Self documenting
        • Tree nodes separate the ‘what’ from the ‘how’ of an operation
      • Generates bug-free code
  • ETHOS
    • Higher Order Software
    • Some Examples
  • ETHOS tree: Calculate Age
  • ETHOS tree: Embedded SQL
  • ETHOS tree: Embedded SQL
  • ETHOS tree: Recursion
  • ETHOS tree: Using Libraries
  • ETHOS: SQL/RDBMS Component
    • What is it?
      • SQL with extensions
        • ETHOS functions can be embedded in SQL and vice versa
        • Sequences
        • Complex derivations
        • Best of Caché incorporated (e.g. pattern match)
      • Comprehensive Data Model
        • Definition of Entities (tables/classes) and Attributes (fields/properties)
        • ETHOS Entity == RDBMS Table == Caché class
        • Derived attributes and tables
        • Inheritance and polymorphism
        • Full referential actions (e.g. maintenance of referential integrity)
  • ETHOS: SQL/RDBMS Component
    • Benefits?
      • High level of abstraction
        • Object-relational characteristics
      • Derived supersets maintained in real time
        • Data warehouse
      • Rich environment for data analysis
        • Support for research
      • Multiple access paths to same data
        • SQL accessible Cache classes maintained in parallel
          • ETHOS SQL
          • Caché SQL
          • Caché Objects
          • M Globals
  • ETHOS
    • SQL and Data Model
    • Some Examples of Entity Definitions
  • ETHOS Entity: PATIENT
    • Base Table: Primary View
    • SELECT PAT-NUM, PAT-NAM, ADDRESS, D-REG, T-REG, D-BIRTH, AGE,
    • D-LAST-ADM
    • FROM [BASE-TABLE]
    • DECLARE PAT-NUM ::= BT ;
    • DECLARE PAT-NAM ::= BT ;
    • DECLARE ADDRESS ::= BT ;
    • DECLARE D-REG ::= BT <- DATE.VALUE ;
    • DECLARE T-REG ::= BT <- TIME.VALUE ;
    • DECLARE D-BIRTH ::= BT <- DATE.VALUE ;
    • DECLARE AGE ::= SV <= AGE:LX(D-BIRTH) ;
    • DECLARE D-LAST-ADM ::= HV <= GET_LAST_ADM_DATE:LX(
    • F:ADMISSION,
    • PAT-NUM)
    • <- DATE.VALUE ;
  • ETHOS Entity: DATE
    • Superclass of all attributes of type ‘DATE’
    • Base Table: Primary View
    • SELECT VALUE, ENCODE, DECODE
    • FROM [BASE-TABLE]
    • DECLARE VALUE ::= SV ;
    • DECLARE ENCODE ::= SV <= ENCODE_DATE:LX(:DECODED-DATE) ;
    • DECLARE DECODE ::= SV <= DECODE_DATE:LX(:ENCODED-DATE) ;
  • ETHOS Entity: ADMISSION
    • Base Table: Primary View
    • SELECT PAT-NUM, D-ADM, T-ADM, WARD
    • FROM [BASE-TABLE]
    • DECLARE PAT-NUM ::= BT ;
    • DECLARE D-ADM ::= BT <- DATE.VALUE ;
    • DECLARE T-ADM ::= BT <- TIME.VALUE ;
    • DECLARE WARD ::= BT <- WARD.WARD-ID ;
  • ETHOS Entity: DIAGNOSTICS
    • Base Table: Primary View
    • SELECT PAT-NUM, D-TEST, T-TEST, TEST-ID, RESULT
    • FROM [BASE-TABLE]
    • DECLARE PAT-NUM ::= BT ;
    • DECLARE D-TEST ::= BT <- DATE.VALUE ;
    • DECLARE T-TEST ::= BT <- TIME.VALUE ;
    • DECLARE TEST-ID ::= BT <- LAB-TEST.TEST-ID ;
    • DECLARE RESULT ::= BT ;
  • ETHOS Entity: EVENTS
    • Derived Table: Primary View
    • SELECT PAT-NUM, D-EVENT, T-EVENT, KEYS, EVENT-TYPE
    • FROM [BASE-TABLE]
    • DECLARE PAT-NUM ::= BT ;
    • DECLARE D-EVENT ::= BT <- DATE.VALUE ;
    • DECLARE T-EVENT ::= BT <- TIME.VALUE ;
    • DECLARE KEYS ::= BT ;
    • DECLARE EVENT-TYPE ::= BT ;
  • ETHOS Entity: EVENTS (1)
    • Derived Table: Secondary View 1 (Contribution from PATIENT)
    • SELECT PAT-NUM, D-EVENT, T-EVENT, KEYS, EVENT-TYPE
    • FROM PATIENT
    • DECLARE PAT-NUM ::= HV <= PATIENT.PAT-NUM ;
    • DECLARE D-EVENT ::= HV <= PATIENT.D-REG ;
    • DECLARE T-EVENT ::= HV <= PATIENT.T-REG ;
    • DECLARE KEYS ::= HV <= K:PATIENT ;
    • DECLARE EVENT-TYPE ::= HV <= &quot;REGISTRATION&quot; ;
  • ETHOS Entity: EVENTS (2)
    • Derived Table: Secondary View 2 (Contribution from ADMISSION)
    • SELECT PAT-NUM, D-EVENT, T-EVENT, KEYS, EVENT-TYPE
    • FROM ADMISSION
    • DECLARE PAT-NUM ::= HV <= ADMISSION.PAT-NUM ;
    • DECLARE D-EVENT ::= HV <= ADMISSION.D-ADM ;
    • DECLARE T-EVENT ::= HV <= ADMISSION.T-ADM ;
    • DECLARE KEYS ::= HV <= K:ADMISSION ;
    • DECLARE EVENT-TYPE ::= HV <= &quot;ADMISSION&quot; ;
  • ETHOS Entity: EVENTS (3)
    • Derived Table: Secondary View 3 (Contribution from DIAGNOSTICS)
    • SELECT PAT-NUM, D-EVENT, T-EVENT, KEYS, EVENT-TYPE
    • FROM DIAGNOSTICS
    • DECLARE PAT-NUM ::= HV <= DIAGNOSTICS.PAT-NUM ;
    • DECLARE D-EVENT ::= HV <= DIAGNOSTICS.D-TEST ;
    • DECLARE T-EVENT ::= HV <= DIAGNOSTICS.T-TEST ;
    • DECLARE KEYS ::= HV <= K:DIAGNOSTICS ;
    • DECLARE EVENT-TYPE ::= HV <= &quot;DIAGNOSTICS&quot; ;
  • ETHOS SQL: Sequences
    • “ Get all diagnostic tests performed for a patient between 9:00 on 1/9/07 and 12:00 the following day”
    • SELECT *
    • FROM DIAGNOSTICS A:SEQUENCE(PAT-NUM, D-TEST, T-TEST)
    • WHERE A AFTER :PAT-NUM, “1/9/07”, “9:00”
    • AND A BEFORE :PAT-NUM, “2/9/07”, “12:00”
  • RMH IT/ETHOS – Why Caché?
    • High Performance
    • Rapid Application Development
    • Massive Scalability
  • RMH IT/ETHOS – Why Caché?
    • High performance?
      • Undoubtedly true
        • Fastest high-end database that we’ve used
      • Low hardware costs
        • Small investment can make a ‘slow’ DBMS perform well
      • Free alternatives
        • Many will put up with a non-optimal solution if it is free.
  • RMH IT/ETHOS – Why Caché?
    • Rapid Application Development?
      • Undoubtedly true
      • Others make the same claim
      • Free alternatives
        • Many will put up with a non-optimal solution if it is free.
  • RMH IT/ETHOS – Why Caché?
    • Massive scalability?
      • Undoubtedly true
        • We’ve migrated systems from PDP 11s to high end IBM/AIX servers to PCs
          • Low administrative costs
        • Well abstracted environment
      • Low hardware costs
      • Modern networking
        • Clustered and/or distributed environments
        • Load balancing solutions
  • Free Alternatives
    • OpenSource, FSF, Freeware etc …
    • Will it really take over the world?
    • What drives development?
      • Research initiatives
      • Outsource support
      • Consulting based marketing model
  • Free Alternatives
    • OpenSource, FSF, Freeware etc …
    • Will it really take over the world?
    • What drives development?
      • Research initiatives
      • Outsource support
      • Consulting based marketing model
      • The presence of a ‘Bogeyman’ as a motivator
        • The bigger the better
        • Free software thrives on a healthy commercial sector
  • Traditional Project Lifecycle
    • Analysis of requirements
    • Design data-model
      • Know requirements in advance
      • Design model with reports in mind
    • Create application
    • Maintenance and compromise
      • De-normalize database to make it perform
  • Systems Development
    • May not want to implement something as big as ETHOS but …
    • The case for having a more flexible environment than is usually provided by a conventional DBMS is compelling
      • Never know requirements in advance
      • Web culture demands flexibility
        • ever changing requirements
      • Higher expectations
    • Applications need to adapt and evolve
      • Without driving up costs and complexity
  • HTTP
    • SOAP, REST, MEST, [2008 version] etc … are transported by HTTP and …
    • The case for having a comprehensive development environment for serving protocols carried over HTTP is compelling
      • Ajax allows web applications to distribute processing to clients
        • Not available to the infrastructure for data communication/distribution
      • Higher expectations for integration/sharing
      • Complex functionality behind services
    • Applications need to reach out and be available to foreign systems
      • Without driving up costs and complexity
  • Caché in Healthcare IT
    • High Performance
    • Rapid Application Development
    • Massive Scalability
    • Excellent Systems Prototyping and Development Environment
    • Excellent back-end processor for HTTP
  • The state of play in NHS IT Chris Munt Cherylin Fletcher Royal Marsden NHS Trust