# Presentation: 542902

## XML Data Exchange Between DOJ Public Safety Responders and DOT Traffic Managers

**Richard Glassco – Mitretek Systems**
**David Kelley – Subcarrier Systems**
**9 June, 2005**

## Outline

**Background**
**Overview of standards for Intelligent Transportation Systems (ITS)**
**Overview of the Public Safety Information Exchange Project**
**Comparison of DOT and DOJ structures for incident management**

## Why are DOJ and DOT Starting to Work Together ?

**Many Government agencies have caught on to XML, but have developed internal XML-based data exchange systems independently**
**It is time for agencies to make XML systems compatible with each other for inter-agency data exchange**
**DOJ is reaching out with GJXDM / NIEM as a basis for inter-department coordination**
**DOT traffic managers and DOJ public safety and law enforcement responders have a strong interest in exchanging incident management data**

## Overview of the DOT ITS Program

**Joint Program Office for Intelligent Transportation Systems was founded within DOT in 1991 to facilitate deployment of technology to enhance the efficiency, safety, and convenience of surface transportation, resulting in improved access, saved lives and time, and increased productivity **
**Includes FHWA, NHTSA, FTA, FMCSA, FRA, and MARAD**
*“**The ITS program is based on the fundamental principle of intelligent vehicles and intelligent infrastructure and the creation of an intelligent transportation system through integration with and between these two components.***”**

## Major ITS Standards

**ATIS J2354 (Advanced Traveler Information System)**
**IM (Incident Management, aka IEEE 1512)**
**TMDD (Traffic Management Data Dictionary) and MS/ETMCC (Message Set for External Traffic Management Center Communications)**
**TCIP (Transit Communications Interface Protocol)**
**LRMS J2366 (Location Reference Message Specification)**
**ITIS (International Traveler Information Standard)**
**NTCIP-ESS (Environmental Sensor Stations)**
**DSRC – Dedicated Short Range Communications**
**NTCIP Device control (e.g. signal control, dynamic message signs, loop detectors, etc.)**

## Relationship among Major ITS Standards

**TCIP**

**ATIS**

**ITIS**

**TMDD**
**MS/EMTCC**

**IM**

**LRMS**

- Transit
-  Communications
- Interface Profile

- Location Reference
- Message Specification

- Advanced Traveler
- Information Systems

- Incident Management

- International Traveler
- Information System

- Traffic Management Data Dictionary

- Message Set for External
- Traffic Management Center
- Communications

**ESS**

- Environmental
- Sensor Stations

**A**

**B**

- All or part of standard A is
- referenced within standard B

## Structure of the 1512 Standard

**1512 has several components**
**1512 (Common Incident Management Message sets)**
**1512.1 (Traffic Management)**
**1512.2 (Public Safety)**
**1512.3 (Hazardous Materials)**
**1512.4 (Entities External to Centers)**
**There are 38 real-time message types, with required and optional components**
**The five components are interconnected**
**1512 references components defined in ATIS, ITIS, LRMS**

## Evolution of ITS Standards

**Developed and balloted independently by non-profit Standards Development Organizations (SDOs)**
**Now the standards are beginning to become more inter-connected**
**Written in Abstract Syntax Notation (ASN.1) and converted into XML, following recommendations of SAE Publication 2630**
**The conversion tool has been Mini-Edit from Subcarrier Systems**

## Current ITS Deployments

**Trial deployments of 1512 Incident Management Standard in WA, UT, NY**
**ATIS-based standards in use in Gary-Chicago-Milwaukee Corridor, San Francisco Bay Area, Arizona, Nebraska**
**Event Report Message (part of MS/ETMCC) used in Condition Acquisition and Reporting System (CARS) by Castle Rock in VT, NH, ME, CA, OR, WA, KY, IA, AK, NM, MN, FL ...**
**TCIP/ATIS Multi-Modal Prototype is now under way in Chicago**

## Structure of ITS Standards (Lowest to Highest)

_**Data Element**_**: single piece of data, e.g. name or date or vehicle model or number of fatalities**
_**Dataframe**_**: a collection of data elements relating to one thing, e.g., person, vehicle, location**
_**Message**_**: a collection of dataframes and data elements composing a complete packet of information exchanged in a document**
_**Dialog:**_** a pattern for one-way or two-way  message exchanges.  Dialogs are defined in Web Service Description Language (WSDL) statements, but not in XML schema**

## Current Public Safety Information Exchange Project

**Contracted by DOJ Bureau of Justice Assistance (BJA)**
**Includes major funding from DOT**
**Managed by the Integrated Justice Information Systems (IJIS) Institute**
**To develop a standards-based method to  exchange incident management information between DOJ and DOT agencies**

