SIPbased Medical Event Monitoring System - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

SIPbased Medical Event Monitoring System

Description:

Arden Syntax. logic section--consists of the actual rule or medical condition ... Users can subscribe to an Arden Syntax rule already implemented in a server. ... – PowerPoint PPT presentation

Number of Views:129
Avg rating:3.0/5.0
Slides: 35
Provided by: knarigar
Category:

less

Transcript and Presenter's Notes

Title: SIPbased Medical Event Monitoring System


1
SIP-based Medical Event Monitoring System
  • Knarig Arabshian and Henning Schulzrinne
    Department of Computer ScienceColumbia
    University
  • hgs,knarig_at_cs.columbia.edu
  • June 6, 2003

2
Overview
  • Basics of SIP (Session Initiation Protocol)
  • Details of SIP event notification architecture
  • Medical Logic Modules and SIP
  • XML Messages and SIP
  • Benefits
  • Conclusions

3
SIP-based Medical Event Monitoring System
  • Medical industry transitioning to Internet-based
    communication
  • SIP can work on a variety of devices
  • Adopted as protocol of choice for third
    generation wireless networks
  • Used for Internet conferencing, telephony,
    presence, event notification and instant messaging

4
What is SIP?
  • The Session Initiation Protocol (SIP) is a
    signaling protocol used for establishing sessions
    in an IP network.
  • SIP is part of the IETF standards and is modeled
    upon other Internet protocols such as SMTP
    (Simple Mail Transfer Protocol for e-mail) and
    HTTP (Hypertext Transfer Protocol for www)
  • SIP is also being used in Microsoft Messenger in
    Windows XP
  • A session could be a simple two-way telephone
    call or it could be a collaborative multi-media
    conference session.
  • Different services are possible
  • Internet telephony
  • Instant Messaging with buddy lists
  • Event notification
  • Device control

5
What is SIP?
  • Two Components within SIP User Agent and the SIP
    Network Server.
  • User Agent is the end system component for the
    call
  • The User agent can be both a User Agent Client
    (UAC) and a User Agent Server (UAS)
  • The client element initiates the calls and the
    server element answers the calls.
  • SIP Server is the network device that handles the
    signaling associated with multiple calls.

6
What is SIP?
  • Main function of the SIP servers is to provide
    name resolution and user location
  • Caller is unlikely to know the IP address or host
    name of the called party
  • Caller will dial an email-like address or a
    telephone number associated with the called
    party.
  • A SIP proxy server receives requests, determines
    where to send these, and passes them onto the
    next server (using next hop routing principals).

7
Basic call setup
  • E-mail like identifier ltsipalice_at_home.comgt
  • Alices phone registers with home.com
  • Bob dials alice_at_home.com Phone does DNS

REGISTER home.com SIP/2.0 To sipalice_at_home.com C
ontact sipalice_at_m2.home.com
Registrar
alice
office.com

DNS lookup sip.udp.home.com Resolve to
m2.home.com
m2.home.com
bob
home.com
alice_at_home.com gt alice_at_m2.home.com
8
Basic call setup
  • Phone sends INVITE acts as User Agent Client
  • Server can proxy the call to current location

INVITE sipalice_at_m2.home.com To
sipalice_at_home.com From Bob ltsipbob_at_office.com
gt
INVITE sipalice_at_home.com To
sipalice_at_home.com From Bob ltsipbob_at_office.com
gt cIN IP4 128.59.19.60 maudio 8000 RTP/AVP 0
5 8
alice
office.com
m2.home.com
bob
home.com
Proxy
User agent client
9
Basic call setup
  • Alices phone rings acts as a User Agent Server
  • When Alice picks up, call is accepted and bobs
    phone sends ACK to complete the setup

SIP/2.0 180 Ringing
SIP/2.0 200 OK cIN IP4 135.180.144.32 maudio
9000 RTP/AVP 0 8
office.com
alice
pc4.home.com
m2.home.com
bob
home.com
Proxy
User agent server
10
Basic call setup
  • Encoded audio packets sent over RTP

office.com
alice
bob
home.com
11
Basic call setup
  • When either party hangs up BYE is sent

