US Government Web Services and XML Data Sources
Load and stress tested with SiteBlaster
USGovXMLIcon.JPG
Home     Index     About     Contact     Examples     HealthGuide     Help    
US Government Data Sources

US Government Web Services and XML Data Sources

Welcome to USGovXML. USGovXML is an index to publically available web services and XML data sources that are provided by the US government. USGovXML indexes data sources from all 3 branches of government as well as its boards, commissions, corporations and independent agencies. USGovXML documents, in one place and in a uniform manner, the web services and XML data sources that are provided by the US government. It includes detail information about the data source (i.e. name, description, links to documentation, tech support, etc.) as well as source code snippets (written in C#) to help developers better understand how the data sources can be used. When snippets are presented, the projects in which those snippets were extracted can be downloaded as zip files. If an example is available, the Example link on the page describing the data source will be highlighted. Clicking on the link will redirect you to a location that contains the zip file. To use these projects, developers will need Visual Studio 2008 (or later), .Net Framework 3.5 (or later) and a connection to the internet.

HealthGuide

Our experience documenting and working with government data has led to the development of the HealthGuide. The HealthGuide is a web based application that helps the user learn more about drugs, medical conditions, health care providers and support groups. More specifically, the HealthGuide provides information about:

• Clinical practice guidelines
• Clinical trials
• Dialysis facilities
• Drugs used to treat AIDS/HIV
• Drug-drug interactions
• FDA drug labels
• FDA firm issued recalls
• Health centers
• Health organizations
• Hospitals
• Medical equipment suppliers
• Medicare certified home health agencies
• MedlinePlus health topics
• Nursing Homes

The information provided by the HealthGuide is obtained from publically available web services and data sources, many of which are documented on this site. These data sources are provided by the National Library of Medicine and other agencies within the US Department of Health and Human Services.

Mobile Apps

As a demonstration of the utility of these publically available data sources, some of them have been used to create mobile applets which can be accessed from a SmartPhone! These applets are available at the following URL: www.usgovxml.com/mobile.

Terms You Need To Know

The ubiquity of the internet, its open standards and information sharing technologies make it the ideal vehicle for the exchange of information between the government, its business partners and the general public. Some of the technologies being used to facilitate the exchange of information are XML, KML, KMZ, REST, XQuery, RSS and Web Services.

Term Description
KML Keyhole Markup Language. It is a form of XML specific to geographic annotation and visualization. KML was developed for use with Google Earth.
KMZ Refers to a main KML file and 0 or more supporting files that have been compressed into a ZIP file format.
RDF Resource Description Framework. RDF is an XML-based format that has features which facilitate data merging even if the underlying schemas are different. Also, RDF specifically supports the evolution of schemas over time without requiring that all data consumers be changed.
REST Representational State Transfer. Used in this site to refer to the embedding of xml data in a URL.
RSS Really Simple Syndication. It is an XML-based format for distributing and aggregating Web content. When an RSS file is viewed in an RSS reader (i.e. a browser), the information that it contains will be formatted for display. However, the RSS file can be consumed and processed programatically just as any XML file can be consumed and processed. A comprehensive listing of RSS feeds from the US Government is available at USA.gov.
SOA Service Oriented Architecture is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains.
SOAP Simple Object Access Protocol. It is an XML based protocol for exchanging messages between web services.
WSDL Web Services Description Language. It is an XML based language for defining the web service’s interface as well as its implementation characteristics.
XQuery A language for querying xml documents.
XML eXtensible Markup Language. It is a universal format for structured documents and data on the web.

XML in a Nutshell

XML is a technique for organizing data. The primary characteristic of XML is that the name of the data is encoded along with the data. The following example will illustrate how the name John Doe might be coded in XML:

    <name>John Doe</name>

The data, John Doe, has been enclosed between <name> and </name>. Together, <name> and </name> are referred to as a tag. Thus we say, XML data is coded as tag/value pairs. In our example, <name></name> is the tag and John Doe is the value.

Note that the only difference between the opening tag (<name>) and the closing tag (</name>) is the slash ( / ). The slash is critical and is used to denote the end of the data.

XML also supports the nesting of tag/value pairs as the following example will illustrate:

    <name>
        <firstName>John</firstName>
        <lastName>Doe</lastName>
    </name>

The <firstName> and <lastName> tags have been concatenated and nested within the <name> tag. The nesting and concatenation of tag/value pairs allows complex data structures to be represented in a way that would be very difficult in other data formatting techniques such as fixed record length or comma delimited.

Just as with other data formatting techniques, applications must agree on the structure of the xml file (i.e. document). If an application created an xml document as per the first example and passed it to an application that expected an xml document as per the second example, the application receiving the xml document would not be able to process the data correctly. Therefore, for applications to interoperate using XML documents, they must agree upon an xml document structure. To ensure that an xml document conforms to the agreed upon standard, it can be validated against an XML schema.

Among other things, the XML schema identifies the structure of the xml document, its tags and the type of the data (i.e. numeric, date, string, etc.) associated with each tag. By having a reference point with which to compare an incoming document, the application receiving the document can validate that it conforms to the standard before it begins to process it.

In its entirety, XML is a very broad topic with many books being written about it. To delve any deeper into XML is well beyond the scope of this site.

Web Services in a Nutshell

A web service is an application that provides functionality to remote applications (i.e. client) over the internet. The packet of data being exchanged between the web service and the client is called a message. The structure of the message is XML and the messaging protocol is SOAP. Messages are communicated between the web service and the client via the HTTP communications protocol. Because HTTP is also the same protocol for information exchange between web browsers and web servers, HTTP/SOAP messages can generally be exchanged between the web service and its client without additional firewall considerations.

A WSDL file is an XML file that is used to document the functionality (aka operations) that a web service provides, the data that is required to execute each of its functions, the data that is returned from the service, the URL of the service, etc.. With this information, a software developer can properly build a request message and know where to send it. The developer will also know the structure of any data being returned by the service.

Other Comprehensive Indexes of US Government Information

The purpose of this site is to index government information that is published in the form of http web services and (non RSS or ATOM) XML data sources. Since the US Government publishes a lot of data in formats that aren't appropriate for this site, there are numerous data sources that aren't indexed here. If you can't find what you are looking for here, you may want to consider the following sites:

Data.gov The purpose of Data.gov is to "increase public access to high value, machine readable datasets generated by the Executive Branch of the Federal Government".
US Government Printing Office The GPO is migrating its data collections from GPO Access to GPO's FDSys whose mission is to "provide public access to Government information submitted by Congress and Federal agencies and preserved as technology changes".
USA.gov USA.gov contains a comprehensive set of RSS feeds from the US government. It also identifies many soures of Business Data and Statistics, Data and Statistics – General Reference Resources as well as many online government libraries.


 

Terms of Use     Contact     Mobile    

Copyright © 2008-2011 USGovXML.com All rights reserved.