Title: Outside the Box Interfaces: Agile Techniques for Getting Data In and Out of the LIS
1Outside the Box Interfaces Agile Techniques
for Getting Data In and Out of the LIS
Mark Routbort, MD, PhD University of Texas MD
Anderson Cancer Center Houston, Texas
2The challenge Wrestling information in and out
between your lab system and the world
- Classic approaches to integrating disparate
applications or conveying data into and out of
systems - Lab instruments ASTM, Kermit
- Systems HL7
- These are extensive and complete standards this
is a high bar to overcome - Standards are aged and not always applicable to
lab questions/problems - Often require vendor support or involve licensing
issues
3Information transfer Health Level 7 (HL7)
- Messaging standard for health care inter-systems
communication - Founded 1987, versions 2.1, 2.2, 2.3 from
1990-1999, in wide use for communicating lab and
pathology results (version 2.x) - ANSI standard
CBC (Supergroup) result message examples -
Partial result messageĀ MSH\ESILABINVISION
_PMSHIS20050331155000-0600ORUR012980822T2.
1PID100000000099999900000TESTMICKEYN1940
0313FWUNK000010501880256428827901PV1
1ODICTDICT731HIS0000361WALTERS,
RONALD S. MR20050301144
200-060020050402155000-0600OBR155002800101477
5200001550550028025032847925032847900000000101550
0312CBCCOMPLETE BLOOD CNT/DIF/PLTRT20050331152
000-060020050331154200-0600PCCGSSO, CELIA
G.20050331154300-06000000361WALTERS,
RONALD S. M10000509003089GLAP2005033
11520RTOBX001NM5500009WBCWHITE BLOOD CELL
COUNT 2.4K/UL 4.0-
11.0LF0000000000000022520020050331155000.00
00-0600IIMINSTRUMENT PERFORMED IDPCNDAACOSTA,
NOEL D.OBX002NM5500018RBCRED BLOOD CELL
COUNT 3.03M/UL 4.00-
5.50LF0000000000000022520020050331155000.00
00-0600IIMINSTRUMENT PERFORMED IDPCNDAACOSTA,
NOEL D.
4HL7 version 2.x strengths (weaknesses)
5Agile techniques
- Use modern programming/scripting languages to
simply solve data/application interface needs - Scale the solution to the level of the problem
- Utilize the power and interoperability of current
standards (W3C XML, Web Services, HTML) to
promote rapid development and future
reutilization
6Some examples of agile approaches
- Bridging the paper/digital divide
- Printed forms as portals to data entry using
embedded bar codes - Parsing data out of printed documents
- Scripted interfaces to move data into your
systems - Moving toward web-based standards for data
sharing and interoperability generally - XML
- Web Services
- Getting data in
- Web services approaches for incorporating flow
cytometric analysis data in a molecular-age LIS - Getting data and accurate reports out
- Web services for lab data reporting to the EMR
and other customers SPiDR - Web services viewer controls for accurate
display of pathology reports
7Bridging the paper/digital divide
- Paper forms are ubiquitous
- It is increasingly common to create
electronically downloadable, or even
electronically completable, versions of paper
forms - It is much less common to have these electronic
versions directly transfer data from the form to
downstream systems - It can be technically complex to setup electronic
interfaces into your systems - In the age of firewalls, information security,
and HIPAA, it can be complex to even setup
connectivity inbound into your systems
8Electronically fillable, paper-printed forms
which convey both human- and machine-readable
information offer one approach
- Many modern forms-generation applications offer
the ability to incorporate a bar-code which
includes a representation of the data on the form - Even without a direct electronic interface, this
bar code can be leveraged/designed so as to
emulate human input into a data entry window
9Using bar codes for data input
- 2-dimensional bar codes such as PDF417 or
DataMatrix allow for inclusion of substantial
amounts of data on standard printed forms - Practical limits? Yes
- A couple thousand characters for
- standard printed forms
- reasonably sized (2-3 inches) 2D bar codes
- off-the-shelf 2D bar code scanners
- Using document scanning (or multiple codes) this
amount can be considerably higher, but we are
thinking about minimal hardware implementation
solutions
PDF417 stackedlinear
DataMatrixFull 2D
10Using bar codes for data input - example
11Further paper to electronic transitions a
practical example
- Flow cytometry analysis scattergrams at MD
Anderson - Different analysis packages (primarily CellQuest)
- Scattergrams printed to paper
- Analysis software does quadrant analysis and
population calculations which are included on a
front sheet - Paper everywhere!
- Manual transcription of data elements calculated
by analysis software into the LIS - Our LIS is in transition (from CERNER classic to
SOFT)
12An interim solution
- Print analysis files to virtual instead of
physical printer (Adobe PDF) - Allows immediate electronic interchange/filing
- Develop parser application capable of
- Reading data elements and case demographics from
the PDF files - Creating and uploading the data elements summary
to CERNER - A scripted interface was used to upload the
summary to CERNER
13Scripted interfaces .
- Use a terminal emulator with a built-in
scripting/macro language to simulate human data
entry - Will be discussed in greater detail later today
- Quick overview using WRQ Reflections
14Data parsing from printed files with a scripted
interface to upload data to the LIS an example
15Scripted interfaces pros and cons
- Pro
- Can provide an entryway into functionality that
is not otherwise accessible - Can have a rapid, vendor-independent development
path - Con
- Potentially inefficient
- Potentially fragile
- Require a detailed knowledge of boundary
conditions and variant responses in the scripted
application
16Agile interoperability building bocks XML
- eXtended Markup Language
- W3C specification for data modeling
- Human and machine readable
- Self-describing
17Agile interoperability building bocks XML Schema
- Describes what conforming XML data should look
like (a blueprint) - Required and optional elements and attributes,
cardinality, data types, complex structure - Conformance to a schema represents a contract for
exchange of information
18Agile interoperability building bocks Web
services and WSDL
- Web services
- Software constructs designed to support
interoperable Machine to Machine interaction over
the World Wide Web - Service provider
- Service requester
- Optionally, service broker
- Most commonly enabled by the SOAP (simple object
access protocol) specification - WSDL Web services description language
- an XML-based language that provides a model for
describing Web services - Modern application development environments
(Java, .NET) can consume WSDL directly to
automatically create client (requester)-side code
to consume the service
19A minimal web service and consuming application
client Example
20Data importation revisited
- How to better get complex diagnostic data in to
the LIS? - Flow cytometry, molecular diagnostics,
cytogenetics - All share fairly complex workflows (non-linear)
and have a high degree of dependence on
non-integrated analysis tools - Data points transcribed in lab from different
analysis packages into LIS - Domain data model is volatile and different than
LIS data model
21Getting the data inFlow cytometric analysis
- Problems
- Multiple data analysis packages are required by
lab CellQuest, FloJo, Excel, Diva, etc. - LIS not designed, nor should it be, for raw
list-mode data or complex analysis - This dichotomy results in separation of the
original diagnostic data from the LIS and
cumbersome and error prone transcription from the
analysis data to the LIS - Conclusions
- Even if acquisition and analysis resides outside
the LIS, there should be automatic import of both
the original analysis results and the structured
data from the analysis - The LIS should be the place where the data comes
together
22Steps
- Define a schema for diagnostic flow cytometric
analysis data - Use a flexible attribute/value model for data
elements to be imported into the LIS - Define a web service/WSDL (and get our LIS vendor
to implement it!) for automatic data import using
this schema - Develop an import tool using the schema and web
service to import analysis package data
23FlowAnalysis schema
24FlowAnalysis schema
25The import tool
26The end result in the LIS
27Getting data and accurate reports outreal-world
examples leveraging web services
- SPiDR (shared pathology data repository) MD
Anderson web services for exchange of
laboratory/pathology data - Pathology report viewer control for accurate
display
28Lab data and the message interface model
- Traditional EMR/HIS implementations use HL7
message interfaces to replicate data from system
to system - The message centric model
- Represents a tight coupling between source and
destination systems - Results in semantic fragmentation as vendors seek
to implement business logic via interfaces
29Design considerationsInternal data model versus
external (service) model
- Internal model
- Fully relational
- Process-aware
- Temporal
- Multiple data sources multiple databases
30- Internal data model is complex, normalized, and
may vary according to source system - Includes temporal elements to support
point-in-time state reconstruction (regulatory) - Much more complexity than most consumers need!
31External (service) model
- Service oriented question
- What are the lab results?
- External model for consumers
- State but not process aware
- Significant denormalization to facilitate
comprehensibility and broad applicability - For instance, patient demographic data is
represented at the test level
32(No Transcript)
33Service model of lab data
- Tests
- A lab test, which may be in varying stages of
completion (status), and which may or may not
have associated granular result details
(TestDetail) or additional metadata about the
test itself (TestInfo) - Examples Complete blood count, GI panel, PSA
- Lab tests include information about the entity on
which they were performed - generally, a patient
- which represents a flattening of the typical
HL7 hierarchy - TestDetails
- TestDetails are granular data elements
representing specific result components for a
Test - Examples Hematocrit (within CBC test), bilirubin
(within GI panel), PSA level (within PSA test). - TestInfo
- A collection of information about the test itself
which does not readily fit into a flat Test
structure - Examples General result level comments not
associated with a specific TestDetail,
cancellation or other process explanations, order
level comments.
34Setting a web reference to the SPIDR service
imports the full LabData model into the
application IDE Place a single control
(Infragistics UltraGrid) onto a Windows Form.
This control is capable of being bound directly
to a hierarchical data source.
353 lines of code
- Instantiate the service proxy
- Execute a service call to return a LabData object
- Bind the grid to the LabData object
36The data model/schema directly dictatesthe
run-time appearance
37How is pathology report information conveyed?
Pathologist
Self, transcriptionist, resident entry
DIAGNOSIS Metastatic adenocarcinoma.
Format conversion to ASCII text
HL7
Interfaceengine
Custom display logic
HISViewer
HL7
Clinician
38HL7 is not WYSIWYG
HIS viewer
Pathology system
The integrity of semantic content is at stake in
any transformation
39Improving pathology report display
- Driven by persistent pathology report
representation problems - Developed a user control capable of being
trivially embedded in any Windows application - Upon request to view a particular pathology
report, the native report format text (Rich Text
Format RTF) is extracted from our PowerPath
database and displayed - Auditing handled at the source system level (in
the PowerPath database) - Provided this to our EMR team for embedding
- Ensured that what the pathologist sees on signing
the case out is identical to what is viewed in
the EMR
40Federated electronic delivery of pathology reports
Pathologist
Self, transcriptionist, resident entry
HIS Viewer
Custom pathology report viewing control
Clinician
Direct query for report in native Rich Text
Format (RTF)
Native pathology report stored in PowerPath
database
41Example of application federationto enable
zero-knowledge functional interoperability
- EMR (hosting application) knows only
- connection parameters to pathology database
- the identity of the system user
- the identify of the patient being queried
42In conclusion
- There are a large variety of non-HL7 approaches
to getting data in and out of your LIS, including - Paper-to-electronic strategies
- Terminal (or GUI) scripting
- Custom interfaces, especially those leveraging
web services - Many middleware vendors/consultants use these
methods and are happy to supply their expertise