sip-based medical event monitoring system knarig arabshian and henning schulzrinne department of...

34
SIP-based Medical Event SIP-based Medical Event Monitoring System Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu June 6, 2003

Post on 20-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

SIP-based Medical Event SIP-based Medical Event Monitoring SystemMonitoring System

Knarig Arabshian and Henning Schulzrinne

Department of Computer ScienceColumbia University

{hgs,knarig}@cs.columbia.eduJune 6, 2003

Page 2: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

OverviewOverview

Basics of SIP (Session Initiation Protocol)

Details of SIP event notification architecture

Medical Logic Modules and SIP XML Messages and SIP Benefits Conclusions

Page 3: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

SIP-based Medical Event SIP-based Medical Event Monitoring SystemMonitoring 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

Page 4: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

What is SIP?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

Page 5: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

What is SIP?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.

Page 6: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

What is SIP?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).

Page 7: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

home.com

office.com alice

bobm2.home.com

Basic call setupBasic call setup E-mail like identifier: <sip:[email protected]> Alice’s phone registers with home.com Bob dials [email protected]; Phone does DNS

Registrar

[email protected] =>

[email protected]

REGISTER home.com SIP/2.0To: sip:[email protected]: sip:[email protected]

DNS lookup sip.udp.home.com

Resolve to m2.home.com

Page 8: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

home.com

office.com

alice

bobm2.home.com

Basic call setupBasic call setup

Phone sends INVITE; acts as User Agent Client Server can proxy the call to current location

INVITE sip:[email protected] …To: sip:[email protected]: “Bob” <sip:[email protected]>…c=IN IP4 128.59.19.60m=audio 8000 RTP/AVP 0 5 8

User agent client

INVITE sip:[email protected]

To: sip:[email protected]: “Bob”

<sip:[email protected]>…

Proxy

Page 9: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

home.com

office.com alice

bobm2.home.com

Basic call setupBasic call setup Alice’s phone rings; acts as a User Agent Server When Alice picks up, call is accepted and bob’s

phone sends ACK to complete the setup

pc4.home.com

SIP/2.0 180 Ringing

ProxyUser agent

server

SIP/2.0 200 OK…c=IN IP4 135.180.144.32m=audio 9000 RTP/AVP 0 8

Page 10: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

home.com

office.comalice

bob

Basic call setupBasic call setup Encoded audio packets sent over RTP

Page 11: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

home.com

office.comalice

bob

Basic call setupBasic call setup When either party hangs up BYE is sent

BYE sip:[email protected]

Page 12: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Columbia SIP user agent Columbia SIP user agent (sipc)(sipc) Media

Audio, video, text, white board Screen sharing Shared web browsing

Advanced Presence, instant messaging Conference control Emergency notification and handling Device control

Page 13: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Subscribe/NotifySubscribe/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

Page 14: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Subscribe RequestSubscribe 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

Page 15: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Subscribe RequestSubscribe 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

Page 16: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Notify RequestNotify 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

Page 17: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

CLIENT(SUBSCRIBER)

SUBSCRIBE sip:[email protected] SIP/2.0Event: heartmonitorExpires: 86400 From: sip:[email protected]: sip:[email protected]

SERVER(NOTIFIER)SIP/2.0 202 Accepted

From: sip:[email protected]: 86400

NOTIFY sip:[email protected] SIP/2.0Event: heartmonitorTo: sip:[email protected]: sip:[email protected]

Page 18: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Medical Logic Modules Medical Logic Modules (MLMs)(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.

Page 19: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Arden SyntaxArden 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.

Page 20: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Arden SyntaxArden 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.

Page 21: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Arden SyntaxArden 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.

Page 22: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Arden SyntaxArden Syntax logic section--consists of the actual

rule or medical condition to test for action section—describes what is to

be done when the condition is true.

Page 23: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

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 < 1000 and decrease of anc > 0 then

conclude trueelse

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.

Page 24: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Arden Syntax and SIPArden 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

Page 25: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Arden Syntax and SIPArden 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.

Page 26: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Arden Syntax and SIPArden Syntax and SIP Arden Syntax rules dynamically added within a server’s

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.

Page 27: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Arden Syntax and SIPArden 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 server’s database, this will not work.

Page 28: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

XML Messages and SIPXML 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.

Page 29: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

XML Messages and SIPXML 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.

Page 30: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

Bluetooth and SIPBluetooth 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 doctor’s whereabouts or for establishing ubiquitous systems in the hospital environment.

Page 31: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

1)Doctor subscribes to server to monitor patient’s heart

Bluetooth access point

4)Doctor can’t be reached so doctor’s location is

identified via his bluetooth-enabled PDA and patient’s data is also transmitted to the PDA

Bluetooth access point

3)Server process data that results in a notify being sent to the doctor’s pager

2)Heart monitor

transmits signals

wirelessly to the server

Location information sent

5)Server calls house phone near the doctor

Page 32: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

BenefitsBenefits 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

Page 33: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

ConclusionConclusion 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

Page 34: SIP-based Medical Event Monitoring System Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {hgs,knarig}@cs.columbia.edu

ContactsContacts

Knarig Arabshian ([email protected])

Dr. Henning Schulzrinne ([email protected])