# Presentation: 484636

## Driver History JXDD Model Validation

- September 4, 2003

## The Pennsylvania JNET XML Vision

**This JNET Blueprint established a requirement for the usage of “a standard criminal justice file format to support the electronic interchange of data”. **
**It further stated “XML provides information about the data itself and how it relates to other data.  In essence, XML is emerging as a standard for web-based delivery of data in agreed-upon name-value pairs.”**

**The Pennsylvania JNET XML Vision**

## The Pennsylvania JNET XML Vision

**A globally accepted, criminal justice focused, XML data standard is essential to accomplishing the strategy.**
**JNET is, and has always been, in 100% support of “Facilitating information sharing and integrated justice by reducing impediments, such as standards, cost, and time.”**
**JNET is committed to being part of the enablement process to more effectively provide  information sharing and communications among the many justice/public-safety agencies at the local, state, and federal levels.**

**The Pennsylvania JNET XML Vision**

## XML Technical Strategy

**XML Syntax,  DTD, JNET Messages**

**Justice XML Data Model and Schema **

**Service/Process Definition - ebXML**

**Justice RDF/OWL **

**Semantic Web **

**We are here**

**XML Technical Strategy**

## XML Design Approach

**Understand Justice Data Model**

**Map data source object model to  **
**Justice data model**

**Fill the gap:**
**Add extensions and restrictions**
**Add local elements**

**Define data mapping between data source and XML**

**Define transformation rules between XML and web presentations**

**Start**

**XML Design Approach**

## Data Source Structure

| Record Type | Record Description | Record Body Length | Total Record Length |
| --- | --- | --- | --- |
| CUS0001 | Name | 123 | 130 |
| CUS0002 | Address | 123 | 130 |
| CUS0003 | Information | 123 | 130 |
| CUS0004 | Non-Commercial  | 123 | 130 |
| CUS0005 | Commercial | 123 | 130 |
| CUS0006 | Probationary | 123 | 130 |
| CUS0007 | Occupational  | 123 | 130 |
| VAC | Action | 61 | 65 |
| VCD | Conviction Date | 61 | 65 |
| VCI | Court Info | 61 | 65 |
| VCT | Space | 61 | 65 |
| VDS | Description | 61 | 65 |
| VIL | Violation | 61 | 65 |
| VLD | Violation Date | 61 | 65 |
| VPD | Process Date | 61 | 65 |
| VSP | Space | 61 | 65 |

| Record Type | Record Description | Record Body Length | Total Record Length |
| --- | --- | --- | --- |
| ACC | Accident Date | 61 | 65 |
| ATD | Vehicle Type | 61 | 65 |
| ACL | Accident Location | 61 | 65 |
| MAC | Action | 61 | 65 |
| MCD | Conviction Date | 61 | 65 |
| MCI | Court Info | 61 | 65 |
| MDS | Description | 61 | 65 |
| MIL | Violation | 61 | 65 |
| MLD | Violation Date | 61 | 65 |
| MPD | Process Date | 61 | 65 |
| MSP | Space | 61 | 65 |
| DCL | ACT 143 Disclaimer | 61 | 65 |
| PLA | PL Action | 61 | 65 |
| PLE | End PL Action | 61 | 65 |
| OLA | OL Action | 61 | 65 |
| OLE | End OL Action | 61 | 65 |

**Data Source Structure**

| Object

 |
| --- |
| Driver |
| Address |
| Driver |
| Authorization
 |
| Authorization |
| Authorization |
| Authorization |
| Violation  |
| Violation |
| Violation |
|  |
| Violation |
| Violation |
| Violation |
| Violation |
|  |

| Object

 |
| --- |
| Accident |
| Accident |
| Accident |
| Medical |
| Medical |
| Medical |
| Medical |
| Medical |
| Medical |
| Medical |
|  |
| Violation
 |
| Violation |
| Violation |
| Violation |
| Violation |

## Object Model

**Driver History**

**Driver**

**Address**

**Driver Accident**

**Driver Accident**

**Driver Accident**

**Driver Accident**

**Driver Authorization**
**(DL)**

**Driver Authorization**
**(CDL)**

**Driver Authorization**
**(PL)**

**Driver Authorization**
**(OLL)**

**Driver Incident**
** ****(Medical)**