## IJIS Project Goal

**Exchange of incident management information between DOT and DOJ agencies ...**
**... ****in a form the recipients can readily use**
**... ****using standards-based XML documents**
**... that bridge the difference between IEEE 1512 and GJXDM.**

## Possible Approaches – to be Evaluated

**Add 1512 definitions to GJXDM**
**Replace some GJXDM definitions with 1512 definitions**
**Create a GJXDM Information Exchange Package (GIEP) with exchanged structures**
**Add GJXDM definitions to 1512**
**Replace some 1512 definitions with GJXDM definitions**
**“****Translate” GJXDM documents to 1512 compatibility and vice versa**
**Combination of these approaches**

## More Features of the Public Safety Information Exchange Project

**Steering Committee composed of experienced people nominated by DOJ and DOT**
**Laboratory and field testing**
**Several trial implementations for testing the results**
**Results are to be applicable across the country, not custom or proprietary systems**
**Results available within a year**

## Tasks for this Project; Apply to all DOJ-DOT data exchange

**Work needed to define DOJ incident management data fields most useful to DOT and vice versa**
**Update 1512 references to JXDD so that they now work with GJXDM**
**Work needed to make data in one standard available to users of other standard**
**If changes are made to either standard, do so with minimum disruption to agencies currently using the standard or building systems to do so**
**Follow up on trial integrations of public safety and traffic management**

## Similarities Between DOT Standards and DOJ (GJXDM)

**Both create and re-use dataframes to manage data content**
**Both were developed with lots of input from user and technical communities**
**Both have persons, vehicles, events defined (though style and contents of definitions are quite different)**
**Both use XML namespaces to import vocabularies from several other standards**
**Both transmit XML files as part of SOAP messages or HTTP POST payload**
**Both make XML files available on websites (XML Direct)**

## Differences Between IEEE 1512 and GJXDM

| DOJ GJXDM | IEEE 1512 |
| --- | --- |
| One central coordinator for GJXDM (XSTF and GTRI) | Separate SDOs for different standards |
| Used for reporting and record-keeping, some incident management, and research | Primarily used for real-time traffic management – potentially incomplete data |
| Users build their own message GIEPs using components from GJXDM | Messages are specified in the defining schemas (though with many options) |
| Object oriented (heavy use of inheritance and relationships) | Not object oriented |
| Makes heavy use of ID and Reference fields | Ids and References seldom used |

## Example 1:1512 Definition of Driver License

- <xs:simpleType name="**DriverLicAndState**">
-  <xs:annotation>
** ** <xs:documentation>**an encoding from D20 that has both the issuing state and the unique drivers license number in it**</xs:documentation>
** **</xs:annotation>
-   <xs:restriction base="**string**">
** ** <xs:minLength value="**3**" />
** ** <xs:maxLength value="**27**" />
** **</xs:restriction>
- </xs:simpleType>

**Use: **An encoded field containing both the state or issuing jurisdiction
- (first two characters) and the driver license number (last 25 characters),
-  as per D20 "Driver License State / Province And Number" formatting rules.
-   Note that the issuing jurisdiction is a wider set of possible values than simply
-  the 50 states.

- <xs:element name="**licAndState**" type="**jxdd:DriverLicAndState**"/>

## Example 1:GJXDM Definition of Driver License

- <xsd:complexType name="**DrivingJurisdictionAuthorityIDType**">
-  <xsd:complexContent>
-   <xsd:extension base="**IDType**">
-     <xsd:sequence>
** **    <xsd:element ref="**DrivingJurisdictionAuthorityCode**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  </xsd:sequence>
** **</xsd:extension>
** **</xsd:complexContent>
- </xsd:complexType>

- <xsd:element name="**PersonDriverLicenseID**" type="**DrivingJurisdictionAuthorityIDType**" />

- <xsd:complexType name="**IDType**">
-  <xsd:complexContent>
-    <xsd:extension base="**SuperType**">
-     <xsd:sequence>
** **    <xsd:element ref="**ID**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **    <xsd:element ref="**IDTypeText**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **    <xsd:element ref="**IDExpirationDate**" minOccurs="**0**" maxOccurs="**unbounded**" />
-       . . .
** ** </xsd:sequence> ...

- <xsd:element name="**ID**" type="**TextType**" />

- <xsd:element name="**DrivingJurisdictionAuthorityCode**" type="**j-ansi_d20:JurisdictionAuthorityCodeType**" />

## Example 1:Instances of Driver License

** ** <licAndState>**VAB12-34-5678**</licAndState>