office.com
alice
BYE sipbob_at_office.com
bob
home.com
12
Columbia SIP user agent (sipc)
  • Media
  • Audio, video, text, white board
  • Screen sharing
  • Shared web browsing
  • Advanced
  • Presence, instant messaging
  • Conference control
  • Emergency notification and handling
  • Device control

13
Subscribe/Notify
  • SIP has also been extended to generate event
    notifications and instant messages
  • Users subscribe to an event with the SUBSCRIBE
    method and receive notifications via NOTIFY
  • This feature can be used for creating medical
    event monitoring systems

14
Subscribe Request
  • Resembles that of a SIP INVITE
  • Must have one Event header in the header field
    which will specify the type of event it is
    subscribing to
  • Must also contain an Expires header which
    defines the duration of the subscription
  • Subscriptions to multiple events requires
    multiple subscribe messages to be sent to the
    notifier
  • To unsubscribe, it sends a SUBSCRIBE message with
    the Expires field set to zero

15
Subscribe Request
  • Can contain optional message body in SUBSCRIBE
    request
  • Further details of notification
  • methods of alerting (alarm, IM Messages,
    telephone calls)
  • Filtering of sub-events
  • Standardized grammar to automate the processing
    of the SUBSCRIBE request in the Notification
    Server
  • If message body is not present then Subscriber
    will expect the default method of alert

16
Notify Request
  • The Event header will indicate the type of
    emergency notification it is
  • The message body of the NOTIFY message will
    include specific instructions on the alert
    methods.
  • Notification server receives the subscription,
    adds the subscriber to the particular event list
    and then generates NOTIFY requests accordingly

17
SERVER (NOTIFIER)
CLIENT (SUBSCRIBER)
SUBSCRIBE sipalerts_at_domain.com SIP/2.0Event
heartmonitorExpires 86400 From
sipalice_at_example.comTo sipalerts_at_domain.com
SIP/2.0 202 Accepted From sipalice_at_example.com
Expires 86400
NOTIFY sipalerts_at_domain.com SIP/2.0Event
heartmonitorTo sipalice_at_example.comFrom
sipalerts_at_domain.com
18
Medical Logic Modules (MLMs)
  • Medical Logic Modules (MLMs) encode medical
    knowledge which are used in decision-support
    systems.
  • Sharing knowledge gives way to many obstacles.
  • Typically medical institutions do not share the
    same decision support systems.
  • Sharing knowledge across institutions,
    coordinating local vocabularies and translating
    the logic for automation is a strenuous process.

19
Arden Syntax
  • The Arden Syntax is a Medical Logic Module that
    has been developed for the task of sharing
    medical knowledge bases across many institutions.
  • Its main focus is on knowledge used in decision
    support systems that can provide therapeutic
    suggestions and alerts.
  • It is compiled and then run automatically to
    generate advice where and when it is needed.

20
Arden Syntax
  • Contains three main sections maintenance,
    library and knowledge.
  • Maintenance section
  • contains management information such as title,
    filename, author, etc.
  • Library section
  • commenting section where the purpose of the MLM
    is described.

21
Arden Syntax
  • Knowledge section contains few subsections
  • type section--describes the way the MLM is to be
    used.
  • data section--assigns local variables, which can
    be lengthy database queries
  • evoke slot--contains the conditions under which
    the MLM becomes active.

22
Arden Syntax
  • logic section--consists of the actual rule or
    medical condition to test for
  • action sectiondescribes what is to be done when
    the condition is true.

23
knowledge type data-driven data /
absolute neutrophile count / anc read last
2 from (query for ANC where it occurred
within the past 1 week) pt_taking_tms
read exist query for TMS order evoke on
storage of ANC logic if pt_taking_tms
/1/ and last anc lt 1000 and decrease of
anc gt 0 then conclude true else
conclude false action store "Caution The
patient's relative granulocytopenia may be
exacerbated by trimethoprim/sulfamethoxazole
."
In the data slot, the local variable "anc" is
assigned the patient's last 2 ANC's within the
past week. "pt_taking_tms" is assigned true or
false depending on whether the patient is taking
trimethoprim and sulfamethoxazole (TMS).
The evoke slot specifies that this MLM is evoked
whenever an absolute neutrophile count (ANC) is
stored
  • The logic slot says that if the patient is taking
    TMS and if the last ANC is less than 1000 and if
    the ANC is decreasing, then execute the action
    slot, which sends the appropriate message.