**Driver Incident**
** ****(Medical)**

**1**

**1,***

**1,***

**0,1,***

**0,1,***

**0,1,***

**0,1,***

**Driver Incident**
** ****(Violation)**

**Driver Incident**
** ****(Violation)**

## Object Mapping

| Object Name | JNET Type | JXDD Base Type | JNET Extension |
| --- | --- | --- | --- |
| Driver | DriverType | jxdd3:PersonType | DriverRecordTypeElement |
| Address |  | jxdd3:AddressType |  |
| DLAuthorization, 
CDLAuthorization, 
PLAuthorization, 
OLLAuthorization | DriverAuthorizationType | jxdd3:DriverAuthorizationType | DriverLicenseClassCode, 
DriverOrignalAuthorizationIssueDate, 
DriverLicenseLearnerPermitClassCode, 
DriverLicenseStatusElement, 
DriverLicenseSchoolBusEndorsementDescriptionText |
| ViolationIncident, 
MedicalIncident | DriverIncidentType | jxdd3:IncidentType
jxdd3:ConvictionType
jxdd3:ActivityType
jxdd3:CourtActivityType | Act143Disclaimer,
Consequence (Action, PLAction, OLLAction, ResponseAction)
ProcessDate |
| DriverAccident | DriverAccidentType | jxdd3:DriverIncedentType | VehicleTypeDescriptionText |

## Schema Diagram

## Message Structure

**DriverHistory**

**Driver**

**jxdd3:PersonGivenName**
**jxdd3:PersonMiddleName**
**jxdd3:PersonSurName**
**jxdd3:PersonSuffixName**

**jxdd3:PersonBirthDate**

**jxdd3:PersonName**

**jxdd3:PersonAssignedIDDetails**

**jxdd3:PersonDriverLicenseID**

**jxdd3:PersonPhysicalDetails**

**jxdd3:PersonSexText**
**jxdd3:PersonSexCode**

**DriverRecordTypeElement**

**jxdd3:Address**

**jxdd3:StreetFullText**

**jxdd3:AddressCityName**

**jxdd3:AddressStreet**

**jxdd3:AddressStateCode**

**usps:USStateCodeTypeElement**

**jxdd3:AddressPostalCodeID**

**DLAuthorization**
**CDLAuthorization**
**OLLAuthorization**
**PLAuthorization**

**jxdd3:DriverAuthorizationIssueDate**
**jxdd3: DriverAuthorizationExpirationDate**
**jxdd3: DriverAuthorizationEndorsementCode**

**DriverLicenseClassCode**

**jxdd3:DriverAuthorizationRestriction**

**jxdd3: DrivingRestrictionDescriptionText**

**DriverOriginalAuthorizationIssueDate**

**DriverLicenseLearnerPermitClassCode**

**DriverLicenseStatusElement**

**DriverLicenseSchoolBusEndorsementDescdriptionText**

**DriverAccident**

**jxdd3: ActivityDate**

**jxdd3: IncidentLocation**

**jxdd3: LocationDescriptionText**

**VehicleType**

**DriverLicenseStatusCode**
**DriverLicenseStatusDescriptionText**

**DriverRecordTypeCode**
**DriverRecordTypeDescriptionText**

**ViolationIncident**
**MedicalIncident**

**jxdd3: ActivityTypeText **
**jxdd3: ActivityDescriptionText**
**jxdd3: ActivityDate **

**Action**
**PLAction**
**OLLAction**
**ResponseAction**

**jxdd3: ActivityDate **

**jxdd3:Incident**

**jxdd3: ActivityCommentText**

**jxdd3: Conviction**

**jxdd3: CourtActivity**

**ProcessDate**

**Consequence**

**Act143Disclaimer**

**jxdd3: ActivityResultText **

## Data Element Mapping

## Code Tables