-  <PersonDriverLicenseID>
-  <ID>**B12-34-5678**</ID>
-  <IDExpirationDate>**2006-05-20**</IDExpirationDate>
-  <DrivingJurisdictionAuthorityCode>**VA**</DrivingJurisdictionAuthorityCode>
-  </PersonDriverLicenseID>

**GJXDM:**

**1512:**

## Example 2:1512 Definition of Witness

- <xs:complexType name="**WitnessIdenty**">
-  <xs:sequence>
** ** <xs:element name="**id**" type="**ReferenceID**" />  <!-- the object id of this person in the system ** ** -->
** ** <xs:element name="**role**" type="**RoleInEvent**" minOccurs="**0**" />  <!-- [ITE.TCIP.imddRoleInIncident] ** ** -->
** ** <xs:element name="**roleText**" type="**FreeText**" minOccurs="**0**" />  <!-- a free text Roles in the event ** ** -->
** ** <xs:element name="**name**" type="**PersonName**" minOccurs="**0**" />  <!-- a structured multi-part name ** ** -->
** ** <xs:element name="**addr**" type="**lrms:LocationReference**" minOccurs="**0**" />  <!-- LRMS address profile -->
** ** <xs:slement name="**contactInfo**" type="**atis:ContactInformation**" minOccurs="**0**" />
** ** <xs:element name="**qual**" type="**Reliability**" minOccurs="**0**" />
-       <!-- reliability estimate of above data set note that this allows a witness by witness value ** ** -->
** **<xs:element name="**localWitnessIdenty**" type="**local:WitnessIdenty**" minOccurs="**0**" />
-  </xs:sequence>
- </xs:complexType>

## Example 2:GJXDM Definition of Witness

- <xsd:complexType name="**WitnessType**"> <xs:complexContent>
-   <xssd:extension base="**PersonType**">
-    <xs:sequence>
** **  <xsd:element ref="**WitnessID**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**WitnessIDReference**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**WitnessAccountDescriptionText**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**WitnessLocationDescriptionText**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**WitnessDate**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**WitnessTime**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**WitnessReportVerifiedIndicator**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**WitnessWillTestifyIndicator**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**WitnessSpecialConditionText**" minOccurs="**0**" maxOccurs="**unbounded**" />
** ** </xsd:sequence>
-  </xsd:extension> </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="**PersonType**">
-  <xsd:complexContent>
-   <xsd:extension base="**SuperType**">
-    <xsd:sequence>
** **  <xsd:element ref="**PersonName**" minOccurs="**0**" maxOccurs="**unbounded**" />
** **  <xsd:element ref="**PersonNameReference**" minOccurs="**0**" maxOccurs="**unbounded**" />
-     <xsd:element ref="**PersonAlternateName**" minOccurs="**0**" maxOccurs="**unbounded**" /> ...
-  </xsd:sequence> ...

## Example 2:Instance of Witness element

- <witnessIdenty>
-  <id>**123456789**</id>
-  <role>**passenger**</role>
-  <roleText>**back seat**</roleText>
-  <name>
** **<firstname>**Jane**</firstname>
** **<lastname>**Doe**</lastname>
-  </name>
-  <contactInfo>
-   <phones>
-    <phone>
** **  <number>**7038441212**</number>
** **</phone>
-   </phones>
-  </contactInfo>
-  <qual>
-   <percent>**90**</percent>
-  </qual>
- </witnessIdenty>

- <IncidentWitness>
-  <PersonName>
** ** <PersonGivenName>**Jane**</PersonGivenName>
** ** <PersonSurName>**Doe**</PersonSurName>
-  </PersonName>
-  <PersonMaidenName>**Jones**</PersonMaidenName>
-  <PrimaryContactInformation>
-   <ContactTelephoneNumber>
** ** <TelephoneNumberFullID>**703-844-1212**
-     </TelephoneNumberFullID>
** **</ContactTelephoneNumber>
** **</PrimaryContactInformation>
** ** <WitnessID>**123456789**</WitnessID>
** **<WitnessLocationDescriptionText>**Back seat**
**  **</WitnessLocationDescriptionText>
-   <WitnessDate>**2005-04-15**</WitnessDate>
-   <WitnessWillTestify>**true**</WitnessWillTestify> </IncidentWitness>

**1512:**

**GJXDM:**

## Conclusion

**We have established a working relationship between DOJ and DOT representatives**
**There is some overlap in subject area but differences in how overlapping concepts are represented**
**We will continue working toward the goal of interoperability – more useful real-time information for traffic managers and public safety responders **
**We will take into account how GJXDM is being generalized to become the NIEM**