24
Arden Syntax and SIP
  • Two possible ways of using Arden Syntax with SIP
  • Users subscribe to Arden Syntax rules already
    implemented
  • Users subscribe to Arden Syntax rules dynamically

25
Arden Syntax and SIP
  • Users can subscribe to an Arden Syntax rule
    already implemented in a server.
  • Participants within the monitoring system are
    aware of the Arden Syntax rules within each
    institution.
  • SIP SUBSCRIBE is sent with the message body
    containing the name of the rule being subscribed
    to
  • The server executes this rule within its system
    and notifies the subscriber whenever that
    particular rule becomes true.

26
Arden Syntax and SIP
  • Arden Syntax rules dynamically added within a
    servers knowledge base for monitoring purposes.
  • In this example, a subscriber inserts the rule
    itself within the SUBSCRIBE message body.
  • The server receives the SUBSCRIBE message and
    extracts the message body, compiles the syntax
    and then executes the logic within the syntax.
  • The server will monitor the database and whenever
    the syntax becomes true, it will invoke the
    action specified within the rule via a SIP NOTIFY
    message.

27
Arden Syntax and SIP
  • Drawbacks of this method
  • Since institutions each have their own custom
    databases, adding a dynamic syntax rule may
    result in incompatibility with the database that
    is being queried to.
  • Unless the subscriber knows the exact query
    language of the remote servers database, this
    will not work.

28
XML Messages and SIP
  • XML (Extensible Markup Language) is
    metalanguage, which is a language used for
    describing other languages
  • An XML schema is an XML language that defines
    various data types found in the XML document
  • Popular in web-related programming
  • Good choice for interoperability within many
    different types of institutional systems.

29
XML Messages and SIP
  • XML messages may be used for representing
  • database query
  • a filter for events subscribed to
  • specification of alerting methods
  • performing remote procedure calls.
  • XQL (XML Query Language)-- general-purpose query
    language that is being standardized within the
    W3C
  • Used to query a remote database assuming a common
    XML schema is shared
  • XQL document is processed automatically within
    the notification server by interpreting the XQL
    document and translating it to its own database
    query language.

30
Bluetooth and SIP
  • Bluetooth is a specification that uses low-power
    radio signals to link phones and computers
  • Use of Bluetooth is being considered in the
    medical industry
  • Companies such as Colorado MEDtech and Code Blue
    Communications Inc. are developing
    bluetooth-enabled medical devices.
  • These devices
  • provide mobile access to information and medical
    data acquisition.
  • enables devices to communicate with each other
    wirelessly.
  • Bluetooth can also be used for location-based
    services such as detecting the doctors
    whereabouts or for establishing ubiquitous
    systems in the hospital environment.

31
5)Server calls house phone near the doctor
1)Doctor subscribes to server to
monitor patients heart
2)Heart monitor transmits signals wirelessly to
the server
3)Server process data that results in a notify
being sent to the doctors pager
4)Doctor cant be reached so doctors location is
identified via his bluetooth-enabled PDA and
patients data is also transmitted to the PDA
Bluetooth access point
Location information sent
Bluetooth access point
32
Benefits
  • Device Neutrality
  • There are likely to be range of SIP-based end
    systems, ranging from IP telephones, 3G wireless
    handsets, IM/presence software to embedded
    devices.
  • Event monitoring system can be easily extended to
    new devices
  • More Information and Automated Action
  • Video conferencing, text messaging
  • Device control which causes flashing lights and
    aides the hearing-impaired

33
Conclusion
  • SIP is a signaling protocol that supports
    SUBSCRIBE/NOTIFY methods
  • SIP-based medical event monitoring system can be
    implemented using MLMs or XML messages
  • SIP provides a flexible and robust event
    notification architecture in conjunction with
    other wireless protocols

34
Contacts
  • Knarig Arabshian (knarig_at_cs.columbia.edu)
  • Dr. Henning Schulzrinne (hgs_at_cs.columbia.edu)
Write a Comment
User Comments (0)
About PowerShow.com