• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Chris Munt :: State Of Play In the NHS
 

Chris Munt :: State Of Play In the NHS

on

  • 2,202 views

 

Statistics

Views

Total Views
2,202
Views on SlideShare
2,197
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

11 of 1 previous next

  • 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