| Table Name | Entries | Example |
| --- | --- | --- |
| Sex Code | 3 | F, M, U |
| Driver Record Type Code | 44 | A2, A4, BP, B2, B4, PS, ..., XX |
| Driver License Class Code (non-commercial, commercial, OLL, PL, Learner permit) | 4 | A, B, C, M |
| Driver License Medical Restriction Code | 29 | A, B, C, ..., Z, 1, 2, ..., 8 |
| Driving Privilege Status Code (non-Commercial) | 48 | AC, AD, ..., ZZ |
| Commercial Endorsement | 7 | H, N, O, P, S, T, X |
| Commercial License Restriction | 5 | B, C, E, I, L |
| Driving Privilege Status Code (Commercial) | 42 | AC, AD, ..., ZZ |
| School Bus Endorsement | 3 | VAL, NOT, space |
| PL License Status | 4 | PP, RD, P3, CP |
| OLL License Status | 2 | PO, RO |
| Vehicle Type  | 9 | 01, 02, ..., 09 |

**Code Tables**

## Technology, Platforms, and Tools

| Technology 
Standards  | Product 
Platforms | Development 
Tools |
| --- | --- | --- |
| XML Schema v1.1
XSLT v1.0
J2EE v1.3 
JDK v1.3 
JMS v1.0.1 
LDAP v3
SSL v3
x.509 v3 
 | BEA Weblogic Server 6.1
IBM WebsphereMQ 5.3
Sun iPlanet Directory v4.x
Custom message broker
MS NT4, W2K | XML Spy 5.0
TogetherControlCenter v6
Apache Xerces2 Java XML Parser
 |

## Infrastructure for Driver Info

**Infrastructure for Driver Info**

## Scale – Volume, Size, Speed, ...

| Daily Volume |  |
| --- | --- |
| Max | 250~300 |
| Min | 40~50 |
| Ave | 125 |
| Message Size |  |
| Max | 55K |
| Min | 1.5K |
| Ave | 8.5K |
| Performance |  |
| Roundtrip | ~1.26 sec |
| JNET  | ~0.65 sec |
| Mainframe | ~0.61 sec |
| Usage |  |
| Authorized Users for DH | 4774 (41% of total JNET users) |
| Active Users | 744 |
| Average request / per day | 120~130 |
| Average request /per day/per user | 5 |

## Cost Estimation

| Overall cost: $350K which includes: |
| --- |
| JXDD research
Understanding JXDD
Strategy, methodology
Data source analyses
Understanding data
Object Modeling
Data mapping
XML design work 
Schema
Transformation (mainframe to XML)
Presentation style sheet
Application development
Web app
Security
Application and system integration
Testing and deployment |

*** Hardware and software costs are not covered.**

## Benefits, Barriers, Options

| Benefits
Wider domain coverage (LE, Courts, Corrections, Probations, Drivers/Vehicles, etc.)
Object model (reusable, extendable, manageable objects)
Flexible object structure (optional, multiple)
Some standardized codes |
| --- |
| Barriers
Lack of support to define accurate metadata (easy to extend but not easy to restrict)
Validation performance suffers (may need performance oriented XML parser)
More generalization and fewer specialization (a balance between wider and deeper)
Lack of training/education program (CBT for basics and workshop for advanced) |
| Development Options
Consider JXDD as a Data Model, design application schemas using inheritance and extensions based on JXDD
This will have higher JXDD compliance, reusability and extendibility  
It will lose the ability to accurately define metadata such as multiplicity and optional element applicability
Practically, it’s not for real time validation applications due to performance and metadata accuracy 
Consider JXDD as a Reference Data Model, design application schemas as local schemas
This will provide a thin and accurate schema to support validation/performance oriented application
When JXDD changes/upgrades, there is no impact on local schema so that the local schema loses compliance
When the schema grows, it eventually would hit performance problem 
Future version of JXDD
It’s the direction the technology is heading (from structure to semantic)
It’s not prime time yet.
Others ? |

## Demo

**Driver Photo Lookup**

**Driver History Report**

**Demo**

## Driver Photo Lookup

**Driver Photo Lookup**

## Driver Photo Lookup (continue)

**Driver Photo Lookup (continue)**

## Driver Photo Lookup (continue)

**Driver Photo Lookup (continue)**

## Driver Photo Lookup (continue)

**Driver Photo Lookup (continue)**

## Driver Photo Lookup (continue)

**Driver Photo Lookup (continue)**

## Driver History

**Driver History**

## Driver History (continue)

**Driver History (continue)**

## Driver History (continue)

**Driver History (continue)**

## Driver History (continue)

**Driver History (continue)**

## Driver History (continue)

**Driver History (continue)**

## Q & A