19
Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Embed Size (px)

Citation preview

Page 1: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Feeds

Computer Applications to MedicineNSF REU at University of VirginiaJuly 27, 2006Paul Lee

Page 2: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Goals

To become familiar with the .NET/ Microsoft SQL 2005 environment. To learn about RSS and how to generate RSS feeds from a

database.

Page 3: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Motivation

Doctors are constantly busy and have little time to check on the current state of medicine.

RSS Feeds provides a means of making short up to date announcements without the audience having to read through pages of documentation.

RSS feeds can be read by several popular devices (i.e. i-pod, tablet pc, etc.).

Page 4: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Current state-of-the-art RSS 2.0, is used widely on the internet for distributing summary

data of articles or events dynamically. 3 popular RSS specifications include: RSS 2.0, RSS 1.0, and RSS

0.91. RSS 2.0 is the latest version. I encountered 3 types of methods for generating RSS feeds:

Manually coding and updating your RSS page. Store a text file in a database, and for every request generate an RSS

file from the text file using .NET and .NET’s HTTP handler to answer the request by sending the generated XML file to the requestor (used by James H. Byrd for magazines “Computer Companion” and “Logical Tips”).

Store your data in a database and generate an RSS file using .NET only when changes have been made (used by Nick Bradbury to generate feeds for his FeedDemon FAQ).

Page 5: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

RSS Security (Very New)

A number of aggregators now have support for SSL and Http authentication.

However, practically no feeds actually use security measures.

For more info go to:“Private RSS Feeds: Support for security in aggregators” by Steven Garrity

http://labs.silverorange.com/archives/2003/july/privaterss“RSS ‘security’” by Greg Reinacker

http://www.rassoc.com/gregr/weblog/archive.aspx?post=775“RSS ‘security’, part deux – Web-based aggregators” by Greg Reinacker

http://www.rassoc.com/gregr/weblog/archive.aspx?post=779

Page 6: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Sample RSS Feed

<?xml version="1.0" encoding="iso-8859-1" ?> <rss version="2.0"> <channel>  <title>RSS Feeds channel</title>   <description>General RSS Feed List</description>   <link>http://www.virginia.cs.edu/</link>   <lastBuildDate>Mon, 24 Jul 2006 14:50:22 GMT</lastBuildDate>   <docs>http://backend.userland.com/rss</docs>   <generator>RSS.NET: http://www.rssdotnet.com/</generator> <item>  <title>Consumer Reports Health Guide</title>   <link>http://www.consumerreports.org/rssfeed/crmgalerts.xml</link>   <pubDate>Mon, 24 Jul 2006 14:50:22 GMT</pubDate>   </item>  </channel>  </rss>

Page 7: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Requirements

The RSS feed must be updated each time a change has been made to the data in the database.

GUIs must be user friendly for both the client and admin application.

For the Client application: The application must be able to read and display RSS feeds. The application must update the information from the RSS feed in a

timely fashion wasting a minimal amount of resources.

Page 8: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Requirements Part 2

Requirements for Client Application continued: The user must be able to choose from a list provided which RSS

feeds to subscribe to in addition to the hospital feed.

The user should also be able to subscribe to any other feed. Clicking on a link should either open a browser page or load the

page in the application.

Page 9: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Requirements Part 3

For the Admin application: The application should verify that the user is an administrator. The user must be able to view an RSS feed as well as its source data in the

database. The user must be able to insert and/or delete entries in the database.

Page 10: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

My approach to solution

Create a database to hold announcements and lists of RSS feeds. Create a client program allowing the user to choose which RSS

feeds to join and view those feeds. Create an administrative program allowing the viewing of generated

RSS feeds as well as providing an interface for creating/updating a RSS feed.

Page 11: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Categorizing RSS Feeds

Doctor Oriented Feeds

Patient Oriented Feeds

General Feeds

Page 12: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Groups Example

User #1 User #2 User #3

Doctor Group

Patient Group

Staff Group

User #1’s First Group

User #3’s Group

Users

Relation to Hospital Groups

User Created Groups

User #1’s second Group

Page 13: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Some System Specs

The client/admin programs is written using the .NET environment. RSS.NET, an open source class library, will be used for writing and

reading RSS feeds. A web service is utilized to mediate between clientapp and the

database.

Page 14: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Deliverables

A method for creating and maintaining RSS feeds. client and admin applications for viewing and editing RSS feeds.

Page 15: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Results

adminapp and clientapp both ran on a different computer from the server in the lab after working with windows firewall.

Both applications fulfilled all requirements for this project except for adminapp, which is lacking an authentication module.

A method for users to create their own private rss feed and form groups was implemented in clientapp.

Page 16: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Demonstration

Page 17: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Evaluation

Time delay during updates is significant, but seems to be about the same for RSS Bandit, a free desktop RSS aggregator built on .NET.

Both client and administrative applications need more secure features in order for them to be used as a means for handling sensitive data safely.

For some, the long term caching mechanism is a useful feature for creating an archive of old RSS feeds, but may be a waste of hard drive space for others.

There is an issue with the updating of feeds without publish dates on their items.

There is no option for updating individual feeds. Updating all feeds can be an annoyance due to the update time.

adminapp is inflexible and limited in that the connection to server, database, and tables is hard coded. Additional databases and tables cannot be created or added.

RSS 0.91 feeds could not be written using RSS.NET. Much more work can be done to both applications.

Page 18: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Conclusions

RSS is a powerful tool for publishing news, viewing short summaries of web pages, archiving RSS items, and communicating with groups of users. Much more work can be done with RSS in terms of secure communications and application.

Page 19: Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee

Future Work

Strip html tags that pose to be security issues. Add support for the ATOM standard. Port the client application to other devices. Add support for SSL and Http authentication. Add search capability of cached feeds and/or associated web sites. Add caching capability of web sites associated with the items in the

cached feeds.