The state of play The state of play in NHS ITin NHS IT
Chris MuntCherylin Fletcher
Royal Marsden NHS Trust
Agenda: Part IAgenda: Part I
Healthcare ITA local view
IT at the RMH
Cherylin Fletcher(Deputy Director of IT at
RMH)
Cherylin FletcherDeputy Director of ICT
The Royal Marsden The Royal Marsden Hospital Information Hospital Information
SystemSystem
The State of Play in NHS ITThe State of Play in NHS IT
Electronic Patient Record (EPR)
DemographicsOP visitsTests & resultsIP staysTreatmentsSurgeryNotesPalliative careetcAdditional Specialised Data
Critical Care UnitDiateticsMassagePhysioBASO equivalentGenetics researchetc
Per patient
ClinicalWorkstation
ClinicalResearch
ReferralsRegistrationOPIPCase notesBiochemistryHaematologyHistopathologyCytologyRadiologyRadiotherapyTheatresPharmacyTransportRe-habPrivate patientsetc
Hospital #
Staff/System Data
Manpower (HR)System AdminService Agreementsetc
Trust-wide
Hospital Information System (HIS)Hospital Information System (HIS)
Management Information
Most of the rest of the NHSMost of the rest of the NHS
• Very few advanced Electronic Patient Record developments
• Proliferation of separate departmental/niche systems
• Lack of integration
• Inadequate management information
• Value for money?
National Spine
GPs
Guys & St Thomas
Royal Marsden
Epsom & St Helier
Staff Records
Web siteChoose & Book
Demographics
www.royalmarsden.nhs.uk
NHS Net
Digital Dictation
Intranet
Interfaces & Other SystemsInterfaces & Other Systems
Non-clinicalFinance Human resources Occupational health Access control Charity donations Complaints management Catering
Drug Stock Control
Micro-biology
Picture Archiving
Hospital Information System (HIS)DemographicsOP visitsTests & resultsIP staysTreatmentsSurgeryNotesPalliative careetc
MRI scanners
Patients
HRPublications
X-ray machines
How can NPfIT help?How can NPfIT help?
• National NHS Network (N3)
• Choose & Book
• PACS
• National Care Records Service (Spine)
• Additional Services
• Enterprise Wide Agreements
• Regional and Implementation Focus (LPfIT)
LPfIT Acute solution from LPfIT Acute solution from CernerCerner
Release R0 Release R1 Release R2 Release R3
PAS R0
Clinicals R0
Maternity R0
Theatres R0
A&E R0
Information for Analysis R0
PAS R1
Clinicals R1
Theatres R1
Information for Analysis R1
Spine R1
Care Pathways R1
PAS R2
Maternity R2
Information for Analysis R2
Spine R2
Prescribing R2
Care Pathways R2
A&E R2
Clinicals R3
Theatres R3Theatres R2
Maternity R3
Information for Analysis R3
Spine R3
Prescribing R3
Clinicals R2
Release R0 Release R1 Release R2 Release R3
PAS R0
Clinicals R0
Maternity R0
Theatres R0
A&E R0
Information for Analysis R0
PAS R1
Clinicals R1
Theatres R1
Information for Analysis R1
Spine R1
Care Pathways R1
PAS R2
Maternity R2
Information for Analysis R2
Spine R2
Prescribing R2
Care Pathways R2
A&E R2
Clinicals R3
Theatres R3Theatres R2
Maternity R3
Information for Analysis R3
Spine R3
Prescribing R3
Clinicals R2
**
**
** Not relevant to the Royal Marsden
Where do we want to be?Where do we want to be?• To benefit where appropriate from NPfIT
– Engagement with Connecting for Health/BT
• Move to paperless medical records– Nursing documents, order comms, drug prescribing, hand-held
wireless devices & disaster recovery
• Refresh core in-house applications– EPR, Casenotes & PAS (Referrals, Registration, Outpatients,
Inpatients)
• Reduce surface area of in-house systems– Replace departmental systems (eg. Radiology & Labs) with best-of-
breed third party systems interfaced to the EPR
The Royal Marsden The Royal Marsden Hospital Hospital
Information SystemInformation System
Cherylin FletcherDeputy Director of ICT
Agenda: Part IIAgenda: Part II
Caché at the RMHBuilding a successful IT
infrastructure to support heathcare applications
Chris Munt
RMH IT – History (80s)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)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)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)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 – ArchitectureRMH 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 – ArchitectureRMH 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 – DevelopmentRMH 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– ExTended Higher Order Software– 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 ETHOS: HOS ComponentComponent
• 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 ETHOS: HOS ComponentComponent
• 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
ETHOSETHOS
Higher Order Software
Some Examples
ETHOS tree: Calculate AgeETHOS tree: Calculate Age
ETHOS tree: Embedded SQLETHOS tree: Embedded SQL
ETHOS tree: Embedded SQLETHOS tree: Embedded SQL
ETHOS tree: RecursionETHOS tree: Recursion
ETHOS tree: Using LibrariesETHOS tree: Using Libraries
ETHOS: SQL/RDBMS ETHOS: SQL/RDBMS ComponentComponent
• 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 ETHOS: SQL/RDBMS ComponentComponent
• 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
ETHOSETHOS
SQL and Data Model
Some Examples of Entity Definitions
ETHOS Entity: PATIENTETHOS Entity: PATIENTBase Table: Primary View
SELECT PAT-NUM, PAT-NAM, ADDRESS, D-REG, T-REG, D-BIRTH, AGE, D-LAST-ADMFROM [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: DATEETHOS 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: ADMISSIONETHOS 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: DIAGNOSTICSETHOS Entity: DIAGNOSTICSBase Table: Primary View
SELECT PAT-NUM, D-TEST, T-TEST, TEST-ID, RESULTFROM [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: EVENTSETHOS 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)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 <= "REGISTRATION" ;
ETHOS Entity: EVENTS (2)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 <= "ADMISSION" ;
ETHOS Entity: EVENTS (3)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 <= "DIAGNOSTICS" ;
ETHOS SQL: SequencesETHOS 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 RMH IT/ETHOS – Why Caché?Caché?
• High Performance• Rapid Application Development• Massive Scalability
RMH IT/ETHOS – Why RMH IT/ETHOS – Why Caché?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 RMH IT/ETHOS – Why Caché?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 RMH IT/ETHOS – Why Caché?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 AlternativesFree Alternatives• OpenSource, FSF, Freeware etc …• Will it really take over the world?• What drives development?
– Research initiatives– Outsource support– Consulting based marketing model
Free AlternativesFree 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 Traditional Project LifecycleLifecycle
• 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 DevelopmentSystems 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
HTTPHTTP• 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 ITCaché 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 The state of play in NHS ITin NHS IT
Chris MuntCherylin Fletcher
Royal Marsden NHS Trust
Top Related