# A few IM MSGs (examples)

DEFINITION:
Data about the type of cargo units carried and their condition. Note that the "contains" structure allows for a complex description of the contents. This structure is used in the IDX message of the BS as a new type of submessage, and as part of the Cargo Vehicle message.

MESSAGE-BODY:
SEQUENCE {
    id              CargoUnitID,
                    -- the reference number for this unit / object
                    -- (typically assigned by the CAD, such as "123:ase:321")    
    handle          IA5String(SIZE(1..32)) OPTIONAL,
                    -- a human readable / assigned name for the object
                    -- (typically assigned by on scene personal, such as "red_truck")
    condition       SEQUENCE OF UnitCondition,
                    -- the overall condition of this cargo unit    
    conditionText   IA5String(SIZE(0..255)) OPTIONAL,
                    -- any free text condition of this cargo unit
    axleCount       AxleCount OPTIONAL,
    cargoUnitType   SEQUENCE OF CargoPackageType OPTIONAL,
                    -- a list of common cargo types, includes 
                    -- one for free text 
                    -- which follows below (e.g. Trailer, MC307, 
                    -- Hopper-Car, etc.)
                    -- observe that a single cargo unit may have 
                    -- more than one type associated with it
    cargoUnitText   IA5String(SIZE(0..20)) OPTIONAL,
                    -- text describing the type of cargo unit 
                    -- when the above types do not fit
    contains        SEQUENCE OF Contents OPTIONAL,     
                    -- information on any specific packages 
                    -- and cargo found here
                    -- includes proper shipping name, hazmat 
                    -- labels, and location within unit
    towingIssues    IA5String(SIZE(0..255)) OPTIONAL,
                    -- any special issues with recovery or towing to be
                    -- aware of would be placed here.  
    time            Issue-Stamp,   
                    -- time/version stamp 
                    -- this type is defined in the Base standard
    qual            Reliability, 
                    -- reliability estimate of the above 4 DEs
                    -- this type is defined in the Base standard   
    -- see the CommercialVehicle submessage (which this 
    -- structure is used in)for information about commercial 
    -- registration values see the Cargo submessage for 
    -- information about contents
    ...
    }
cargoUnits IDX-PART-MESSAGE ::= {
     &name     "descriptions of cargo and contents itself",
     &id       3002,    
     &Type     CargoUnits
     }

REMARKS:
There is also another message dealing with the contents and shipping papers.

XML-SCHEMA:
<xs:element name="cargoUnits" type="CargoUnits"/>
<xs:complexType name="CargoUnits" >
      <xs:sequence>
         <xs:element name="id" type="CargoUnitID" />
         <!-- the reference number for this unit / object
(typically assigned by the CAD, such as "123:ase:321") -->
         <xs:element name="handle"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="1"/>
                  <xs:maxLength value="32"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- a human readable / assigned name for the object
(typically assigned by on scene personal, such as "red_truck") -->
         <xs:element name="condition" >
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="condition-item" type="UnitCondition" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="conditionText"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="255"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="axleCount" type="AxleCount"  minOccurs="0"/>
         <xs:element name="cargoUnitType"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="cargoUnitType-item" type="CargoPackageType" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="cargoUnitText"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="20"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- text describing the type of cargo unit
         when the above types do not fit -->
         <xs:element name="contains"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="contain" type="Contents" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="towingIssues"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="255"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- any special issues with recovery or towing to be
         aware of would be placed here. -->
         <xs:element name="time" type="Issue-Stamp" />
         <!-- time/version stamp
         this type is defined in the Base standard -->
         <xs:element name="qual" type="Reliability" />
         <!-- reliability estimate of the above 4 DEs
         this type is defined in the Base standard
         see the CommercialVehicle submessage  (which this
         structure is used in) for information about commercial
         registration values see the Cargo submessage for
         information about contents -->
      </xs:sequence>
</xs:complexType>


DEFINITION:
Descriptions of a cargo carrying vehicle and/or cargo container. This may be used for commercial purposes, or private, or illegal, in fact any type of vehicle.  The header section allows an overall characterization of the vehicle.  The registration area allows the capture of many commercial registration data elements.  The "power units" allows capture of one or more power units.  Typically a roadway vehicle will have one (or perhaps none in the case of a trailer abandonment) power units, where as a train or barge may have several.  In a similar fashion there may be none, one, or more cargo units (each with cargo contents inside).  It is typically not vital to fill out this data structure to the Nth degree of cargo package detail unless this is pertinent to the response of the incident.  For example the towing free text section (which allows the description of any unique requirements or plan which is to be followed) would also be left blank unless some unusual event called for providing data.  In practice it is expected that only the important top level data will be provided and the message would be updated (using the update methods of the BS) with further data as conditions warranted. This structure is used in the IDX message of the BS as a new type of submessage.

MESSAGE-BODY:
SEQUENCE {
     
    summary              ComVehicleHeader OPTIONAL,
                        -- various key codes about the gross type and 
                        -- condition of the vehicle and cargo and the 
                        -- presence of placard or warning data 
                        -- (details in another message)
    registration        SEQUENCE OF ComReg OPTIONAL,
                        -- data concerning the commercial 
                        -- registration values, note that this dupicates data found 
                        -- in the powerunits below. It need not be sent twice. 
    powerUnits          SEQUENCE OF PowerUnits OPTIONAL,
                        -- data about the truck, train or other power 
                        -- unit single vehicles (cargo components 
                        -- attached) are here as well as illegal 
                        -- vehicles found to be hauling
    cargoUnits          SEQUENCE OF CargoUnits OPTIONAL,
                        -- data about the cargo units (trailers, 
                        -- containers etc...) contents and shipping 
                        -- papers can be found in another message
    refToPlacards       IA5String(SIZE(0..15)) OPTIONAL,
                        -- a unique code to link to any IDX 
                        -- submessage with placard 
                        -- or warning data for this vehicle
    other               IA5String(SIZE(0..1000)) OPTIONAL,
                        -- free text information
    towing              IA5String(SIZE(0..1000)) OPTIONAL,
                        -- any further data on tow points or recovery process
    time                Issue-Stamp,   
                        -- time/version stamp 
                        -- this type is defined in the Base standard
    qual                Reliability, 
                        -- reliability estimate of the above 4 DEs
                        -- this type is defined in the Base standard
    ...
     }
cargoVehicle IDX-PART-MESSAGE ::= {
     &name     "descriptions of a vehicle used for cargo carrying purposes",
     &id       3003,    
     &Type     CargoVehicle
     }

REMARKS:
The various registration numbers, cargo, trailers, and condition of each.

XML-SCHEMA:
<xs:element name="cargoVehicle" type="CargoVehicle"/>
<xs:complexType name="CargoVehicle" >
      <xs:sequence>
         <xs:element name="summary" type="ComVehicleHeader"  minOccurs="0"/>
         <!-- various key codes about the gross type and
         condition of the vehicle and cargo and the
         presence of placard or warning data
         (details in another message) -->
         <xs:element name="registration"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="registration-item" type="ComReg" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="powerUnits"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="powerUnit" type="PowerUnits" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="cargoUnits"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="cargoUnit" type="CargoUnits" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="refToPlacards"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="15"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- a unique code to link to any IDX
         submessage with placard
         or warning data for this vehicle -->
         <xs:element name="other"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="1000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="towing"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="1000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="time" type="Issue-Stamp" />
         <!-- time/version stamp
         this type is defined in the Base standard -->
         <xs:element name="qual" type="Reliability" />
         <!-- reliability estimate of the above 4 DEs
         this type is defined in the Base standard -->
      </xs:sequence>
</xs:complexType>


DEFINITION:
A summary of cargo shipping papers and manifest data. Commercial carriers (and some others) are required to carry paperwork describing the nature of the load and highlighting hazardous materials.  This information can prove to be vital in an incident.  Sometimes this information can be obtained from the driver, from the shipper, or from another source.  
This data frame allow a one to one capture of that information.  A header section allows capture of key data about the shipment, while a shipping entry section allows a line by line capture of the shipped contents.  As with the other messages, the use of arbitrary ID fields allows the CAD to connect relationships between various cargo, vehicles and data obtained from differing sources.
Note that while this DF is called "Cargo" it can be used equally well in cases of illegal shipping and incident events not involving a commercial carrier where cargo must still be described. This structure is used in the IDX message of the BS as a new type of submessage.

MESSAGE-BODY:
SEQUENCE {
     
    packageUnitID   PackageUnitID OPTIONAL,
                    -- link to which package unit this 
                    -- information refers to  
                    -- this is WITHIN the cargo unit below 
                    -- and would typically
                    -- only be used when this level of detail 
                    -- was useful to the responder
    handlePack      IA5String(SIZE(1..32)) OPTIONAL,
                    -- a human readable / assigned name for the object
                    -- (typically assigned by on scene personal, such as "red_box")
    cargoUnitID     CargoUnitID OPTIONAL,
                    -- link to which cargo unit this information 
                    -- refers to this is required on events 
                    -- involving trains or other multi-cargo 
                    -- carriers
    handleCargo     IA5String(SIZE(1..32)) OPTIONAL,
                    -- a human readable / assigned name for the object
                    -- (typically assigned by on scene personal, such as "red_van")
    vehicleUnitID   PowerUnitID OPTIONAL,
                    -- refers to which power unit, used only 
                    -- when there is not separate cargo unit, 
                    -- such as the case of a passenger vehicle
                    -- or a small truck.  In this case there 
                    -- would be no cargoUnitID
    handleVec       IA5String(SIZE(1..32)) OPTIONAL,
                    -- a human readable / assigned name for the object
                    -- (typically assigned by on scene personal, such as "red_truck")
    cargoCondtion   UnitCondition OPTIONAL,
                    -- condition of cargo or power unit in general  
    shippingHeader  ShippingHeader,
                    -- general information, general response number,
    shippingEntry   SEQUENCE OF ShippingEntry OPTIONAL,
                    -- sets of entries about the cargo containing data
                    -- as required by CRF 47/171 for shipments
    source          FoundOn OPTIONAL,
                    -- what was the source of the above information
    other           IA5String(SIZE(0..65000)) OPTIONAL,
                    -- free text information
    time            Issue-Stamp,   
                    -- time/version stamp 
                    -- this type is defined in the Base standard
    qual            Reliability, 
                    -- reliability estimate of the above 4 DEs
                    -- this type is defined in the Base standard
    ...
    -- observe that it is the cargo or vehicle unit ID that 
    -- provides the key to connect cargo information to a specific 
    -- vehicle, trailer, container, etc.and any information on 
    -- placards and vehicle or container condition
    }
cargoDocs IDX-PART-MESSAGE ::= {
     &name     "descriptions of cargo conditon and shipping papers",
     &id       3001,    
     &Type     CargoDocs
     }

REMARKS:
Contents and markings as per federal codes with various contact numbers.

XML-SCHEMA:
<xs:element name="cargoDocs" type="CargoDocs"/>
<xs:complexType name="CargoDocs" >
      <xs:sequence>
         <xs:element name="packageUnitID" type="PackageUnitID"  minOccurs="0"/>
         <!-- link to which package unit this
         information refers to
         this is WITHIN the cargo unit below
         and would typically
         only be used when this level of detail
         was useful to the responder -->
         <xs:element name="handlePack"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="1"/>
                  <xs:maxLength value="32"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- a human readable / assigned name for the object
(typically assigned by on scene personal, such as "red_box") -->
         <xs:element name="cargoUnitID" type="CargoUnitID"  minOccurs="0"/>
         <!-- link to which cargo unit this information
         refers to this is required on events
         involving trains or other multi-cargo
         carriers -->
         <xs:element name="handleCargo"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="1"/>
                  <xs:maxLength value="32"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- a human readable / assigned name for the object
(typically assigned by on scene personal, such as "red_van") -->
         <xs:element name="vehicleUnitID" type="PowerUnitID"  minOccurs="0"/>
         <!-- refers to which power unit,  used only
         when there is not separate cargo unit,
         such as the case of a passenger vehicle
         or a small truck.  In this case there
         would be no cargoUnitID -->
         <xs:element name="handleVec"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="1"/>
                  <xs:maxLength value="32"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- a human readable / assigned name for the object
(typically assigned by on scene personal, such as "red_truck") -->
         <xs:element name="cargoCondtion" type="UnitCondition"  minOccurs="0"/>
         <xs:element name="shippingHeader" type="ShippingHeader" />
         <xs:element name="shippingEntry"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="shippingEntry-item" type="ShippingEntry" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="source" type="FoundOn"  minOccurs="0"/>
         <xs:element name="other"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="65000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="time" type="Issue-Stamp" />
         <!-- time/version stamp
         this type is defined in the Base standard -->
         <xs:element name="qual" type="Reliability" />
         <!-- reliability estimate of the above 4 DEs
         this type is defined in the Base standard -->
         <xs:element name=":::" type="-X-" />
         <xs:element name="unit" type="ID" />
         <xs:element name="that" type="-X-" />
         <!-- vehicle,  trailer,  container,  etc.and any information on
         placards and vehicle or container condition -->
      </xs:sequence>
</xs:complexType>


DEFINITION:
A data structure used to hold information relating to "NFPA 704 Diamonds" found on buildings and containers or to the HMIS label found on various containers.  The NFPA Diamond uses numbers and color codes to identify Health risks (in blue), Flammability (in red), Instability (in yellow), and Special Hazards (in white). The HMIS system is similar. HMIS labels always appear as a rectangle-shaped block of four colored bars with a blue "health" bar on top, a red "flammability" below that, followed by a yellow "reactivity" bar and a white "PPE" bar. At times there may be additional space on the label for other information, including product name, supplemental warnings, manufacturer information, or additional information. Both systems rate the severity of the hazard on a scale of 0 to 4 with 4 being the most severe.  Textual information can be found in the special hazards section or PPE section, although common acronyms are also often used.  While typically this information will come from a non-mobile object (such as a building), it is possible that it will be found on cargo while in transport as well.  It should be noted that there are a number of defined terms used in white "specialHazard" portion of the sign, however common usage is that many ad hoc phrases also appear.  CAD vendors may wish to provide a combination of established local terms as well as the ability to input free text in the operators user interface design.

MESSAGE-BODY:
SEQUENCE {
    damagePresent       BOOLEAN OPTIONAL, 
                        -- true if label is not visible or damaged
    codeSystem          RatingType,      -- NFPA 704 or HMIS
    fireHazard          INTEGER (0..4),  -- in NFPA the top, red, diamond
                                         -- in HMIS the 2nd from the top red rectangle
    healthHazard        INTEGER (0..4),  -- in NFPA the left, blue, diamond 
                                         -- in HMIS the top blue rectangle
                                         -- note that NFPA and HMIS do NOT use the 
                                         -- same ratings and meanings for this field
    chronicHazard       BOOLEAN OPTIONAL, -- used in HMIS, denoted as an asterisk in 
                                         -- the health field of the label
    instablityHazard    INTEGER (0..4),  -- also called "reactivity" in some texts
                                         -- in NFPA the right, yellow, diamond
                                         -- in HMIS the 3rd from the top yellow rectangle
    specialHazard       IA5String(SIZE(0..200)), 
                                         -- in NFPA the bottom white diamond
                                         -- in HMIS the bottom white rectangle
    labels              IA5String(SIZE(0..200)), 
                        -- any other label type markings found nearby
    other               IA5String(SIZE(0..200)),
                        -- any other comments relating to the data
    ...
    }

XML-SCHEMA:
<xs:complexType name="NFPA-HMIS" >
      <xs:sequence>
         <xs:element name="damagePresent"  minOccurs="0">
            <xs:simpleType>  
               <xs:restriction base="xs:boolean"/> 
            </xs:simpleType>  
         </xs:element>
         <xs:element name="codeSystem" type="RatingType" />
         <xs:element name="fireHazard" >
            <xs:simpleType>
               <xs:restriction base="xs:unsignedByte">
                  <xs:maxInclusive value="4"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- in NFPA the top,  red,  diamond
         in HMIS the 2nd from the top red rectangle -->
         <xs:element name="healthHazard" >
            <xs:simpleType>
               <xs:restriction base="xs:unsignedByte">
                  <xs:maxInclusive value="4"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- in NFPA the left,  blue,  diamond
         in HMIS the top blue rectangle
         note that NFPA and HMIS do NOT use the
         same ratings and meanings for this field -->
         <xs:element name="chronicHazard"  minOccurs="0">
            <xs:simpleType>  
               <xs:restriction base="xs:boolean"/> 
            </xs:simpleType>  
         </xs:element>
         <!-- used in HMIS,  denoted as an asterisk in
         the health field of the label -->
         <xs:element name="instablityHazard" >
            <xs:simpleType>
               <xs:restriction base="xs:unsignedByte">
                  <xs:maxInclusive value="4"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
<!-- also called "reactivity" in some texts
         in NFPA the right,  yellow,  diamond
         in HMIS the 3rd from the top yellow rectangle -->
         <xs:element name="specialHazard" >
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="200"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- in NFPA the bottom white diamond
         in HMIS the bottom white rectangle -->
         <xs:element name="labels" >
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="200"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="other" >
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="200"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
      </xs:sequence>
</xs:complexType>


DEFINITION:
A data structure used by the Placards-Labels-Signage message to convey information about two part orange warning often found on  bulk intermodal containers and on international shipments. The material ID element allows not only the product identity to be sent, but other key data such as the technical name and PSN when known.

MESSAGE-BODY:
SEQUENCE {
    -- these items are common to this type of signage
    hazardIdentNumber   HazardIdentNumber OPTIONAL,
                        -- used in some bulk intermodal containers
                        -- and on international shipments 
                        -- (the upper portion of a two level orange legend)
    materialID          SEQUENCE OF MaterialID OPTIONAL,
                        -- material ID number and what 
                        -- format (UN/NA) if known as well as PSN and trade names
                        -- the "4-digit identification" number terminology is the 
                        -- is the product ident number of this structure
    partialData         SEQUENCE OF PartialDescriptions OPTIONAL,
                        -- when a complete identification of a placard or label
                        -- can not be made, partial information such as color,
                        -- icons, or other descriptions can be selected here
                        -- the free text should be used for free format data
    freeText            IA5String(SIZE(0..200)) OPTIONAL,
                        -- when the partial Data is set to indicate free text,
                        -- that text appears here
  ...
  }

XML-SCHEMA:
<xs:complexType name="OrangeLabel" >
      <xs:sequence>
         <xs:element name="hazardIdentNumber" type="HazardIdentNumber"  minOccurs="0"/>
         <!-- used in some bulk intermodal containers
         and on international shipments
         (the upper portion of a two level orange legend) -->
         <xs:element name="materialID"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="materialID-item" type="MaterialID" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="partialData"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="partialData-item" type="PartialDescriptions" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="freeText"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="200"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <!-- when the partial Data is set to indicate free text,
         that text appears here -->
      </xs:sequence>
</xs:complexType>


DEFINITION:
This data frame is used to describe the conditions found in a lane.  In this context "lane" is used to indicate any portion of roadway including ramps, shoulders, bridges and other special types of roadway and network links where the status must also be known.  Typically it is found inside a "SEQUENCE OF" statement so that multiple lanes descriptions can be grouped within a link or segment of roadway.  The enclosing message will provide the start times of the event and of the report as well as additional information regarding any cause/effect/advice information.

MESSAGE-BODY:
SEQUENCE  {
   laneSelect   TMDD.Event-lanes-affected    OPTIONAL,
                -- a bit string indicating which lanes this applies top (a mask)
                -- numbered from the inside lane with shoulder as the first bit
                -- all one's taken as all lanes, regardless of the count value below
   laneCnt      TMDD.Link-lane-count         OPTIONAL,
                -- the number of nominal lanes for the link, used as a mask for above
                -- zero indicates the count is unknown
   type         ITIScodes(8192..8447)        OPTIONAL,
                -- the ITIS code for various lane types 
                -- such as: HOV, left, right, all, ramp, bridge, etc.
   location     ITIScodes(7936..8191)        OPTIONAL,
                -- the ITIS code for generic locations beside a lane 
                -- such as: opposing lanes, on ramps, etc...
   condition    ITIScodes(768..1023)         OPTIONAL,
                -- the ITIS codes for various conditions for the lane
                -- such as: blocked, closed, closed ahead, clearing, etc
   estClearTime ATIS.DateTimePair            OPTIONAL,
                -- the point in time when the above conditions are estimated to be
                -- removed and the flow over the lane/link returned to normal
   furtherInfo  FreeText                     OPTIONAL,
                -- if information on why the lane(s) was closed, or how the lane(s) 
                -- was closed, or what will allow it to reopen is needed, place such 
                -- data in free text here. Limit use to only lane inforamtion, do not
                -- use it for general event information. 
   -- When one of the above items does not apply (i.e. would be represented as zero) 
   -- then it should not be sent. 
   -- Note that first two elements may require the same map db in order to fully 
   -- exchange and understand between centers.
   ...
   }

REMARKS:
The above data frame is used by both IEEE in the IM work and by SAE in the ATIS work.  A similar format is expected to be used by ITE in the TMDD work as well.  Implementers should check with the data registry process to determine if a final harmonized version has been established and then agree to use that in their deployments once it exists.  Note that a LRMS entry may also be found in use to denote labe data for sub-parts of the event.

XML-SCHEMA:
<xs:complexType name="LaneDescription" >
      <xs:sequence>
         <xs:element name="laneSelect" type="tmdd:Event-lanes-affected"  minOccurs="0"/>
         <!-- a bit string indicating which lanes this applies top  (a mask)
         numbered from the inside lane with shoulder as the first bit
all one's taken as all lanes, regardless of the count value below -->
         <xs:element name="laneCnt" type="tmdd:Link-lane-count"  minOccurs="0"/>
         <!-- the number of nominal lanes for the link,  used as a mask for above
         zero indicates the count is unknown -->
         <xs:element name="type"  minOccurs="0">
            <xs:simpleType> 
               <xs:restriction base ="ITIScodes">
                  <xs:minInclusive value="8192"/>
                  <xs:maxInclusive value="8447"/>
               </xs:restriction>
            </xs:simpleType> 
         </xs:element>
         <!-- the ITIS code for various lane types
         such as: HOV,  left,  right,  all,  ramp,  bridge,  etc. -->
         <xs:element name="location"  minOccurs="0">
            <xs:simpleType> 
               <xs:restriction base ="ITIScodes">
                  <xs:minInclusive value="7936"/>
                  <xs:maxInclusive value="8191"/>
               </xs:restriction>
            </xs:simpleType> 
         </xs:element>
         <!-- the ITIS code for generic locations beside a lane
         such as: opposing lanes,  on ramps,  etc ... -->
         <xs:element name="condition"  minOccurs="0">
            <xs:simpleType> 
               <xs:restriction base ="ITIScodes">
                  <xs:minInclusive value="768"/>
                  <xs:maxInclusive value="1023"/>
               </xs:restriction>
            </xs:simpleType> 
         </xs:element>
         <!-- the ITIS codes for various conditions for the lane
         such as: blocked,  closed,  closed ahead,  clearing,  etc -->
         <xs:element name="estClearTime" type="atis:DateTimePair"  minOccurs="0"/>
         <!-- the point in time when the above conditions are estimated to be
         removed and the flow over the lane/link returned to normal -->
         <xs:element name="furtherInfo" type="FreeText"  minOccurs="0"/>
         <!-- if information on why the lane (s)  was closed,  or how the lane (s)
         was closed,  or what will allow it to reopen is needed,  place such
         data in free text here. Limit use to only lane inforamtion,  do not
         use it for general event information.
         When one of the above items does not apply  (i.e. would be represented as zero)
         then it should not be sent.
         Note that first two elements may require the same map db in order to fully
         exchange and understand between centers. -->
      </xs:sequence>
</xs:complexType>


DEFINITION:
This sub message is used to provide a general purpose description of events.  This is the "post it note" message, the best one for carrying simple text between centers.  It needs to be reworked to use the ITIS codes more and to fit with the ATIS message set better. 
This is an IDX sub message.  In the original base standard all of the IDX sub message were published in a single (very long) listing.  In this edition each one will be broken out into its own listing and some usage commentary will be given.  At this time, this new text still remains to be written.

MESSAGE-BODY:
SEQUENCE {
   agencyReporting    CptddAgencyID,
                      -- [ITE.TCIP.cptddAgencyID]
                      -- ID of agency reporting incident
   incType            Event-description-type-incident OPTIONAL,
                      -- [ITE.TCIP.Event-description-type-incident]
   incSubType         IM-IncidentSubtype OPTIONAL, 
                      -- incident sub type code
                      -- [ITE.TCIP.IM-IncidentSubtype]
   descripShortText   IM-IncidentDescShort OPTIONAL,
                      -- [ITE.TCIP.imddIncidentDescShort]
                      -- short text description
   descripLongText    IM-IncidentDescLong OPTIONAL,
                      -- [ITE.TCIP.imddIncidentDescLong]
                      -- long text description
   incidentCmdr       IM-ResponseEmployeeID OPTIONAL,
                      -- [ITE.TCIP.imddResponseEmployeeID]
                      -- ID of Incident Commander
   time               Issue-Stamp,
                      -- time/version stamp 
   qual               Reliability, 
                      -- reliability estimate of the above 6 DEs
   descripWitnesses   Witness-list OPTIONAL,
                      -- set of witness statements, each paired with description
                      -- of witness and reliability estimate
   ...                -- # LOCAL_CONTENT
   }
   -- Description Submessage, "incident Description information"
   -- needs extensive re-work to use ITIS and ATIS methods

SOURCE:
DRAFT IEEE P1512.0 (Revised Base Std, IM)

XML-SCHEMA:
<xs:complexType name="Description" >
      <xs:annotation>
         <xs:documentation>       
Description Submessage, "incident Description information"
            needs extensive re-work to use ITIS and ATIS methods
         </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="agencyReporting" type="CptddAgencyID" />
         <!-- [ITE.TCIP.cptddAgencyID]
         ID of agency reporting incident -->
         <xs:element name="incType" type="Event-description-type-incident"  minOccurs="0"/>
         <xs:element name="incSubType" type="IM-IncidentSubtype"  minOccurs="0"/>
         <!-- incident sub type code
         [ITE.TCIP.IM-IncidentSubtype] -->
         <xs:element name="descripShortText" type="IM-IncidentDescShort"  minOccurs="0"/>
         <!-- [ITE.TCIP.imddIncidentDescShort]
         short text description -->
         <xs:element name="descripLongText" type="IM-IncidentDescLong"  minOccurs="0"/>
         <!-- [ITE.TCIP.imddIncidentDescLong]
         long text description -->
         <xs:element name="incidentCmdr" type="IM-ResponseEmployeeID"  minOccurs="0"/>
         <!-- [ITE.TCIP.imddResponseEmployeeID]
         ID of Incident Commander -->
         <xs:element name="time" type="Issue-Stamp" />
         <xs:element name="qual" type="Reliability" />
         <xs:element name="descripWitnesses" type="Witness-list"  minOccurs="0"/>
         <!-- set of witness statements,  each paired with description
         of witness and reliability estimate -->
         <xs:element name="localDescription" type="local:Description" minOccurs="0"/>
      </xs:sequence>
</xs:complexType>


DEFINITION:
This sub message is used to convey various reports received from the field that are to be shared with other centers.  This can range from simple updates on conditions provided by members of your agency or center, to witness statements and information provided by other sources that you wish to inject into the IDX description of the event.  It needs to use the NCIC data element better here and also declare and describe an object type for each report so that it can be tracked over time.  
This is an IDX sub message.  In the original base standard all of the IDX sub message were published in a single (very long) listing.  In this edition each one will be broken out into its own listing and some usage commentary will be given.  At this time, this new text still remains to be written.

MESSAGE-BODY:
SEQUENCE OF SEQUENCE {	
   prevIncID         IM-EventIDSystem OPTIONAL,
                     -- [ITE.TCIP.imddEventIDSystem]
                     -- incident ID for preverification report
   sourceType        IM-SourceType OPTIONAL,
                     -- [ITE.TCIP.imddSourceType]
                     -- type of source from which report came
   prevIncType       Event-description-type-incident OPTIONAL,
                     -- [ITE.TMDD.Event-description-type-incident]
                     -- incident type for preverification report
   prevIncSubtype    IM-IncidentSubtype OPTIONAL,
                     -- [ITE.TCIP.imddIncidentSubtype]
                     -- incident subtype for preverification report
   prevIncDescShort  IM-IncidentDescShort OPTIONAL,
                     -- [ITE.TCIP.imddIncidentDescShort]
                     -- incident short description for preverification report
   prevIncDescLong   IM-IncidentDescLong OPTIONAL,
                     -- [ITE.TCIP.imddIncidentDescLong]
                     -- incident long description for preverification report
   prevIncLoc        LRMS OPTIONAL,
                     -- Based on [SAE.LRMS.ANY]
                     -- LRMS profile for best estimate of point location of
                     -- preverification report incident
                     -- can use non-point profile if better suited
                     -- than a point profile, e.g., address value
   time              Issue-Stamp, 
                     -- time/version stamp for this entry
   qual              Reliability,
                     -- reliability estimate for this entry
   ...               -- # LOCAL_CONTENT
   }
   -- Reports, Reporting Submessage, "agency preverification reporting information"

XML-SCHEMA:
<xs:complexType name="Reports" >
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element name="report" >
           <xs:complexType>
              <xs:sequence>
                 <xs:element name="prevIncID" type="IM-EventIDSystem"  minOccurs="0"/>
                 <!-- [ITE.TCIP.imddEventIDSystem]
                 incident ID for preverification report -->
                 <xs:element name="sourceType" type="IM-SourceType"  minOccurs="0"/>
                 <!-- [ITE.TCIP.imddSourceType]
                 type of source from which report came -->
                 <xs:element name="prevIncType" type="Event-description-type-incident"  minOccurs="0"/>
                 <!-- [ITE.TMDD.Event-description-type-incident]
                 incident type for preverification report -->
                 <xs:element name="prevIncSubtype" type="IM-IncidentSubtype"  minOccurs="0"/>
                 <!-- [ITE.TCIP.imddIncidentSubtype]
                 incident subtype for preverification report -->
                 <xs:element name="prevIncDescShort" type="IM-IncidentDescShort"  minOccurs="0"/>
                 <!-- [ITE.TCIP.imddIncidentDescShort]
                 incident short description for preverification report -->
                 <xs:element name="prevIncDescLong" type="IM-IncidentDescLong"  minOccurs="0"/>
                 <!-- [ITE.TCIP.imddIncidentDescLong]
                 incident long description for preverification report -->
                 <xs:element name="prevIncLoc" type="LRMS"  minOccurs="0"/>
                 <!-- Based on [SAE.LRMS.ANY]
                 LRMS profile for best estimate of point location of
                 preverification report incident
                 can use non-point profile if better suited
                 than a point profile,  e.g.,  address value -->
                 <xs:element name="time" type="Issue-Stamp" />
                 <xs:element name="qual" type="Reliability" />
                 <xs:element name="localReports" type="local:Reports" minOccurs="0"/>
              </xs:sequence>
           </xs:complexType>
        </xs:element>
      </xs:sequence>
</xs:complexType>


DEFINITION:
This sub message is used to describe an evacuation plan on a small or large scale.  It allows sending the reason for the (proposed or actual) evaluation and then can be used with the staging areas sub message to tell people where to go or where to assemble.  It can be used with the ATIS routes (need re-write) to describe an evacuation path to be used. 
This is an IDX sub message.  In the original base standard all of the IDX sub message were published in a single (very long) listing.  In this edition each one will be broken out into its own listing and some usage commentary will be given.  At this time, this new text still remains to be written.

MESSAGE-BODY:
SEQUENCE OF SEQUENCE {
   evacuationData     Evacuation-Data,
                      -- consists of area that may need to be evacuated
                      -- coded list of cause of concern
                      -- text expressing likelihood of need to evacuate
   routeSets SEQUENCE OF SEQUENCE {
                      -- one or more routes for Evacuation
                      id        INTEGER OPTIONAL,
                      name      IA5String(SIZE(1..200)) OPTIONAL,
                      route SEQUENCE OF SEQUENCE {
                            -- the proposed route: pairs of points and times
                            waypoint       LRMS,
                                           -- Based on [SAE.LRMS.ANY]
                                           -- a waypoint, any LRMS profile,
                            when           GeneralizedTime OPTIONAL 
                            },
                      ...
                      } OPTIONAL,
   time               Issue-Stamp,    
                      -- time/version stamp 
   ...                -- # LOCAL_CONTENT
   }
   -- Evacuation Data Area,  "Evacuation information",

XML-SCHEMA:
<xs:complexType name="Evacuation" >
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element name="evacuation-item" >
           <xs:complexType>
              <xs:sequence>
                 <xs:element name="evacuationData" type="Evacuation-Data" />
                 <!-- consists of area that may need to be evacuated
                 coded list of cause of concern
                 text expressing likelihood of need to evacuate -->
                 <xs:element name="routeSets"  minOccurs="0">
                    <xs:complexType>
                       <xs:sequence minOccurs="0" maxOccurs="unbounded">
                         <xs:element name="routeSet" >
                            <xs:complexType>
                               <xs:sequence>
                                  <xs:element name="id"  minOccurs="0">
                                     <xs:simpleType>   
                                        <xs:restriction base="xs:int"/>
                                     </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="name"  minOccurs="0">
                                     <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                           <xs:minLength value="1"/>
                                           <xs:maxLength value="200"/>
                                        </xs:restriction>
                                     </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="route" >
                                     <xs:complexType>
                                        <xs:sequence minOccurs="0" maxOccurs="unbounded">
                                          <xs:element name="route-item" >
                                             <xs:complexType>
                                                <xs:sequence>
                                                   <xs:element name="waypoint" type="LRMS" />
                                                   <!-- Based on [SAE.LRMS.ANY]
                                                   a waypoint,  any LRMS profile, -->
                                                   <xs:element name="when" type="GeneralizedTime"  minOccurs="0"/>
                                                </xs:sequence>
                                             </xs:complexType>
                                          </xs:element>
                                        </xs:sequence>
                                     </xs:complexType>
                                  </xs:element>
                               </xs:sequence>
                            </xs:complexType>
                         </xs:element>
                       </xs:sequence>
                    </xs:complexType>
                 </xs:element>
                 <xs:element name="time" type="Issue-Stamp" />
                 <xs:element name="localEvacuation" type="local:Evacuation" minOccurs="0"/>
              </xs:sequence>
           </xs:complexType>
        </xs:element>
      </xs:sequence>
</xs:complexType>


DEFINITION:
This structure describes material and product compounds.  It contains the Material ID number and what format (numbering system, i.e. UN/NA) if known.  The proper DOT shipping names as well as the manufacturer's trade name and the key chemical ingredients can be described.  Much of this information can be taken directly from the shipping papers when commercial cargo is involved.  In cased where material are found during the event (perhaps an incident involving materials of trade or some other non-shipment) then the manufacturer's product name can often be used by responders in conjunction with external databases to determine a suitable response approach.

MESSAGE-BODY:
SEQUENCE {
    value     INTEGER(0..10000)           OPTIONAL,
              -- the product identification number (as per NAERG or UN numbers)
    type      ReferenceSource             OPTIONAL,  
              -- UN or NA numbering used in the above
    psn       ProperShippingName          OPTIONAL,  
              -- Proper shipping name (PSN)  
              -- as defined by DOT regs  
    techName  SEQUENCE OF TechnicalName   OPTIONAL,  
              -- Technical Product Names (key ingredients)
              -- one name per entry, no other formatting
              -- such as "contains:" or "," to be added
              -- use this format when concentrations are
              -- not known or do not matter 
              -- and leave contents (below) blank
    contents  ConcentrationRange          OPTIONAL, 
              -- Technical Product Names along with 
              -- percentage concentrations of each 
              -- use this format when concentrations need to 
              -- be sent to others, and leave techName blank
    packGroup INTEGER(0..10)              OPTIONAL,  
              -- packing group, if known  
    tradeName TradeName                   OPTIONAL,    
              -- The manufacturer product or trade name    
    where     FoundOn                     OPTIONAL   
              -- where was this information found
    }

XML-SCHEMA:
<xs:complexType name="MaterialID" >
      <xs:sequence>
         <xs:element name="value"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:unsignedShort">
                  <xs:maxInclusive value="10000"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="type" type="ReferenceSource"  minOccurs="0"/>
         <xs:element name="psn" type="ProperShippingName"  minOccurs="0"/>
         <!-- Proper shipping name  (PSN)
         as defined by DOT regs -->
         <xs:element name="techName"  minOccurs="0">
            <xs:complexType>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element name="techName-item" type="TechnicalName" />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="contents" type="ConcentrationRange"  minOccurs="0"/>
         <!-- Technical Product Names along with
         percentage concentrations of each
         use this format when concentrations need to
         be sent to others,  and leave techName blank -->
         <xs:element name="packGroup"  minOccurs="0">
            <xs:simpleType>
               <xs:restriction base="xs:unsignedByte">
                  <xs:maxInclusive value="10"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="tradeName" type="TradeName"  minOccurs="0"/>
         <xs:element name="where" type="FoundOn"  minOccurs="0"/>
      </xs:sequence>
</xs:complexType>


# DEs

DEFINITION:
Must not start with an empty table, have at least one entry in it.

REMARKS:
These bit designations are extensible, so at either the national or local level, new center attributes can be added. Originally a BIT STRING, this entry was changed to be an Enumeration and uses of it were changes to be sequences of it.

XML-SCHEMA:
<xs:simpleType name="About-Center" >
      <xs:annotation>
         <xs:appinfo>
            no data known (0) -- set 1 if below data is not known
             -- set 1 if answer is yes to questions below:
            own others (1) -- does this center control other centers?
            temporary (2) -- is this center transitory in nature?
            ics (3) -- is this an incident command system-ICP center
            multi Agency (4) -- do multiple agencies use this single center?
            mobile (5) -- is the center in fact a vehicle  (e.g. ,
            has plans (6) -- does center have response plans loaded?
            automated (7) -- automated data source  (no human dispatcher)
             -- values 8 through 31 reserved for future ITS use
             -- values 32 through 63 reserved for local use
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="7"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="no data known"/>
               <xs:enumeration value="own others"/>
               <xs:enumeration value="temporary"/>
               <xs:enumeration value="ics"/>
               <xs:enumeration value="multi Agency"/>
               <xs:enumeration value="mobile"/>
               <xs:enumeration value="has plans"/>
               <xs:enumeration value="automated"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


# ExternalDEs

DEFINITION:
The all-purpose Location Reference Message Set (LRMS) message used in all of ITS.

MESSAGE-BODY:
LRMS.LocationReference

-- Which is in turn defined in the LRMS module as 
LocationReference ::= CHOICE
   {
   geometry            GeometryProfile,
   geocoordinate       GeographicCoordinate,
   grid                GridProfile,
   linearReferencing   LinearReferenceProfile,
   crossStreets        CrossStreetsProfile,
   address             AddressProfile,
   mdi                 ModelProfile
   }

REMARKS:
At this time the entire LRMS system is being adopted as an SAE standard.  Consult that effort for the most current defintions of the elements which make up this structure.


DEFINITION:
External data element taken originally from TMDD work and then merged into the ITS-wide ITIS codes.  A code which indicates a status of the incident.  This is taken from a sub range of ITIS codes called "Incident Response Status".

SOURCE:
Adopted SAE J2540-2  (ITIS Phrases), March 2002

XML-SCHEMA:
<xsd:simpleType name="Event-IncidentStatus">
   <xsd:union>
      <xsd:simpleType>
         <xsd:restriction base="xsd:unsignedInt">
            <xsd:minInclusive value="2816"/>
            <xsd:maxInclusive value="3071"/>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="unconfirmed report"/>
            <xsd:enumeration value="initial response en-route"/>
            <xsd:enumeration value="follow-up response en-route"/>
            <xsd:enumeration value="initial response on scene"/>
            <xsd:enumeration value="follow-up response on scene"/>
            <xsd:enumeration value="confirmed report"/>
            <xsd:enumeration value="scene is unsecured at this time"/>
            <xsd:enumeration value="response scene secured"/>
            <xsd:enumeration value="rescue and recovery work in progress"/>
            <xsd:enumeration value="extraction in progress"/>
            <xsd:enumeration value="clearance work in progress"/>
            <xsd:enumeration value="body removal operations"/>
            <xsd:enumeration value="fire / containment contained"/>
            <xsd:enumeration value="fire / containment not contained"/>
            <xsd:enumeration value="event cleared"/>
            <xsd:enumeration value="traffic clearing"/>
            <xsd:enumeration value="incident closed"/>
         </xsd:restriction>
      </xsd:simpleType >
   </xsd:union>
   <xsd:annotation>
      <xsd:appinfo>
         unconfirmed report (2817)
         initial response en-route (2818)
         follow-up response en-route (2819)
         initial response on scene (2820)
         follow-up response on scene (2821)
         confirmed report (2822)
         scene is unsecured at this time (2823) 
         -- Caution this has different meanings in PS use
         response scene secured (2824) 
         -- Caution this has different meanings in PS use
         rescue and recovery work in progress (2825)
         extraction in progress (2826)
         clearance work in progress (2827)
         body removal operations (2828)
         fire / containment contained (2829)
         fire / containment not contained (2830)
         event cleared (2831) 
         -- Meaning that responder has left scene, not that surrounding traffic has cleared to a normal level
         traffic clearing (2832)
         incident closed (2833) 
-- A "case closed" meaning which can differ considerably by local agency policies
      </xsd:appinfo>
   </xsd:annotation>
</xsd:simpleType>


DEFINITION:
External data element taken from TMDD.  A code which indicates the types of vehicles involved in a verified incident.

VALID-VALUE-RULE:
BIT STRING
{
   otherNoInfo       (0) -- Other No Additional Information; 
   otherInfo         (1) -- Other Additional Information (follows in message)
   transitBus        (2) -- Public Transit Bus; 
   lightRail         (3) -- Light Rail; 
   commuterRail      (4) -- Commuter/Passenger Rail; 
   freightRail       (5) -- Freight Rail; 
   publicSafety      (6) -- Public Safety Vehicle; 
   Convertible       (7) -- Convertible (excludes sun-roof, t-bar); 
   twoDoorHardtop    (8) -- 2-door sedan, hardtop, coupe; 
   twoDoorHatchback  (9) -- 3-door/2-door hatchback; 
   ... 
   -- consult TMDD for other values
   } (0..255)

REMARKS:
Originally this was defined as a BIT STRING now changed to be an ENUMERATED type for use in this standard.  Consult TMDD for a complete and current list of items.

SOURCE:
Adopted ITE TMDD Standard TM1.03 Amendment 1, March 19, 2001

XML-SCHEMA:
<xs:simpleType name="Event-IncidentVehiclesInvolved" >
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt"/>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string"/>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The total number of vehicles involved in an incident.

XML-SCHEMA:
<xs:simpleType name="Event-IncidentVehiclesInvolvedCount" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  A bit string which indicates the lanes and shoulders affected by an event (e.g. an incident, roadway closure, special event).

VALID-VALUE-RULE:
(SIZE(1..15))
-- Select one bit per lane.  
-- Lanes are numbered from the median out beginning with 1. 
-- 0 and 15 represent left shoulder and right shoulder, respectively.

REMARKS:
Note that this element is not expected to be used in many parts of ITS, as the lane description data frame of this standard (which relates the same information) makes it unneeded.

XML-SCHEMA:
<xs:simpleType name="Event-LanesBlockedOrClosedCount" >
      <xs:annotation>
         <xs:documentation>       
            Select one bit per lane.
            Lanes are numbered from the median out beginning with 1.
            0 and 15 represent left shoulder and right shoulder,  respectively.
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="binary">
         <xs:minLength value="1"/>
         <xs:maxLength value="15"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  A free-text description of the response plan to follow.

VALID-VALUE-RULE:
(SIZE(1..10000))
-- bound at 10,000 char for use.  TMDD has no bound

XML-SCHEMA:
<xsd:simpleType name="Event-ResponsePlanText">
   <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="10000"/>
   </xsd:restriction>
</xsd:simpleType>


DEFINITION:
The NCIC Object data frame, taken from the Justice XML model which is, in turn, taken from NCIC-2000 and D20 to make up the basic elements.  See the Justice XML effort for the complete sets of definitions in XML and the respective standards for the underlying authoritative definition documents.  In this standard this data frame is used as an all-purpose way to contain information about a person regardless of the role they have played in the event.  In the justice XML effort this definition forms a basic object type which other more specific types of objects (guns, types of stolen property, jewelry, etc.) inherent from and add to as required.  Note that no local expansion is allowed to be added to this definition.  If local expansion is required, it can be added in the using definition (typically the WatchForObject data frame).  Note that the ASN.1 to XML conversion process here uses an odd capitalization format for the XML elements.  This is to follow the conventions of the Justice XML schema, which differs from the conventions used in this standard and the rest of the ITS.

MESSAGE-BODY:
SEQUENCE {
   -- builds from SuperType in the JXDD effort
   typeText              SEQUENCE OF PropertyTypeText OPTIONAL, -- # UNTAGGED  
   typeCode              SEQUENCE OF PropertyTypeCode OPTIONAL, -- # UNTAGGED
   descriptionText       SEQUENCE OF PropertyDescriptionText OPTIONAL, -- # UNTAGGED
   actionText            SEQUENCE OF PropertyActionText OPTIONAL, -- # UNTAGGED  
   assignedIDDetails     SEQUENCE OF PropertyAssignedIDDetails OPTIONAL, -- # UNTAGGED  
   conditionText         SEQUENCE OF PropertyConditionText OPTIONAL, -- # UNTAGGED 
   disposition           SEQUENCE OF PropertyDisposition OPTIONAL, -- # UNTAGGED  
   location              SEQUENCE OF PropertyLocation OPTIONAL, -- # UNTAGGED
   physicalDetails       SEQUENCE OF PropertyPhysicalDetails OPTIONAL, -- # UNTAGGED  
   owner                 SEQUENCE OF PropertyOwner OPTIONAL, -- # UNTAGGED
   possessor             SEQUENCE OF PropertyPossessor OPTIONAL, -- # UNTAGGED  
   possessionDescriptionText SEQUENCE OF PropertyPossessionDescriptionText 
                             OPTIONAL, -- # UNTAGGED  
   registration          SEQUENCE OF PropertyRegistration OPTIONAL, -- # UNTAGGED
   title                 SEQUENCE OF PropertyTitle OPTIONAL, -- # UNTAGGED  
   status                SEQUENCE OF PropertyStatus OPTIONAL, -- # UNTAGGED 
   usageText             SEQUENCE OF PropertyUsageText OPTIONAL, -- # UNTAGGED  
   valueDetails          SEQUENCE OF PropertyValueDetails OPTIONAL, -- # UNTAGGED 
   weaponIndicator       SEQUENCE OF PropertyWeaponIndicator OPTIONAL, -- # UNTAGGED 
   weaponUsageIndicator  SEQUENCE OF PropertyWeaponUsageIndicator OPTIONAL, -- # UNTAGGED
   weaponUseText         SEQUENCE OF PropertyWeaponUseText OPTIONAL, -- # UNTAGGED
   ... 
   }

REMARKS:
Note that each of the elements defined here (such as Property Owner) are, in turn, made up of other additional elements.  This recursion continues to the basic atomic elements in the same way complex structures are defined and reused in the rest of ITS (for example the way LRMS is defined in its own standard, yet is referenced at only the top level in this standard).  Unlike other standards developed in the ITS community, the basic definition of each data element is not provided in an ASN.1 format in these documents, leaving the exercise to convert them to the individual deployment.  The Justice XML schema can be used "as is" without further conversion work by deployments using XML. 
The definition provided above is an exact match with the Justice XML model when this document was published; however, implementations of this structure in 1512 will probably want to agree to limits on the number of sequences of an item which can appear (rather than being unlimited as the Justice XML definitions are).  In this respect, the Justice XML definitions are at odds with the legacy message formats accepted by some systems such as NCIC-2000.

XML-SCHEMA:
<xsd:complexType name="PropertyType">
<xsd:complexContent>
   <xsd:extension base="SuperType">
      <xsd:sequence>
         <xsd:element ref="PropertyTypeText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyTypeCode" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyActionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyAssignedIDDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyConditionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyDisposition" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyLocation" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyPhysicalDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyOwner" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyPossessor" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyPossessionDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyRegistration" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyTitle" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyStatus" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyUsageText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyValueDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyWeaponIndicator" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyWeaponUsageIndicator" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyWeaponUseText" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:extension>
</xsd:complexContent>
</xsd:complexType>


DEFINITION:
The all purpose Location Reference Message Set (LRMS) message used in all of ITS.

MESSAGE-BODY:
CHOICE
   {
   -- Which is in turn defined in the LRMS module as    geometry            GeometryProfile,
   geocoordinate       GeographicCoordinate,
   grid                GridProfile,
   linearReferencing   LinearReferenceProfile,
   crossStreets        CrossStreetsProfile,
   address             AddressProfile,
   mdi                 ModelProfile
   }

GeographicCoordinate ::= SEQUENCE {id INTEGER, dv OCTET STRING}
GridProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}
LinearReferenceProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}
CrossStreetsProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}
AddressProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}
ModelProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}

REMARKS:
At this time the entire LRMS system is being adopted as an SAE standard. Consult that effort for the most current defintions of the elements which make up this structure.

XML-SCHEMA:
<xs:complexType name="LocationReference" >
      <xs:choice>
         <xs:element name="geocoordinate" type="GeographicCoordinate" />
         <xs:element name="grid" type="GridProfile" />
         <xs:element name="linearReferencing" type="LinearReferenceProfile" />
         <xs:element name="crossStreets" type="CrossStreetsProfile" />
         <xs:element name="address" type="AddressProfile" />
         <xs:element name="mdi" type="ModelProfile" />
      </xs:choice>
</xs:complexType>


DEFINITION:
External data element taken from TMDD.  A code which describes the severity of an incident.  Each region must define the meaning of the values defined.

VALID-VALUE-RULE:
{
   noAdditionalInformation     (0),
   otherAdditionalInformation  (1), 
   none                        (2),
   minor                       (3), 
   major                       (4), 
   naturalDisaster             (5),
   ...
   }
-- Select only one value from list

XML-SCHEMA:
<xs:simpleType name="Event-incident-severity" >
      <xs:annotation>
         <xs:appinfo>
            noAdditionalInformation (0)
            otherAdditionalInformation (1)
            none (2)
            minor (3)
            major (4)
            naturalDisaster (5)
         </xs:appinfo>
         <xs:documentation>       
            Select only one value from list
         </xs:documentation>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="5"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="noAdditionalInformation"/>
               <xs:enumeration value="otherAdditionalInformation"/>
               <xs:enumeration value="none"/>
               <xs:enumeration value="minor"/>
               <xs:enumeration value="major"/>
               <xs:enumeration value="naturalDisaster"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


VALID-VALUE-RULE:
{
   otherNoInfo       (0), -- Other No Additional Information; 
   otherInfo         (1), -- Other Additional Information (follows in message)
   transitBus        (2), -- Public Transit Bus; 
   lightRail         (3), -- Light Rail; 
   commuterRail      (4), -- Commuter/Passenger Rail; 
   freightRail       (5), -- Freight Rail; 
   publicSafety      (6), -- Public Safety Vehicle; 
   convertible       (7), -- Convertible (excludes sun-roof, t-bar); 
   twoDoorHardtop    (8), -- 2-door sedan, hardtop, coupe; 
   twoDoorHatchback  (9), -- 3-door/2-door hatchback; 
   ... 
   -- consult TMDD for other known values
   }

XML-SCHEMA:
<xs:simpleType name="Event-IncidentVehiclesInvolved" >
      <xs:annotation>
         <xs:appinfo>
            otherNoInfo (0) -- Other No Additional Information;
            otherInfo (1) -- Other Additional Information  (follows in message)
            transitBus (2) -- Public Transit Bus;
            lightRail (3) -- Light Rail;
            commuterRail (4) -- Commuter/Passenger Rail;
            freightRail (5) -- Freight Rail;
            publicSafety (6) -- Public Safety Vehicle;
            convertible (7) -- Convertible  (excludes sun-roof ,
            twoDoorHardtop (8) -- 2-door sedan ,
            twoDoorHatchback (9) -- 3-door/2-door hatchback;
             -- consult TMDD for other known values
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="9"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="otherNoInfo"/>
               <xs:enumeration value="otherInfo"/>
               <xs:enumeration value="transitBus"/>
               <xs:enumeration value="lightRail"/>
               <xs:enumeration value="commuterRail"/>
               <xs:enumeration value="freightRail"/>
               <xs:enumeration value="publicSafety"/>
               <xs:enumeration value="convertible"/>
               <xs:enumeration value="twoDoorHardtop"/>
               <xs:enumeration value="twoDoorHatchback"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD which is, in turn, taken from the ITIS codes.  A description of the general top level category which the event is.

XML-SCHEMA:
<xsd:simpleType name="Incident-Type">
   <xsd:union>
      <xsd:simpleType>
         <xsd:restriction base="xsd:unsignedInt">
            <xsd:minInclusive value="512"/>
            <xsd:maxInclusive value="767"/>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="accident"/>
            <xsd:enumeration value="serious accident"/>
            <xsd:enumeration value="injury accident"/>
            <xsd:enumeration value="minor accident"/>
            <xsd:enumeration value="multi vehicle accident"/>
            <xsd:enumeration value="numerous accidents"/>
            <xsd:enumeration value="accident involving a bicycle"/>
            <xsd:enumeration value="accident involving a bus"/>
            <xsd:enumeration value="accident involving a motorcycle"/>
            <xsd:enumeration value="accident involving a pedestrian"/>
            <xsd:enumeration value="accident involving a train"/>
            <xsd:enumeration value="accident involving a truck"/>
            <xsd:enumeration value="accident involving hazardous materials"/>
            <xsd:enumeration value="earlier accident"/>
            <xsd:enumeration value="medical emergency"/>
            <xsd:enumeration value="secondary accident"/>
            <xsd:enumeration value="rescue and recovery work in progress"/>
            <xsd:enumeration value="accident investigation work"/>
            <xsd:enumeration value="incident"/>
            <xsd:enumeration value="stalled vehicle"/>
            <xsd:enumeration value="abandoned vehicle"/>
            <xsd:enumeration value="disabled vehicle"/>
            <xsd:enumeration value="disabled truck"/>
            <xsd:enumeration value="disabled semi-trailer"/>
            <xsd:enumeration value="disabled bus"/>
            <xsd:enumeration value="disabled train"/>
            <xsd:enumeration value="vehicle spun out"/>
            <xsd:enumeration value="vehicle on fire"/>
            <xsd:enumeration value="vehicle in water"/>
            <xsd:enumeration value="vehicles slowing to look at accident"/>
            <xsd:enumeration value="jackknifed semi trailer"/>
            <xsd:enumeration value="jackknifed trailer home"/>
            <xsd:enumeration value="jackknifed trailer"/>
            <xsd:enumeration value="spillage occurring from moving vehicle"/>
            <xsd:enumeration value="acid spill"/>
            <xsd:enumeration value="chemical spill"/>
            <xsd:enumeration value="fuel spill"/>
            <xsd:enumeration value="hazardous materials spill"/>
            <xsd:enumeration value="oil spill"/>
            <xsd:enumeration value="spilled load"/>
            <xsd:enumeration value="toxic spill"/>
            <xsd:enumeration value="overturned vehicle"/>
            <xsd:enumeration value="overturned truck"/>
            <xsd:enumeration value="overturned semi-trailer"/>
            <xsd:enumeration value="overturned bus"/>
            <xsd:enumeration value="derailed train"/>
            <xsd:enumeration value="stuck vehicle"/>
            <xsd:enumeration value="truck stuck under bridge"/>
            <xsd:enumeration value="bus stuck under bridge"/>
            <xsd:enumeration value="accident cleared"/>
            <xsd:enumeration value="incident cleared"/>
         </xsd:restriction>
      </xsd:simpleType >
   </xsd:union>
   <xsd:annotation>
      <xsd:appinfo>
         accident (513) 
         -- Use when no further data is available regarding involved vehicle type
         serious accident (514)
         injury accident (515)
         minor accident (516)
         multi vehicle accident (517) 
         -- To be used when events are NOT distributed along a road 
         -- segment (i.e. one location)
         numerous accidents (518) 
         -- To be used when events are distributed along a road segment
         accident involving a bicycle (519)
         accident involving a bus (520)
         accident involving a motorcycle (521)
         accident involving a pedestrian (522)
         accident involving a train (523)
         accident involving a truck (524)
         accident involving hazardous materials (525)
earlier accident (526) -- Hint: Typically used as a cause, "Due to"
         medical emergency (527)
         secondary accident (528)
         rescue and recovery work in progress (529)
         accident investigation work (530)
         incident (531) 
         -- Hint: For non-accident incidents (disabled, jackknife, etc.) 
         -- where no further information is available
         stalled vehicle (532)
         abandoned vehicle (533)
         disabled vehicle (534)
         disabled truck (535)
         disabled semi-trailer (536) -- Alternative Rendering:  disabled tractor-trailer
         disabled bus (537)
         disabled train (538)
         vehicle spun out (539)
         vehicle on fire (540)
         vehicle in water (541)
         vehicles slowing to look at accident (542) 
         -- Alternative Rendering:  On-looker slowdown, Rubbernecking
         jackknifed semi trailer (543) 
         -- Alternatives can use: jackknifed tractor-trailer, jackknifed truck, 
         -- jackknifed big-rig
         jackknifed trailer home (544)
         jackknifed trailer (545) 
-- Hint: Used for smaller trailers (i.e. not type "jackknifed
-- semi trailer" above)
         spillage occurring from moving vehicle (546)
         acid spill (547)
         chemical spill (548)
         fuel spill (549)
         hazardous materials spill (550) 
         -- Also use the Disaster lists for large HAZMAT events
         oil spill (551)
         spilled load (552)
         toxic spill (553)
         overturned vehicle (554) 
         -- Use when no further data is available regarding involved vehicle types
         overturned truck (555)
         overturned semi-trailer (556)
         overturned bus (557)
         derailed train (558)
         stuck vehicle (559) 
         -- It is preferred to provide data which denotes WHY the vehicle is 
         -- stuck (I.e. mud/snow, under bridge, too wide, etc.)
         truck stuck under bridge (560) 
         -- Alternative Rendering:  high load hit involving truck
         bus stuck under bridge (561) 
         -- Alternative Rendering:  high load hit involving bus
         accident cleared (638)
         incident cleared (639)
      </xsd:appinfo>
   </xsd:annotation>
</xsd:simpleType>


DEFINITION:
The complete set of ITIS codes can be found in Volume Two of the J2540 Standard.  This is a set of over 1,000 items which are used to encode common events and list items in ITS.

VALID-VALUE-RULE:
(0..65565)
-- The defined list of ITIS codes are too long to list here
-- Many smaller lists use a sub-set of these codes as defined elements
-- Also enumerated values expressed as text constant are very common,
-- and in many deployments the list codes are used as a shorthand for
-- this text.  Also the XML expressions commonly use a union of the 
-- code values and the textual expressions.  
-- Consult SAE J2540 for further details.

REMARKS:
Refer to the SAE ITIS documents for the complete (and lengthy) listing of these codes and for an XML rendering.

XML-SCHEMA:
<xs:simpleType name="ITIScodes" >
      <xs:annotation>
         <xs:documentation>       
            The defined list of ITIS codes are too long to list here
            Many smaller lists use a sub-set of these codes as defined elements
            Also enumerated values expressed as text constant are very common,
            and in many deployments the list codes are used as a shorthand for
            this text.  Also the XML expressions commonly use a union of the
            code values and the textual expressions.
            Consult SAE J2540 for further details.
         </xs:documentation>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="65565"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string"/>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from ATIS, used to represent date and time.

MESSAGE-BODY:
SEQUENCE {
     date    Date,
     time    Time,
     offset  TimeOffset OPTIONAL
} 
-- defined in the ATIS work, where:
Date ::= IA5String (SIZE(8))
-- format as: YYYYMMDD where 
-- YYYY  the year, in common era units
-- MM  the month, range 01 to 12
-- DD the day, range 01 to 31
-- use zero for MM and DD when not applicable

Time ::= IA5String (SIZE(6..10))
-- Format:  HHMMSSssss
-- Valid times using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59; 
-- SS=00 through 59; 00 if NA
-- ssss=0000 through 9999. 
-- Use SS= 60 for leap seconds
-- HH represents hours, MM minutes, SS seconds, 
-- and ssss decimal seconds to whatever number 
-- of significant digits is required (up to four)

TimeOffset ::= IA5String (SIZE(4))
-- Valid time offset using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59;

XML-SCHEMA:
<xs:complexType name="DateTimePair" >
      <xs:annotation>
         <xs:documentation>       
            defined in the ATIS work,  where:
         </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="date" type="Date" />
         <xs:element name="time" type="Time" />
         <xs:element name="offset" type="TimeOffset"  minOccurs="0"/>
      </xs:sequence>
</xs:complexType>


DEFINITION:
This is a complex data frame used by the message set to describe all forms of preplanned events including work zone information.  Complex repeating time schedules are supported, as well as ITIS codes to sort the events.

VALID-VALUE-RULE:
{
     location        LRMS,            
     typeEvent       TMDD.Incident-Type,  -- the major type and severity
     severity        TMDD.Event-incident-severity                 OPTIONAL,
                     -- the following is the three part description 
                     -- using both ITIS codes and open text
     cause           SEQUENCE OF ITIScodesAndText (SIZE(1..100)) 
     description     SEQUENCE OF ITIScodesAndText (SIZE(1..100))  OPTIONAL,
     advice          SEQUENCE OF ITIScodesAndText (SIZE(1..100))  OPTIONAL,     
                     -- current relevant information in text and codes
     startTime       DateTimePair                                 OPTIONAL,
                     -- point in time this event started
     clearTime       DateTimePair                                 OPTIONAL,
                     -- an estimated clear time
     laneData        SEQUENCE OF LaneDescription                  OPTIONAL,
                     -- complex set of lane conditions
     -- complex data used to describe repeating multi-day events
     timeLineStart              DateTimePair                      OPTIONAL,
     timeLineEstimatedDuration  DateTimePair                      OPTIONAL,
     timeLineScheduledEnd       DateTimePair                      OPTIONAL,
     timeList                   SEQUENCE OF TimeList              OPTIONAL,
     dayList                    SEQUENCE OF DayList               OPTIONAL,
     timeLineScheduleDaysOfWeek Day-of-week                       OPTIONAL,
     -- other tagged sets of information 
     tail                       TailSet                           OPTIONAL,
     ...
     }

REMARKS:
The ITIS codes used in the Incident-Type are another instance where local agreement is required to tailor the list of codes to a sub set suitable for use by local deployments.  For example, one regional deployment may choose to use the weather-related events as event information types, while another deployment does not.  Codes which could not be considered top level event classifications (such as "on bridge") would of course not be used.  Because any possible ITIS code could be received from a TMDD deployment, receiving centers should be constructed to handle this event.  Because all parties are based on the same underlying code list, the syntactic meaning would be the same regardless of the sub set of codes chosen for local use.  Note that the cause, description, advice sections allow mixture of both open free text and code phrases.


DEFINITION:
The use of ITIS codes interspersed with free text.   The complete set of ITIS codes can be found in Volume Two of the J2540 Standard.  This is a set of over 1,000 items which are used to encode common events and list items in ITS.

MESSAGE-BODY:
SEQUENCE OF (SIZE(1..100)) SEQUENCE {
  CHOICE    {
       itis ITIScodes,
       text FreeText
       }
  }


DEFINITION:
The NCIC Person data frame, taken from the Justice XML model which is, in turn, taken from NCIC-2000 and D20 to make up the basic elements.  See the Justice XML effort for the complete sets of definitions in XML and the respective standards for the underlying authoritative definition documents.  In this standard, this data frame is used as an all-purpose way to contain information about a person regardless of the role they have played in the event.  In the justice XML effort, this definition forms a basic object type which other more specific person types inherent from and add to as required.  Note that no local expansion is allowed to be added to this definition.  If local expansion is required it can be added in the using definition (typically the PersonInformation data frame).  Note that the ASN.1 to XML conversion process here uses an odd capitalization format for the XML elements.  This is to follow the conventions of the Justice XML schema, which differs from the conventions used in this standard and the rest of the ITS.

MESSAGE-BODY:
SEQUENCE {
   -- builds from SuperType in the JXDD effort
   name               SEQUENCE OF PersonName OPTIONAL, -- # UNTAGGED
                      -- first, middle, last, prefix, maiden, moniker, etc.
   aliasName          SEQUENCE OF PersonAliasName OPTIONAL, -- # UNTAGGED 
                      -- first, middle, last, prefix, maiden, moniker, etc.
   residence          SEQUENCE OF Residence OPTIONAL, -- # UNTAGGED 
                      -- address formats (not in LRMS form)
   contactInformation SEQUENCE OF PrimaryContactInformation OPTIONAL, -- # UNTAGGED 
                      -- name, description, phones, radio, email, etc.
   employment         SEQUENCE OF Employment OPTIONAL, -- # UNTAGGED 
                      -- employer, occupation, location, status, etc.
   descriptionText    SEQUENCE OF PersonDescriptionText OPTIONAL, -- # UNTAGGED 
   birthDate          SEQUENCE OF PersonBirthDate OPTIONAL, -- # UNTAGGED 
   birthPlace         SEQUENCE OF PersonBirthPlace OPTIONAL, -- # UNTAGGED 
                      -- address formats (not in LRMS form)
   birthPlaceCode     SEQUENCE OF PersonBirthPlaceCode OPTIONAL, -- # UNTAGGED 
   deathDate          SEQUENCE OF PersonDeathDate OPTIONAL, -- # UNTAGGED 
   ageMeasure         SEQUENCE OF PersonAgeMeasure OPTIONAL, -- # UNTAGGED 
   ageDescriptionText SEQUENCE OF PersonAgeDescriptionText OPTIONAL, -- # UNTAGGED 
   livingIndicator    SEQUENCE OF PersonLivingIndicator OPTIONAL, -- # UNTAGGED 
   assignedIDDetails  SEQUENCE OF PersonAssignedIDDetails OPTIONAL, -- # UNTAGGED 
                      -- various state and federal ID systems
   physicalDetails    SEQUENCE OF PersonPhysicalDetails OPTIONAL, -- # UNTAGGED 
                      -- height, weight, race, eye color, etc.
   socialDetails      SEQUENCE OF PersonSocialDetails OPTIONAL, -- # UNTAGGED 
                      -- language used, citizenship, insurance status, etc.
   biometricDetails   SEQUENCE OF PersonBiometricDetails OPTIONAL, -- # UNTAGGED 
                      -- blood type, gait, various evidence details, Xray, etc.
   medicalDetails     SEQUENCE OF PersonMedicalDetails OPTIONAL, -- # UNTAGGED
                      -- medications, disabilities, injury, mental state, etc.
   ... 
   }

REMARKS:
Note that each of the elements defined here (such as PersonName) are, in turn, made up of other additional elements.  This recursion continues to the basic atomic elements in the same way complex structures are defined and reused in the rest of ITS (for example the way LRMS is defined in its own standard, yet is referenced at only the top level in this standard).  Unlike other standards developed in the ITS community, the basic definition of each data element is not provided in an ASN.1 format in these documents, leaving the exercise to convert them to the individual deployment.  The Justice XML schema can be used "as is" without further conversion work by deployments using XML. 
The definition provided above is an exact match with the Justice XML model when this document was published; however, implementations of this structure in 1512 will probably want to agree to limits on the number of sequences of an item which can appear (rather than being unlimited as the Justice XML definitions are).  In this respect, the Justice XML definitions are at odds with the legacy message formats accepted by some systems such as NCIC-2000.

XML-SCHEMA:
<xsd:complexType name="PersonType">
<xsd:complexContent>
   <xsd:extension base="SuperType">
      <xsd:sequence>
         <xsd:element ref="PersonName" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonAliasName" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="Residence" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PrimaryContactInformation" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="Employment" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonBirthDate" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonBirthPlace" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonBirthPlaceCode" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonDeathDate" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonAgeMeasure" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonAgeDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonLivingIndicator" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonAssignedIDDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonPhysicalDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonSocialDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonBiometricDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonMedicalDetails" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PersonTypeElement" type="PersonType"/>


DEFINITION:
The NCIC Vehicle data frame, taken from the Justice XML model which is, in turn, taken from NCIC-2000 and D20 to make up the basic elements.  See the Justice XML effort for the complete sets of definitions in XML and the respective standards for the underlying authoritative definition documents.  In this standard, this data frame is used as an all-purpose way to contain information about a vehicle regardless of the role it may have played in the event.  This includes the basic type, a description of damage, various physical details, the owner, registration information, and many D20 items (year first sold, engine size, tax rates, etc.).  Note that no local expansion is allowed to be added to this definition.  If local expansion is required it can be added in the using definition (for example the WatchForVehicle data frame).   Note that the ASN.1 to XML conversion process here uses an odd capitalization format for the XML elements.  This is to follow the conventions of the Justice XML schema, which differs from the conventions used in this standard and the rest of the ITS.

MESSAGE-BODY:
SEQUENCE {
   -- builds from SuperType in the JXDD effort
   cargoText            SEQUENCE OF VehicleCargoText OPTIONAL, -- # UNTAGGED 
   engineID             SEQUENCE OF VehicleEngineID OPTIONAL, -- # UNTAGGED 
   engineQuantity       SEQUENCE OF VehicleEngineQuantity OPTIONAL, -- # UNTAGGED 
   enginePowerDisplacementText SEQUENCE OF VehicleEnginePowerDisplacementText 
                               OPTIONAL, -- # UNTAGGED 
   firstSoldYearText    SEQUENCE OF VehicleFirstSoldYearText OPTIONAL, -- # UNTAGGED 
   fuelTypeText         SEQUENCE OF VehicleFuelTypeText OPTIONAL, -- # UNTAGGED 
   fuelTypeCode         SEQUENCE OF VehicleFuelTypeCode OPTIONAL, -- # UNTAGGED 
   part                 SEQUENCE OF VehiclePart OPTIONAL, -- # UNTAGGED 
   registration         SEQUENCE OF VehicleRegistration OPTIONAL, -- # UNTAGGED 
   title                SEQUENCE OF VehicleTitle OPTIONAL, -- # UNTAGGED 
   useText              SEQUENCE OF VehicleUseText OPTIONAL, -- # UNTAGGED 
   useCode              SEQUENCE OF VehicleUseCode OPTIONAL, -- # UNTAGGED 
   ownershipTypeText    SEQUENCE OF VehicleOwnershipTypeText OPTIONAL, -- # UNTAGGED 
   leaseIndicator       SEQUENCE OF VehicleLeaseIndicator OPTIONAL, -- # UNTAGGED 
   rentalIndicator      SEQUENCE OF VehicleRentalIndicator OPTIONAL, -- # UNTAGGED 
   towedIndicator       SEQUENCE OF VehicleTowedIndicator OPTIONAL, -- # UNTAGGED 
   wantedIndicator      SEQUENCE OF VehicleWantedIndicator OPTIONAL, -- # UNTAGGED 
   id                   SEQUENCE OF VehicleID OPTIONAL, -- # UNTAGGED 
   vinText              SEQUENCE OF VehicleVINAText OPTIONAL, -- # UNTAGGED 
   makeCode             SEQUENCE OF VehicleMakeCode OPTIONAL, -- # UNTAGGED 
   modelCode            SEQUENCE OF VehicleModelCode OPTIONAL, -- # UNTAGGED 
   modelYearText        SEQUENCE OF VehicleModelYearText OPTIONAL, -- # UNTAGGED 
   modelCodeText        SEQUENCE OF VehicleModelCodeText OPTIONAL, -- # UNTAGGED 
   styleCode            SEQUENCE OF VehicleStyleCode OPTIONAL, -- # UNTAGGED 
   colorPrimaryText     SEQUENCE OF VehicleColorPrimaryText OPTIONAL, -- # UNTAGGED 
   colorPrimaryCode     SEQUENCE OF VehicleColorPrimaryCode OPTIONAL, -- # UNTAGGED 
   colorSecondaryText   SEQUENCE OF VehicleColorSecondaryText OPTIONAL, -- # UNTAGGED 
   colorSecondaryCode   SEQUENCE OF VehicleColorSecondaryCode OPTIONAL, -- # UNTAGGED 
   colorInteriorText    SEQUENCE OF VehicleColorInteriorText OPTIONAL, -- # UNTAGGED 
   doorQuantity         SEQUENCE OF VehicleDoorQuantity OPTIONAL, -- # UNTAGGED 
   emissionInspectionQuantity SEQUENCE OF VehicleEmissionInspectionQuantity 
                              OPTIONAL, -- # UNTAGGED 
   engineCylinderQuantity SEQUENCE OF VehicleEngineCylinderQuantity 
                          OPTIONAL, -- # UNTAGGED 
   garageIndicator      SEQUENCE OF VehicleGarageIndicator OPTIONAL, -- # UNTAGGED 
   odometerReadingMeasure SEQUENCE OF VehicleOdometerReadingMeasure 
                          OPTIONAL, -- # UNTAGGED 
   seatingQuantity      SEQUENCE OF VehicleSeatingQuantity OPTIONAL, -- # UNTAGGED 
   transmissionTypeText SEQUENCE OF VehicleTransmissionTypeText OPTIONAL, -- # UNTAGGED 
   transmissionTypeCode SEQUENCE OF VehicleTransmissionTypeCode OPTIONAL, -- # UNTAGGED 
   msrpAmount           SEQUENCE OF VehicleMSRPAmount OPTIONAL, -- # UNTAGGED 
   salesTaxPercentage   SEQUENCE OF VehicleSalesTaxPercentage OPTIONAL, -- # UNTAGGED 
   taxableAmount        SEQUENCE OF VehicleTaxableAmount OPTIONAL, -- # UNTAGGED 
   invoiceID            SEQUENCE OF VehicleInvoiceID OPTIONAL, -- # UNTAGGED 
   invoiceDate          SEQUENCE OF VehicleInvoiceDate OPTIONAL, -- # UNTAGGED 
   shipDate             SEQUENCE OF VehicleShipDate OPTIONAL, -- # UNTAGGED 
   paperMCOIssuedIndicator SEQUENCE OF VehiclePaperMCOIssuedIndicator 
                           OPTIONAL, -- # UNTAGGED 
   ... 
   }

REMARKS:
Note that each of the elements defined here (such as PropertyOwner which is, in turn, made up of PersonType) are in turn made up of other additional elements.  This recursion continues to the basic atomic elements in the same way complex structures are defined and reused in the rest of ITS (for example the way LRMS is defined in its own standard, yet is referenced at only the top level in this standard).  Unlike other standards developed in the ITS community, the basic definition of each data element is not provided in an ASN.1 format in these documents, leaving the exercise to convert them to the individual deployment.  The Justice XML schema can be used "as is" without further conversion work by deployments using XML. 
The definition provided above is an exact match with the Justice XML model when this document was published; however, implementations of this structure in 1512 will probably want to agree to limits on the number of sequences of an item which can appear (rather than being unlimited as the Justice XML definitions are).  In this respect, the Justice XML definitions are at odds with the legacy message formats accepted by some systems such as NCIC-2000.  If additional data elements are needed (and not covered by the cargo vehicle data structures, then consider using the JXDD "CommercialVehicleType" if needed.

XML-SCHEMA:
<xsd:complexType name="PropertyType">
   <xsd:complexContent>
      <xsd:extension base="SuperType">
         <xsd:sequence>
            <xsd:element ref="PropertyTypeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyTypeCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyActionText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyAssignedIDDetails" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyConditionText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyDisposition" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyLocation" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyPhysicalDetails" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyOwner" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyPossessor" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyPossessionDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyRegistration" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyTitle" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyStatus" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyUsageText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyValueDetails" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyWeaponIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyWeaponUsageIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyWeaponUseText" minOccurs="0" maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:extension>
   </xsd:complexContent>
</xsd:complexType>


<xsd:complexType name="BasicVehicleType">
   <xsd:complexContent>
      <xsd:extension base="PropertyType">
         <xsd:sequence>
            <xsd:element ref="VehicleCargoText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEngineID" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEngineQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEnginePowerDisplacementText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleFirstSoldYearText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleFuelTypeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleFuelTypeCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehiclePart" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleRegistration" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTitle" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleUseText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleUseCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleOwnershipTypeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleLeaseIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleRentalIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTowedIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleWantedIndicator" minOccurs="0" maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:extension>
   </xsd:complexContent>
</xsd:complexType>

<xsd:complexType name="VehicleType">
   <xsd:complexContent>
      <xsd:extension base="BasicVehicleType">
         <xsd:sequence>
            <xsd:element ref="VehicleID" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleVINAText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleMakeCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleModelCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleModelYearText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleModelCodeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleStyleCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorPrimaryText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorPrimaryCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorSecondaryText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorSecondaryCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorInteriorText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleDoorQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEmissionInspectionQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEngineCylinderQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleGarageIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleOdometerReadingMeasure" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleSeatingQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTransmissionTypeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTransmissionTypeCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleMSRPAmount" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleSalesTaxPercentage" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTaxableAmount" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleInvoiceID" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleInvoiceDate" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleShipDate" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehiclePaperMCOIssuedIndicator" minOccurs="0" maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:extension>
   </xsd:complexContent>
</xsd:complexType>


DEFINITION:
The use of ITIS codes interspersed with free text.   The complete set of ITIS codes can be found in Volume two of the J2540 Standard.  This is a set of over 1,000 items which are used to encode common events and list items in ITS.


VALID-VALUE-RULE:
{
   otherNoInfo       (0), -- Other No Additional Information; 
   otherInfo         (1), -- Other Additional Information (follows in message)
   transitBus        (2), -- Public Transit Bus; 
   lightRail         (3), -- Light Rail; 
   commuterRail      (4), -- Commuter/Passenger Rail; 
   freightRail       (5), -- Freight Rail; 
   publicSafety      (6), -- Public Safety Vehicle; 
   Convertible       (7), -- Convertible (excludes sun-roof, t-bar); 
   twoDoorHardtop    (8), -- 2-door sedan, hardtop, coupe; 
   twoDoorHatchback  (9), -- 3-door/2-door hatchback; 
   ... 
   -- consult TMDD for other values
   } (0..255)

XML-SCHEMA:
<xs:simpleType name="Event-IncidentVehiclesInvolved" >
      <xs:annotation>
         <xs:appinfo>
            otherNoInfo (0) -- Other No Additional Information;
            otherInfo (1) -- Other Additional Information  (follows in message)
            transitBus (2) -- Public Transit Bus;
            lightRail (3) -- Light Rail;
            commuterRail (4) -- Commuter/Passenger Rail;
            freightRail (5) -- Freight Rail;
            publicSafety (6) -- Public Safety Vehicle;
            Convertible (7) -- Convertible  (excludes sun-roof ,
            twoDoorHardtop (8) -- 2-door sedan ,
            twoDoorHatchback (9) -- 3-door/2-door hatchback;
             -- consult TMDD for other values
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="255"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="otherNoInfo"/>
               <xs:enumeration value="otherInfo"/>
               <xs:enumeration value="transitBus"/>
               <xs:enumeration value="lightRail"/>
               <xs:enumeration value="commuterRail"/>
               <xs:enumeration value="freightRail"/>
               <xs:enumeration value="publicSafety"/>
               <xs:enumeration value="Convertible"/>
               <xs:enumeration value="twoDoorHardtop"/>
               <xs:enumeration value="twoDoorHatchback"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD. A bit string which indicates the lanes and shoulders affected by an event (e.g. an incident, roadway closure, special event).

REMARKS:
Note that this element not expected to be used in many parts of ITS, as the lane description data frame of this standard (which relates the same information) makes it unneeded.


DEFINITION:
External data element taken from TMDD.  A free text description of the response plan to follow.


MESSAGE-BODY:
SEQUENCE {
   date    Date,
   time    Time,
   offset  TimeOffset OPTIONAL
   }
-- defined in the ATIS work, where:
Date ::= IA5String (SIZE(8))
-- format as: YYYYMMDD where 
-- YYYY  the year, in common era units
-- MM  the month, range 01 to 12
-- DD the day, range 01 to 31
-- use zero for MM and DD when not applicable

Time ::= IA5String (SIZE(6..10))
-- Format:  HHMMSSssss
-- Valid times using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59; 
-- SS=00 through 59; 00 if NA
-- ssss=0000 through 9999. 
-- Use SS= 60 for leap seconds
-- HH represents hours, MM minutes, SS seconds, 
-- and ssss decimal seconds to whatever number 
-- of significant digits is required (up to four)

TimeOffset ::= IA5String (SIZE(4))
-- Valid time offset using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59;


VALID-VALUE-RULE:
{
     location        LRMS,            
     typeEvent       TMDD.Incident-Type,  -- the major type and severity
     severity        TMDD.Event-incident-severity                 OPTIONAL,
                     -- the following is the three part description 
                     -- using both ITIS codes and open text
     cause           SEQUENCE OF ITIScodesAndText (SIZE(1..100)), 
     description     SEQUENCE OF ITIScodesAndText (SIZE(1..100))  OPTIONAL,
     advice          SEQUENCE OF ITIScodesAndText (SIZE(1..100))  OPTIONAL,     
                     -- current relevant information in text and codes
     startTime       DateTimePair                                 OPTIONAL,
                     -- point in time this event started
     clearTime       DateTimePair                                 OPTIONAL,
                     -- an estimated clear time
     laneData        SEQUENCE OF LaneDescription                  OPTIONAL,
                     -- complex set of lane conditions
     -- complex data used to describe repeating multi-day events
     timeLineStart              DateTimePair                      OPTIONAL,
     timeLineEstimatedDuration  DateTimePair                      OPTIONAL,
     timeLineScheduledEnd       DateTimePair                      OPTIONAL,
     timeList                   SEQUENCE OF TimeList              OPTIONAL,
     dayList                    SEQUENCE OF DayList               OPTIONAL,
     timeLineScheduleDaysOfWeek Day-of-week                       OPTIONAL,
     -- other tagged sets of information 
     tail                       TailSet                           OPTIONAL,
     ...
     }

REMARKS:
The ITIS codes used in the Incident-Type are another instance where local agreement is required to tailor the list of codes to a sub set suitable for use by local deployments.  For example, one regional deployment may chose to use the weather related events as event information types, while another deployment does not.  Codes which could not be considered top level event classifications (such as "on bridge") would of course not be used.  Because any possible ITIS code could be received from a TMDD deployment, receiving centers should be constructed to handle this event.  Because all parties are based on the same underlying code list, the syntactic meaning would be the same regardless of the sub set of codes chosen for local use. Note that the cause, description, advise sections allow mixture of both open free text and code phrases.


DEFINITION:
External data element taken from TMDD which is in turn taken from the ITIS codes.  A description of the general top level category which the event is.


DEFINITION:
The complete set of ITIS codes can be found in Volume two of the J2540 Standard.  This is a set of over 1,000 items which are used to encode common events and list items in ITS.


REMARKS:
Note: This structure will likely be replaced with an improved three part structure describing lanes and shoulders together with any blocked or closure information.  Another item where ERM causes improvement to TMDD which others such as ATIS and IM should follow.


DEFINITION:
External data element taken from TMDD.  The Link maximum capacity in vehicles per hour.

XML-SCHEMA:
<xs:simpleType name="Link-Capacity" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="300000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.    Delay time for travel along a particular Link. This is the additional time it will take above the free flow travel time for that time period to travel from one end of the link to the other.

XML-SCHEMA:
<xs:simpleType name="Link-Delay" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="605000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Vehicle concentration per kilometer of the Link.

XML-SCHEMA:
<xs:simpleType name="Link-Density" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="2000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The lowest number of lanes currently open in the link at any point.

XML-SCHEMA:
<xs:simpleType name="Link-LanesMinimumNumber" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="50"/>
      </xs:restriction>
</xs:simpleType>


XML-SCHEMA:
<xs:simpleType name="Link-LanesNumberOpen" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="50"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The length of the Link from beginning Node to ending Node, in meters.

XML-SCHEMA:
<xs:simpleType name="Link-Length" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="160000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  A qualitative measure describing operational conditions within a traffic stream and their perception by motorists and/or passengers as defined in the Highway Capacity Manual.

VALID-VALUE-RULE:
{
   unknown  (0),
   a        (1), -- A = Free flow conditions, 
   b        (2), -- B = Stable flow with noticeable decline in free flow conditions, 
   c        (3), -- C = Stable flow with significant increase in driver discomfort, 
   d        (4), -- D = High Density but stable flow, 
   e        (5), -- E = Conditions near capacity level, 
   f        (6), -- F = Forced or breakdown flow
   ...
   }

XML-SCHEMA:
<xs:simpleType name="Link-LevelOfService" >
      <xs:annotation>
         <xs:appinfo>
            unknown (0)
            a (1) -- A = Free flow conditions ,
            b (2) -- B = Stable flow with noticeable decline in free flow conditions ,
            c (3) -- C = Stable flow with significant increase in driver discomfort ,
            d (4) -- D = High Density but stable flow ,
            e (5) -- E = Conditions near capacity level ,
            f (6) -- F = Forced or breakdown flow
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="6"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="unknown"/>
               <xs:enumeration value="a"/>
               <xs:enumeration value="b"/>
               <xs:enumeration value="c"/>
               <xs:enumeration value="d"/>
               <xs:enumeration value="e"/>
               <xs:enumeration value="f"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Type of the median for the separation of opposing or parallel traffic links.

VALID-VALUE-RULE:
{
   other-no-additional-information-required  (0), 
   other-additional-information-required     (1), 
   curbed                                    (2), 
   concrete-barrier                          (3), 
   concrete-barrier-with-visibility-screen   (4), 
   guard-rail                                (5), 
   open-grass                                (6), 
   open-sand                                 (7), 
   painted-median-no-access                  (8), 
   separate-roadways                         (9), 
   unprotected                               (10),
   ...
   }

XML-SCHEMA:
<xs:simpleType name="Link-Median-Type" >
      <xs:annotation>
         <xs:appinfo>
            other no additional information required (0)
            other additional information required (1)
            curbed (2)
            concrete barrier (3)
            concrete barrier with visibility screen (4)
            guard rail (5)
            open grass (6)
            open sand (7)
            painted median no access (8)
            separate roadways (9)
            unprotected (10)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="10"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="other no additional information required"/>
               <xs:enumeration value="other additional information required"/>
               <xs:enumeration value="curbed"/>
               <xs:enumeration value="concrete barrier"/>
               <xs:enumeration value="concrete barrier with visibility screen"/>
               <xs:enumeration value="guard rail"/>
               <xs:enumeration value="open grass"/>
               <xs:enumeration value="open sand"/>
               <xs:enumeration value="painted median no access"/>
               <xs:enumeration value="separate roadways"/>
               <xs:enumeration value="unprotected"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The name of the Link for user identification.

XML-SCHEMA:
<xs:simpleType name="Link-Name" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD. The current average percent occupancy of the vehicles determined by detectors on the link. This is percent of time, within a given time period in seconds, that a point on the roadway is occupied by the vehicles.

XML-SCHEMA:
<xs:simpleType name="Link-Occupancy" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="100"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The type of material from which the roadway pavement is constructed (e.g. concrete, asphalt). This lists the surfaces used by traffic on the Link.

VALID-VALUE-RULE:
{
   other-no-additional-information-required  (0), 
   other-additional-information-required     (1), 
   asphalt                                   (2), 
   open-graded-asphalt                       (3), 
   concrete                                  (4), 
   grooved-concrete                          (5), 
   steel-bridge                              (6), 
   concrete-bridge                           (7), 
   asphalt-overlay-bridge                    (8), 
   timber-bridge                             (9),
   gravel                                    (10),
   dirt                                      (11),
   ...
   }

XML-SCHEMA:
<xs:simpleType name="Link-PavementType" >
      <xs:annotation>
         <xs:appinfo>
            other no additional information required (0)
            other additional information required (1)
            asphalt (2)
            open graded asphalt (3)
            concrete (4)
            grooved concrete (5)
            steel bridge (6)
            concrete bridge (7)
            asphalt overlay bridge (8)
            timber bridge (9)
            gravel (10)
            dirt (11)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="11"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="other no additional information required"/>
               <xs:enumeration value="other additional information required"/>
               <xs:enumeration value="asphalt"/>
               <xs:enumeration value="open graded asphalt"/>
               <xs:enumeration value="concrete"/>
               <xs:enumeration value="grooved concrete"/>
               <xs:enumeration value="steel bridge"/>
               <xs:enumeration value="concrete bridge"/>
               <xs:enumeration value="asphalt overlay bridge"/>
               <xs:enumeration value="timber bridge"/>
               <xs:enumeration value="gravel"/>
               <xs:enumeration value="dirt"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD. Maximum axle count for a vehicle allowed on the Link.

REMARKS:
Proposed new ASN.1 name: Link-restriction-axle-count.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionAxleCount" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="20"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD, which is in turn taken from the ITIS codes.  Class of traffic restrictions applied to a Link.  This is used to characterize traffic restrictive conditions currently in effect.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionClass" >
      <xs:annotation>
         <xs:appinfo>
            restrictions (2561)
            ramp restrictions (2562)
            truck restriction (2563)
            speed restriction (2564)
            noise restriction (2565)
            traffic regulations have been changed (2566)
            local access only (2567)
            no trailers (2568)
            no high profile vehicles (2569)
            hazardous materials truck restriction (2570)
            no through traffic (2571)
            no motor vehicles (2572)
            width limit (2573)
            height limit (2574)
            length limit (2575)
            axle load limit (2576)
            gross weight limit (2577)
            axle count limit (2578)
            carpool lane available (2579)
            carpool restrictions changed (2580)
            HOV 2: no single occupant vehicles (2581)
            HOV 3: no vehicles with less than three occupants (2582)
            bus lane available for all vehicles (2583)
            truck lane available for all vehicles (2584)
            permits call in basis (2585)
            permits temporarily closed (2586)
            permits closed (2587)
            permits open (2675)
            restrictions for high profile vehicles lifted (2676)
            width limit lifted (2677)
            height limit lifted (2678)
            length limit lifted (2679)
            axle load limit lifted (2680)
            weight limit lifted (2681)
            axle count limit lifted (2682)
            carpool restrictions lifted (2683)
            lane restrictions lifted (2684)
            ramp restrictions lifted (2685)
            motor vehicle restrictions lifted (2686)
            restrictions lifted (2687)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="2560"/>
               <xs:maxInclusive value="2815"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="restrictions"/>
               <xs:enumeration value="ramp restrictions"/>
               <xs:enumeration value="truck restriction"/>
               <xs:enumeration value="speed restriction"/>
               <xs:enumeration value="noise restriction"/>
               <xs:enumeration value="traffic regulations have been changed"/>
               <xs:enumeration value="local access only"/>
               <xs:enumeration value="no trailers"/>
               <xs:enumeration value="no high profile vehicles"/>
               <xs:enumeration value="hazardous materials truck restriction"/>
               <xs:enumeration value="no through traffic"/>
               <xs:enumeration value="no motor vehicles"/>
               <xs:enumeration value="width limit"/>
               <xs:enumeration value="height limit"/>
               <xs:enumeration value="length limit"/>
               <xs:enumeration value="axle load limit"/>
               <xs:enumeration value="gross weight limit"/>
               <xs:enumeration value="axle count limit"/>
               <xs:enumeration value="carpool lane available"/>
               <xs:enumeration value="carpool restrictions changed"/>
               <xs:enumeration value="HOV 2: no single occupant vehicles"/>
               <xs:enumeration value="HOV 3: no vehicles with less than three occupants"/>
               <xs:enumeration value="bus lane available for all vehicles"/>
               <xs:enumeration value="truck lane available for all vehicles"/>
               <xs:enumeration value="permits call in basis"/>
               <xs:enumeration value="permits temporarily closed"/>
               <xs:enumeration value="permits closed"/>
               <xs:enumeration value="permits open"/>
               <xs:enumeration value="restrictions for high profile vehicles lifted"/>
               <xs:enumeration value="width limit lifted"/>
               <xs:enumeration value="height limit lifted"/>
               <xs:enumeration value="length limit lifted"/>
               <xs:enumeration value="axle load limit lifted"/>
               <xs:enumeration value="weight limit lifted"/>
               <xs:enumeration value="axle count limit lifted"/>
               <xs:enumeration value="carpool restrictions lifted"/>
               <xs:enumeration value="lane restrictions lifted"/>
               <xs:enumeration value="ramp restrictions lifted"/>
               <xs:enumeration value="motor vehicle restrictions lifted"/>
               <xs:enumeration value="restrictions lifted"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Minimum vertical clearance on a Link in centimeters.

REMARKS:
Proposed new ASN.1 name: Link-restriction-height.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionHeight" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="2000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Maximum Vehicle Length allowable on a Link in centimeters.

REMARKS:
Proposed new ASN.1 name: Link-restriction-length.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionLength" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="6000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Maximum Vehicle Weight allowable on a Link in kilograms.

REMARKS:
Proposed new ASN.1 name: Link-restriction-weight.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionWeight" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="80000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Maximum allowable vehicle width on a Link in centimeters.

REMARKS:
Proposed new ASN.1 name: Link-restriction-width.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionWidth" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="2000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  County, State, or Federal route numbers with any associated alphabetic designators.

VALID-VALUE-RULE:
(SIZE(1..64))
   -- Any set of alphanumeric characters up to 64

REMARKS:
Proposed new ASN.1 name: Link-road-designator.

XML-SCHEMA:
<xsd:simpleType name="Link-RoadNumber">
   <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="64"/>
   </xsd:restriction>
</xsd:simpleType>


DEFINITION:
External data element taken from TMDD.  The width of the left shoulder of the Link.

REMARKS:
Proposed new ASN.1 name: Link-shoulder-width-left.

XML-SCHEMA:
<xs:simpleType name="Link-ShoulderWidthLeft" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="999"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The width of the right shoulder of the Link.

REMARKS:
Proposed new ASN.1 name: Link-shoulder-width-right.

XML-SCHEMA:
<xs:simpleType name="Link-ShoulderWidthRight" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="999"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The current average speed of the vehicles using the link.

REMARKS:
Alternative ASN name also used: Link-speed-average.

XML-SCHEMA:
<xs:simpleType name="Link-Speed" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The posted or legal speed limit on the link for automobiles in kilometers per hour.

REMARKS:
Proposed new ASN.1 name: Link-speed-limit.

XML-SCHEMA:
<xs:simpleType name="Link-SpeedLimit" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD, taken from the ITIS codes.  The Current Link status that provides an indication of standard or non-standard Link operations.

REMARKS:
Observe that the original TMDD definition of this code set included only: open, restricted and closed - as well as  the normal additional information settings.  This was greatly expanded during the ITIS harmonization process and is now reflected in the "closures" sub range of ITIS.  Note also that a wide range of other restrictions can be denoted by other ITIS ranges as well.

XML-SCHEMA:
<xsd:simpleType name="Link-Status">
   <xsd:union>
      <xsd:simpleType>
         <xsd:restriction base="xsd:unsignedInt">
            <xsd:minInclusive value="768"/>
            <xsd:maxInclusive value="1023"/>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="closed to traffic"/>
            <xsd:enumeration value="closed"/>
            <xsd:enumeration value="closed ahead"/>
            <xsd:enumeration value="closed intermittently"/>
            <xsd:enumeration value="closed for repairs"/>
            <xsd:enumeration value="closed for the season"/>
            <xsd:enumeration value="blocked"/>
            <xsd:enumeration value="blocked ahead"/>
            <xsd:enumeration value="reduced to one lane"/>
            <xsd:enumeration value="reduced to two lanes"/>
            <xsd:enumeration value="reduced to three lanes"/>
            <xsd:enumeration value="collapse"/>
            <xsd:enumeration value="out"/>
            <xsd:enumeration value="open to traffic"/>
            <xsd:enumeration value="open"/>
            <xsd:enumeration value="reopened to traffic"/>
            <xsd:enumeration value="clearing"/>
            <xsd:enumeration value="cleared"/>
         </xsd:restriction>
      </xsd:simpleType >
   </xsd:union>
   <xsd:annotation>
      <xsd:appinfo>
         closed to traffic (769)
         closed (770) 
         -- Hint: use this only for NON road-lane items (such as a rest stop)
         closed ahead (771)
         closed intermittently (772)
         closed for repairs (773)
         closed for the season (774)
         blocked (775)
         blocked ahead (776)
         reduced to one lane (777)
         reduced to two lanes (778)
         reduced to three lanes (779)
         collapse (780) -- Used with bridges and tunnels
         out (781) 
         -- Used with bridges and roads
         open to traffic (891)
         open (892) 
         -- Hint: use this only for NON road-lane items (such as a rest stop)
         reopened to traffic (893)
         clearing (894)
         cleared (895)
      </xsd:appinfo>
   </xsd:annotation>
</xsd:simpleType>


DEFINITION:
External data element taken from TMDD.  The abnormal surface conditions currently found on the Link (e.g., dry, wet, ice, snow, etc.).  This is taken from a sub range of ITIS codes called "Pavement Conditions".

REMARKS:
Observe that the original TMDD definition of this code set was somewhat different and that the ITIS harmonization process both added new codes and placed some other codes into other categories (such as moving "power lines down" into obstructions).

XML-SCHEMA:
<xs:simpleType name="Link-SurfaceCondition" >
      <xs:annotation>
         <xs:appinfo>
            impassable (5889)
            almost impassable (5890)
            passable with care (5891)
            passable (5892)
            surface water hazard (5893)
            danger of hydroplaning (5894)
            wet pavement (5895)
            treated pavement (5896) -- Alternative Rendering:  chemical wet
            slippery (5897)
            mud on roadway (5898)
            leaves on roadway (5899)
            loose sand on roadway (5900)
            loose gravel (5901)
            fuel on roadway (5902)
            oil on roadway (5903)
            road surface in poor condition (5904)
            melting tar (5905)
            ice (5906)
            icy patches (5907)
            black ice (5908)
            ice pellets on roadway (5909)
            ice build up (5910)
            freezing rain (5911)
            wet and icy roads (5912)
            melting snow (5913)
            slush (5914)
            frozen slush (5915)
            snow on roadway (5916)
            packed snow (5917)
            packed snow patches (5918)
            plowed snow (5919)
            wet snow (5920)
            fresh snow (5921)
            powder snow (5922)
            granular snow (5923)
            frozen snow (5924)
            crusted snow (5925)
            deep snow (5926)
            snow drifts (5927)
            drifting snow (5928)
            expected snow accumulation (5929)
            current snow accumulation (5930)
            dry pavement (6011)
            snow cleared (6012)
            pavement conditions improved (6013)
            skid hazard reduced (6014)
            pavement conditions cleared (6015)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="5888"/>
               <xs:maxInclusive value="6143"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="impassable"/>
               <xs:enumeration value="almost impassable"/>
               <xs:enumeration value="passable with care"/>
               <xs:enumeration value="passable"/>
               <xs:enumeration value="surface water hazard"/>
               <xs:enumeration value="danger of hydroplaning"/>
               <xs:enumeration value="wet pavement"/>
               <xs:enumeration value="treated pavement"/>
               <xs:enumeration value="slippery"/>
               <xs:enumeration value="mud on roadway"/>
               <xs:enumeration value="leaves on roadway"/>
               <xs:enumeration value="loose sand on roadway"/>
               <xs:enumeration value="loose gravel"/>
               <xs:enumeration value="fuel on roadway"/>
               <xs:enumeration value="oil on roadway"/>
               <xs:enumeration value="road surface in poor condition"/>
               <xs:enumeration value="melting tar"/>
               <xs:enumeration value="ice"/>
               <xs:enumeration value="icy patches"/>
               <xs:enumeration value="black ice"/>
               <xs:enumeration value="ice pellets on roadway"/>
               <xs:enumeration value="ice build up"/>
               <xs:enumeration value="freezing rain"/>
               <xs:enumeration value="wet and icy roads"/>
               <xs:enumeration value="melting snow"/>
               <xs:enumeration value="slush"/>
               <xs:enumeration value="frozen slush"/>
               <xs:enumeration value="snow on roadway"/>
               <xs:enumeration value="packed snow"/>
               <xs:enumeration value="packed snow patches"/>
               <xs:enumeration value="plowed snow"/>
               <xs:enumeration value="wet snow"/>
               <xs:enumeration value="fresh snow"/>
               <xs:enumeration value="powder snow"/>
               <xs:enumeration value="granular snow"/>
               <xs:enumeration value="frozen snow"/>
               <xs:enumeration value="crusted snow"/>
               <xs:enumeration value="deep snow"/>
               <xs:enumeration value="snow drifts"/>
               <xs:enumeration value="drifting snow"/>
               <xs:enumeration value="expected snow accumulation"/>
               <xs:enumeration value="current snow accumulation"/>
               <xs:enumeration value="dry pavement"/>
               <xs:enumeration value="snow cleared"/>
               <xs:enumeration value="pavement conditions improved"/>
               <xs:enumeration value="skid hazard reduced"/>
               <xs:enumeration value="pavement conditions cleared"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The current average travel time of the vehicles using the link.

REMARKS:
Proposed revised ASN.1 name:  Link-travel-time.

XML-SCHEMA:
<xs:simpleType name="Link-TravelTime" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The posted or legal speed limit on the Link for trucks in kilometers per hour.

XML-SCHEMA:
<xs:simpleType name="Link-TruckSpeedLimit" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Delay time for travel along at a particular Node.

XML-SCHEMA:
<xs:simpleType name="Node-Delay" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="605000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  This is the number of Links beginning or ending at the Node.

XML-SCHEMA:
<xs:simpleType name="Node-LinksNum" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="999"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The name of the NODE for user identification.

XML-SCHEMA:
<xs:simpleType name="Node-Name" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD, which in turn comes from ITIS codes.  Node current traffic status or condition that provides an indication of standard or non-standard Node operations.

REMARKS:
See link status code for commentary on changes.

XML-SCHEMA:
<xsd:simpleType name="Node-Status">
   <xsd:union>
      <xsd:simpleType>
         <xsd:restriction base="xsd:unsignedInt">
            <xsd:minInclusive value="768"/>
            <xsd:maxInclusive value="1023"/>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="closed to traffic"/>
            <xsd:enumeration value="closed"/>
            <xsd:enumeration value="closed ahead"/>
            <xsd:enumeration value="closed intermittently"/>
            <xsd:enumeration value="closed for repairs"/>
            <xsd:enumeration value="closed for the season"/>
            <xsd:enumeration value="blocked"/>
            <xsd:enumeration value="blocked ahead"/>
            <xsd:enumeration value="reduced to one lane"/>
            <xsd:enumeration value="reduced to two lanes"/>
            <xsd:enumeration value="reduced to three lanes"/>
            <xsd:enumeration value="collapse"/>
            <xsd:enumeration value="out"/>
            <xsd:enumeration value="open to traffic"/>
            <xsd:enumeration value="open"/>
            <xsd:enumeration value="reopened to traffic"/>
            <xsd:enumeration value="clearing"/>
            <xsd:enumeration value="cleared"/>
         </xsd:restriction>
      </xsd:simpleType >
   </xsd:union>
   <xsd:annotation>
      <xsd:appinfo>
         closed to traffic (769)
         closed (770) 
         -- Hint: use this only for NON road-lane items (such as a rest stop)
         closed ahead (771)
         closed intermittently (772)
         closed for repairs (773)
         closed for the season (774)
         blocked (775)
         blocked ahead (776)
         reduced to one lane (777)
         reduced to two lanes (778)
         reduced to three lanes (779)
         collapse (780) -- Used with bridges and tunnels
         out (781) -- Used with bridges and roads
         open to traffic (891)
         open (892) 
         -- Hint: use this only for NON road-lane items (such as a rest stop)
         reopened to traffic (893)
         clearing (894)
         cleared (895)
      </xsd:appinfo>
   </xsd:annotation>
</xsd:simpleType>


VALID-VALUE-RULE:
(0..65565)
-- The defined list of ITIS codes are too long to list here
-- Many smaller lists use a sub-set of these codes as defined elements
-- Also enumerated values expressed as text constant are very common,
-- and in many deployment the list codes are used as a shorthand for
-- this text.  Also the XML expressions commonly use a union of the 
-- code values and the textual expressions.  
-- Consult SAE J2540 for further details.

XML-SCHEMA:
<xs:simpleType name="ITIScodes" >
      <xs:annotation>
         <xs:documentation>       
            The defined list of ITIS codes are too long to list here
            Many smaller lists use a sub-set of these codes as defined elements
            Also enumerated values expressed as text constant are very common,
            and in many deployment the list codes are used as a shorthand for
            this text.  Also the XML expressions commonly use a union of the
            code values and the textual expressions.
            Consult SAE J2540 for further details.
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="65565"/>
      </xs:restriction>
</xs:simpleType>


MESSAGE-BODY:
SEQUENCE {
     date    Date,
     time    Time,
     offset  TimeOffset OPTIONAL
}
-- defined in the ATIS work, where:

Date ::= IA5String (SIZE(8))
-- format as: YYYYMMDD where 
-- YYYY  the year, in common era units
-- MM  the month, range 01 to 12
-- DD the day, range 01 to 31
-- use zero for MM and DD when not applicable

Time ::= IA5String (SIZE(6..10))
-- Format:  HHMMSSssss
-- Valid times using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59; 
-- SS=00 through 59; 00 if NA
-- ssss=0000 through 9999. 
-- Use SS= 60 for leap seconds
-- HH represents hours, MM minutes, SS seconds, 
-- and ssss decimal seconds to whatever number 
-- of significant digits is required (up to four)

TimeOffset ::= IA5String (SIZE(4))
-- Valid time offset using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59;


MESSAGE-BODY:
SEQUENCE {
     head           Head OPTIONAL, 
     location       LRMS.LocationReference,
     areaExtent     LRMS.LocationReference OPTIONAL,
     typeEvent      TMDD.Event-DescriptionTypeEvent,
                    -- the major catagory (and sub catagory) 
                    -- of the event (from ITIS)
     severity       TMDD.Event-IncidentSeverity OPTIONAL,
     status         TMDD.Event-IncidentStatus OPTIONAL,
                    -- status of the event(from ITIS)
     cause          SEQUENCE OF ITIScodesAndText,
     descripition   SEQUENCE OF ITIScodesAndText OPTIONAL,
     advice         SEQUENCE OF ITIScodesAndText OPTIONAL,     
                    -- current relevent information in text and codes
     lanesEffected  SEQUENCE (SIZE(1..16)) OF IM.LaneDescription  OPTIONAL,
     vehiclesInvolvedCount  TMDD.Event-IncidentVehiclesInvolvedCount OPTIONAL,
                    -- the number of vehicles
     vehiclesInvolved SEQUENCE OF TMDD.Event-IncidentVehiclesInvolved OPTIONAL,
                    -- the types of vehicles
     startTime      DateTimePair OPTIONAL,
                    -- point in time this event started
     clearTime      DateTimePair OPTIONAL,
                    -- an estimated clear time
     repeatTimes    ComplexTime OPTIONAL,
                    -- a set of repeating times for events
                    -- which re-occur over a periods of days
     furtherData    URL-Link OPTIONAL,
     tail           Tail OPTIONAL,
     ...
     }


DEFINITION:
This message is defined as part of the ATIS effort and is used to send alerts for nearby hazards to travelers.  It is only a committee draft  at this stage so a more complete definition of use should be sought from the sponsoring SDO at the time of deployment.   Unlike most messages which use the LRMS profiles to describe the areas affected, this message likely applies to the receiver by the very fact that it is received.  In other words, it does not use LRMS.  Typically transmitted over the Dedicated Short Range Communications (DSRC) media, this message provides simple alerts to travelers (both in vehicle and with portable devices).  Typical example messages would be "bridge icing ahead" or "trail coming" or  "ambulances operating in the area."  This message is for the alerting of roadway hazards; not for vehicle cooperative communications, mayday, or other safety applications.  It is generally presumed that each receiving device is aware of its own position and heading, but this is not a requirement to receive and understand these messages, nor is having a local base map.  The space vector section of the message gives a simple vector for where the hazard is located (fixed or moving) and can be used to filter some messages as being not applicable. Consider a "train approaching" message which indicates the train is in fact traveling away from the receiver.  The basic message themselves is represented in a fixed list, similar to the ITIS codes but reflecting the needs of short term alerts.  This list is national in scope, never outdated (items can only be added), and does not allow local additions.  A priority level for the message is also sent, which may be matched to various other priorities in the cockpit to determine the order and type of message presentation to minimize driver distraction.  A delay and duration field provides a gross level for the range of applicability for the message over distance.  For example some messages at no longer meaningful to the traveler once the vehicle has moved a distance down the roadway link.  In many cases a complex event will also be explained in the other ATIS messages, and a linkage value is given in those cases when such data is available.  Note that this message is hard coded in transmission, that the byte ordering is known and fixed, and therefore no tagging is required to denote internal elements when transmitted.

MESSAGE-BODY:
SEQUENCE { 
    eventMsg     AlertMsgList,  
                            -- a list of well known phrase lists
                            -- which explains the type of  the 
                            -- alert / danger / hazard involved
                            -- two bytes in length
    priority     Priority,  
                            -- the urgency of this message, a relative
                            -- degree of merit compared with other 
                            -- similar messages for this type (not other
                            -- messages being sent by the RSU, nor a 
                            -- priority of display urgency
                            -- one byte in length
    duration     Duration,  
                            -- the spatial distance over which this
                            -- message applies and should be presented 
                            -- to the driver
                            -- one byte in length
    spaceVector  SpaceVector, 
                            -- a compact summary of the position,
                            -- heading, rate of speed, etc of the 
                            -- event in question. Including stationary
                            -- and wide area events. 
                            -- 12 bytes in length
    furtherMsg   ITIS.ITIScode (SIZE(8)), 
                            -- eight ITIS code entries to further
                            -- describe the event, give advice, or any 
                            -- other ITIS codes
                            -- non used positions are set to zero 
                            -- 16 bytes in length 
    furtherInfoID FurtherInfoID 
                            -- a link to any other incident 
                            -- information data that may be available 
                            -- in the normal ATIS incident description 
                            -- or other messages
                            -- two bytes in length
    } 
    -- note that typically the above is encoded as a 
    -- sequence of known bytes when sent over DSRC media

REMARKS:
This message is only a draft as the standard was going to ballot.  Confirm the most current adopted definition of this structure before use.


DEFINITION:
External data element taken from TMDD.  The prevailing number of through lanes at any point on the Link.

XML-SCHEMA:
<xs:simpleType name="Link-lane-count" >
      <xs:restriction base="xs:unsignedByte">
         <xs:minInclusive value="1"/>
         <xs:maxInclusive value="50"/>
      </xs:restriction>
</xs:simpleType>


MESSAGE-BODY:
SEQUENCE (SIZE(1..100)) OF SEQUENCE {
  item CHOICE    {
       itis ITIScodes,
       text FreeText
       }
  }

REMARKS:
Refer to the SAE ITIS documents for the complete (and lengthy) listing of these codes and for an XML rendering.  Note that the XML rendering of this item is defined there and consits of only two inner tags used to hold the data.


DEFINITION:
The dry-bulb temperature in tenths of degrees Celsius.  The temperature is an instantaneous reading  at the height specified by essTemperatureSensorHeight.  The value 1001 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssAirTemperature" >
      <xs:restriction base="xs:short">
         <xs:minInclusive value="-1000"/>
         <xs:maxInclusive value="1001"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The total water equivalent precipitation over the twenty-four hours preceding the observation in tenths of kilograms per square meter (for rain, this is equivalent to tenths of  millimeters).  A value of 65535 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssPrecipitation24Hours" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


XML-SCHEMA:
<xs:simpleType name="EssPrecipitationOneHour" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


DEFINITION:
The relative humidity in percent.  The value of 101 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssRelativeHumidity" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="101"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The current depth of unpacked snow in centimeters on the driving surface.  The value 3001 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssRoadwaySnowDepth" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="3001"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The current depth of packed snow in centimeters on the roadway surface.  The value 3001 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssRoadwaySnowPackDepth" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="3001"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The name of the law enforcement agency with authority over this link.

VALID-VALUE-RULE:
(SIZE(1..128)) -- Any set of ASCII characters up to 128

REMARKS:
V1.3 - Revised Definition.  Removed ANSI X3.4 from REFERENCE VALUE DOMAIN..

XML-SCHEMA:
<xs:simpleType name="Link-jurisdiction" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
Data element used to indicate the presence of additional information.  This data element is to be used only when a precedent LINK data element of type code has a value of '1 = Other, additional information required'.

VALID-VALUE-RULE:
(SIZE(1..256)) -- Any set of ASCII characters up to 256.

XML-SCHEMA:
<xs:simpleType name="Link-other" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 256.
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="256"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The name of the designated owner of the LINK.

VALID-VALUE-RULE:
(SIZE(1..256)) -- Any set of ASCII characters up to 256

REMARKS:
V1.3 - Removed ANSI X3.4 from REFERENCE VALUE DOMAIN.

XML-SCHEMA:
<xs:simpleType name="Link-ownership" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 256
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="256"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The snowfall accumulation rate in 10^-7 meters per second (this is equivalent to 0.36 mm/hr).  The value 65535 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssSnowfallAccumRate" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


DEFINITION:
Used as part of Sending a various time and price schedules and durations.  For example, the Time Interval for the Rate (such as 30 minutes) with all other qualifiers specified. Fixed Rates are specified with the First Payment field.

VALID-VALUE-RULE:
(0..65535)
-- Units of minutes
-- use 0 for "unknown"
-- use 65535 for "forever"

REMARKS:
See also the TCIP element "PI_OffShedule) which can be used for pos and neg time offsets.  This item (which was redefined in the ATIS use of it) allows a range of 2000000  (3.9 years).

KEYWORD:
Lot, Price, Days, Business Hours, Price Schedule

XML-SCHEMA:
<xs:simpleType name="TimeInterval" >
      <xs:annotation>
         <xs:documentation>       
            Units of minutes
use 0 for "unknown"
use 65535 for "forever"
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


DEFINITION:
An identifying code or name for a specific agency that may respond to an incident.  The first 2 characters are a code for the type of agency, and consequently for the identifier.  The last 17 characters are the identifiers for the Incident Management resp

VALID-VALUE-RULE:
(SIZE(1..19))
-- The std also states: 
-- Valid Value Range:  Characters 18-19 (OCTETS 35-38): [0,9]
-- Characters 1-17 (OCTETS 1-34): [UCS];  Valid Value List:  00 = Not used, escape.
-- 01 = Transit Agency ID
-- 02 = NCIC
-- 03 = NFIRS
-- 04 = FARS
-- 05 - 49 = reserved
-- 50 - 89 = Local Use.
-- 90 =  Null (data is null)
-- 91 = Intentionally left blank (not used)
-- 92 = Deleted by device (reset to null)
-- 93 = Data unavailable
-- 94 = Illegal calculation (e.g. divide by zero)
-- 95 = value out of range
-- 96 = device malfunction (no value returned)
-- 97 = data expired (data deleted, no longer available)
-- 98 = data supressed for security or privacy
-- 99 = unspecified

SOURCE:
Adopted ITE TCIP, Transit Communications Interface Profiles

XML-SCHEMA:
<xs:simpleType name="IM-ResponseAgencyID" >
      <xs:annotation>
         <xs:documentation>       
            The std also states:
            Valid Value Range:  Characters 18-19  (OCTETS 35-38) : [0, 9]
            Characters 1-17  (OCTETS 1-34) : [UCS];  Valid Value List:  00 = Not used,  escape.
            01 = Transit Agency ID
            02 = NCIC
            03 = NFIRS
            04 = FARS
            05 - 49 = reserved
            50 - 89 = Local Use.
            90 =  Null  (data is null)
            91 = Intentionally left blank  (not used)
            92 = Deleted by device  (reset to null)
            93 = Data unavailable
            94 = Illegal calculation  (e.g. divide by zero)
            95 = value out of range
            96 = device malfunction  (no value returned)
            97 = data expired  (data deleted,  no longer available)
            98 = data supressed for security or privacy
            99 = unspecified
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="19"/>
      </xs:restriction>
</xs:simpleType>


# MiscText

text:
For the purposes of this standard, the following definitions, abbreviations and acronyms apply.


text:
The terms, abbreviations and acronyms cited below shall be a part of the terms of the other companion volumes of this standard and guides unless specifically cited otherwise.


text:
8. Remaining Clauses to be placed here as needed (8 to TBD)


text:
The message sets for this standard shall consist of the following messages and data frames.  Each shall be further divided into specific messages and elements as defined in this clause. Typically, these messages shall be made up of message content internal to this document (made up of DEs that are either atomic or complex) and message content external to this document (from other functional areas and companion volumes).  
Definitions for these messages are presented in the following sub clauses.  The data elements used are then defined in the Clause 6.  In Clause 7 are entries taken from the other ITS standards and incorporated into this standard.  In each case, precise definitions are provided in ASN.1 and XML formats as appropriate.


text:
Messages and data frames specified in Clause 5 shall be composed of message elements. In some cases, these message elements shall be DFs, such as a message ‘Header’ DF, where each frame is in turn made up of primitive components. In other cases, these message elements shall be DEs. Any message specified in Clause 5 shall have all of its DEs and DFs specified in this clause, except those DEs that are primitive ASN.1 data types or those that are adopted from other functional areas. In the latter case, the referenced items can be found in the next clauses. For proper use of such elements, the governing standards shall be consulted.


text:
6.1 Data elements, data frames, and data frame references


text:
Replace with a copyright notice for your organization.


text:
This is a draft document of the TBD committee, subject to change.


text:
Data frames specified in Clause 5 are also composed of message elements defined by other standards bodies. These "foreign" elements are defined in the sections which follow.  These definitions were taken from the then current adopted standards of these organizations.  The referenced standards shall be consulted for further information regarding their proper use.  Unless otherwise noted in each entry, the below ASN.1 and XML definitions shall be taken as the governing definition when used in this standard, even when a more current revision of the standard is adopted by the issuing organization.


text:
The following data frames and data elements have been retired for active use in this  edition of the standard.  They are not recommended for use in new systems and are presented here for reference because there may be deployed systems which make use on them or which depend on them (both in deployments of ATIS and in other ITS standards).   These entries may in turn use definitions taken form other standards that were taken from the then current adopted standards of these organizations.  The referenced standards shall be consulted for further information regarding their proper use.  Unless otherwise noted in each entry, the below ASN.1 and XML definitions shall be taken as the governing definition when used in this standard, even when a more current revision of the standard is adopted by the issuing organization.  In subsequent editions of this standard, these entries may not longer be present.


# MSGs

DEFINITION:
Do not start with an emptry db, have al least one entry in each table you use.

MESSAGE-BODY:
SEQUENCE {
   nothing           Null,
   stillNothing      Null OPTIONAL,
   ...                -- # LOCAL_CONTENT
   }
   -- typical format of struc is above

XML-SCHEMA:
<xs:complexType name="Description" >
      <xs:annotation>
         <xs:documentation>       
Description Submessage, "incident Description information"
            needs extensive re-work to use ITIS and ATIS methods
         </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="agencyReporting" type="CptddAgencyID" />
         <!-- [ITE.TCIP.cptddAgencyID]
         ID of agency reporting incident -->
         <xs:element name="incType" type="Event-description-type-incident"  minOccurs="0"/>
         <xs:element name="incSubType" type="IM-IncidentSubtype"  minOccurs="0"/>
         <!-- incident sub type code
         [ITE.TCIP.IM-IncidentSubtype] -->
         <xs:element name="descripShortText" type="IM-IncidentDescShort"  minOccurs="0"/>
         <!-- [ITE.TCIP.imddIncidentDescShort]
         short text description -->
         <xs:element name="descripLongText" type="IM-IncidentDescLong"  minOccurs="0"/>
         <!-- [ITE.TCIP.imddIncidentDescLong]
         long text description -->
         <xs:element name="incidentCmdr" type="IM-ResponseEmployeeID"  minOccurs="0"/>
         <!-- [ITE.TCIP.imddResponseEmployeeID]
         ID of Incident Commander -->
         <xs:element name="time" type="Issue-Stamp" />
         <xs:element name="qual" type="Reliability" />
         <xs:element name="descripWitnesses" type="Witness-list"  minOccurs="0"/>
         <!-- set of witness statements,  each paired with description
         of witness and reliability estimate -->
         <xs:element name="localDescription" type="local:Description" minOccurs="0"/>
      </xs:sequence>
</xs:complexType>


# The External DEs of IM (examples)

DEFINITION:
External data element taken from TMDD which is, in turn, taken from the ITIS codes.  A description of the general top level category which the event is.

XML-SCHEMA:
<xsd:simpleType name="Incident-Type">
   <xsd:union>
      <xsd:simpleType>
         <xsd:restriction base="xsd:unsignedInt">
            <xsd:minInclusive value="512"/>
            <xsd:maxInclusive value="767"/>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="accident"/>
            <xsd:enumeration value="serious accident"/>
            <xsd:enumeration value="injury accident"/>
            <xsd:enumeration value="minor accident"/>
            <xsd:enumeration value="multi vehicle accident"/>
            <xsd:enumeration value="numerous accidents"/>
            <xsd:enumeration value="accident involving a bicycle"/>
            <xsd:enumeration value="accident involving a bus"/>
            <xsd:enumeration value="accident involving a motorcycle"/>
            <xsd:enumeration value="accident involving a pedestrian"/>
            <xsd:enumeration value="accident involving a train"/>
            <xsd:enumeration value="accident involving a truck"/>
            <xsd:enumeration value="accident involving hazardous materials"/>
            <xsd:enumeration value="earlier accident"/>
            <xsd:enumeration value="medical emergency"/>
            <xsd:enumeration value="secondary accident"/>
            <xsd:enumeration value="rescue and recovery work in progress"/>
            <xsd:enumeration value="accident investigation work"/>
            <xsd:enumeration value="incident"/>
            <xsd:enumeration value="stalled vehicle"/>
            <xsd:enumeration value="abandoned vehicle"/>
            <xsd:enumeration value="disabled vehicle"/>
            <xsd:enumeration value="disabled truck"/>
            <xsd:enumeration value="disabled semi-trailer"/>
            <xsd:enumeration value="disabled bus"/>
            <xsd:enumeration value="disabled train"/>
            <xsd:enumeration value="vehicle spun out"/>
            <xsd:enumeration value="vehicle on fire"/>
            <xsd:enumeration value="vehicle in water"/>
            <xsd:enumeration value="vehicles slowing to look at accident"/>
            <xsd:enumeration value="jackknifed semi trailer"/>
            <xsd:enumeration value="jackknifed trailer home"/>
            <xsd:enumeration value="jackknifed trailer"/>
            <xsd:enumeration value="spillage occurring from moving vehicle"/>
            <xsd:enumeration value="acid spill"/>
            <xsd:enumeration value="chemical spill"/>
            <xsd:enumeration value="fuel spill"/>
            <xsd:enumeration value="hazardous materials spill"/>
            <xsd:enumeration value="oil spill"/>
            <xsd:enumeration value="spilled load"/>
            <xsd:enumeration value="toxic spill"/>
            <xsd:enumeration value="overturned vehicle"/>
            <xsd:enumeration value="overturned truck"/>
            <xsd:enumeration value="overturned semi-trailer"/>
            <xsd:enumeration value="overturned bus"/>
            <xsd:enumeration value="derailed train"/>
            <xsd:enumeration value="stuck vehicle"/>
            <xsd:enumeration value="truck stuck under bridge"/>
            <xsd:enumeration value="bus stuck under bridge"/>
            <xsd:enumeration value="accident cleared"/>
            <xsd:enumeration value="incident cleared"/>
         </xsd:restriction>
      </xsd:simpleType >
   </xsd:union>
   <xsd:annotation>
      <xsd:appinfo>
         accident (513) 
         -- Use when no further data is available regarding involved vehicle type
         serious accident (514)
         injury accident (515)
         minor accident (516)
         multi vehicle accident (517) 
         -- To be used when events are NOT distributed along a road 
         -- segment (i.e. one location)
         numerous accidents (518) 
         -- To be used when events are distributed along a road segment
         accident involving a bicycle (519)
         accident involving a bus (520)
         accident involving a motorcycle (521)
         accident involving a pedestrian (522)
         accident involving a train (523)
         accident involving a truck (524)
         accident involving hazardous materials (525)
earlier accident (526) -- Hint: Typically used as a cause, "Due to"
         medical emergency (527)
         secondary accident (528)
         rescue and recovery work in progress (529)
         accident investigation work (530)
         incident (531) 
         -- Hint: For non-accident incidents (disabled, jackknife, etc.) 
         -- where no further information is available
         stalled vehicle (532)
         abandoned vehicle (533)
         disabled vehicle (534)
         disabled truck (535)
         disabled semi-trailer (536) -- Alternative Rendering:  disabled tractor-trailer
         disabled bus (537)
         disabled train (538)
         vehicle spun out (539)
         vehicle on fire (540)
         vehicle in water (541)
         vehicles slowing to look at accident (542) 
         -- Alternative Rendering:  On-looker slowdown, Rubbernecking
         jackknifed semi trailer (543) 
         -- Alternatives can use: jackknifed tractor-trailer, jackknifed truck, 
         -- jackknifed big-rig
         jackknifed trailer home (544)
         jackknifed trailer (545) 
-- Hint: Used for smaller trailers (i.e. not type "jackknifed
-- semi trailer" above)
         spillage occurring from moving vehicle (546)
         acid spill (547)
         chemical spill (548)
         fuel spill (549)
         hazardous materials spill (550) 
         -- Also use the Disaster lists for large HAZMAT events
         oil spill (551)
         spilled load (552)
         toxic spill (553)
         overturned vehicle (554) 
         -- Use when no further data is available regarding involved vehicle types
         overturned truck (555)
         overturned semi-trailer (556)
         overturned bus (557)
         derailed train (558)
         stuck vehicle (559) 
         -- It is preferred to provide data which denotes WHY the vehicle is 
         -- stuck (I.e. mud/snow, under bridge, too wide, etc.)
         truck stuck under bridge (560) 
         -- Alternative Rendering:  high load hit involving truck
         bus stuck under bridge (561) 
         -- Alternative Rendering:  high load hit involving bus
         accident cleared (638)
         incident cleared (639)
      </xsd:appinfo>
   </xsd:annotation>
</xsd:simpleType>


DEFINITION:
The complete set of ITIS codes can be found in Volume Two of the J2540 Standard.  This is a set of over 1,000 items which are used to encode common events and list items in ITS.

VALID-VALUE-RULE:
(0..65565)
-- The defined list of ITIS codes are too long to list here
-- Many smaller lists use a sub-set of these codes as defined elements
-- Also enumerated values expressed as text constant are very common,
-- and in many deployments the list codes are used as a shorthand for
-- this text.  Also the XML expressions commonly use a union of the 
-- code values and the textual expressions.  
-- Consult SAE J2540 for further details.

REMARKS:
Refer to the SAE ITIS documents for the complete (and lengthy) listing of these codes and for an XML rendering.

SOURCE:
Adopted SAE J2540-2  (ITIS Phrases), March 2002

XML-SCHEMA:
<xs:simpleType name="ITIScodes" >
      <xs:annotation>
         <xs:documentation>       
            The defined list of ITIS codes are too long to list here
            Many smaller lists use a sub-set of these codes as defined elements
            Also enumerated values expressed as text constant are very common,
            and in many deployments the list codes are used as a shorthand for
            this text.  Also the XML expressions commonly use a union of the
            code values and the textual expressions.
            Consult SAE J2540 for further details.
         </xs:documentation>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="65565"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string"/>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from ATIS, used to represent date and time.

MESSAGE-BODY:
SEQUENCE {
     date    Date,
     time    Time,
     offset  TimeOffset OPTIONAL
} 
-- defined in the ATIS work, where:
Date ::= IA5String (SIZE(8))
-- format as: YYYYMMDD where 
-- YYYY  the year, in common era units
-- MM  the month, range 01 to 12
-- DD the day, range 01 to 31
-- use zero for MM and DD when not applicable

Time ::= IA5String (SIZE(6..10))
-- Format:  HHMMSSssss
-- Valid times using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59; 
-- SS=00 through 59; 00 if NA
-- ssss=0000 through 9999. 
-- Use SS= 60 for leap seconds
-- HH represents hours, MM minutes, SS seconds, 
-- and ssss decimal seconds to whatever number 
-- of significant digits is required (up to four)

TimeOffset ::= IA5String (SIZE(4))
-- Valid time offset using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59;

XML-SCHEMA:
<xs:complexType name="DateTimePair" >
      <xs:annotation>
         <xs:documentation>       
            defined in the ATIS work,  where:
         </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="date" type="Date" />
         <xs:element name="time" type="Time" />
         <xs:element name="offset" type="TimeOffset"  minOccurs="0"/>
      </xs:sequence>
</xs:complexType>


DEFINITION:
This is a complex data frame used by the message set to describe all forms of preplanned events including work zone information.  Complex repeating time schedules are supported, as well as ITIS codes to sort the events.

VALID-VALUE-RULE:
{
     location        LRMS,            
     typeEvent       TMDD.Incident-Type,  -- the major type and severity
     severity        TMDD.Event-incident-severity                 OPTIONAL,
                     -- the following is the three part description 
                     -- using both ITIS codes and open text
     cause           SEQUENCE OF ITIScodesAndText (SIZE(1..100)) 
     description     SEQUENCE OF ITIScodesAndText (SIZE(1..100))  OPTIONAL,
     advice          SEQUENCE OF ITIScodesAndText (SIZE(1..100))  OPTIONAL,     
                     -- current relevant information in text and codes
     startTime       DateTimePair                                 OPTIONAL,
                     -- point in time this event started
     clearTime       DateTimePair                                 OPTIONAL,
                     -- an estimated clear time
     laneData        SEQUENCE OF LaneDescription                  OPTIONAL,
                     -- complex set of lane conditions
     -- complex data used to describe repeating multi-day events
     timeLineStart              DateTimePair                      OPTIONAL,
     timeLineEstimatedDuration  DateTimePair                      OPTIONAL,
     timeLineScheduledEnd       DateTimePair                      OPTIONAL,
     timeList                   SEQUENCE OF TimeList              OPTIONAL,
     dayList                    SEQUENCE OF DayList               OPTIONAL,
     timeLineScheduleDaysOfWeek Day-of-week                       OPTIONAL,
     -- other tagged sets of information 
     tail                       TailSet                           OPTIONAL,
     ...
     }

REMARKS:
The ITIS codes used in the Incident-Type are another instance where local agreement is required to tailor the list of codes to a sub set suitable for use by local deployments.  For example, one regional deployment may choose to use the weather-related events as event information types, while another deployment does not.  Codes which could not be considered top level event classifications (such as "on bridge") would of course not be used.  Because any possible ITIS code could be received from a TMDD deployment, receiving centers should be constructed to handle this event.  Because all parties are based on the same underlying code list, the syntactic meaning would be the same regardless of the sub set of codes chosen for local use.  Note that the cause, description, advice sections allow mixture of both open free text and code phrases.


DEFINITION:
The use of ITIS codes interspersed with free text.   The complete set of ITIS codes can be found in Volume Two of the J2540 Standard.  This is a set of over 1,000 items which are used to encode common events and list items in ITS.

MESSAGE-BODY:
SEQUENCE OF (SIZE(1..100)) SEQUENCE {
  CHOICE    {
       itis ITIScodes,
       text FreeText
       }
  }


DEFINITION:
The NCIC Person data frame, taken from the Justice XML model which is, in turn, taken from NCIC-2000 and D20 to make up the basic elements.  See the Justice XML effort for the complete sets of definitions in XML and the respective standards for the underlying authoritative definition documents.  In this standard, this data frame is used as an all-purpose way to contain information about a person regardless of the role they have played in the event.  In the justice XML effort, this definition forms a basic object type which other more specific person types inherent from and add to as required.  Note that no local expansion is allowed to be added to this definition.  If local expansion is required it can be added in the using definition (typically the PersonInformation data frame).  Note that the ASN.1 to XML conversion process here uses an odd capitalization format for the XML elements.  This is to follow the conventions of the Justice XML schema, which differs from the conventions used in this standard and the rest of the ITS.

MESSAGE-BODY:
SEQUENCE {
   -- builds from SuperType in the JXDD effort
   name               SEQUENCE OF PersonName OPTIONAL, -- # UNTAGGED
                      -- first, middle, last, prefix, maiden, moniker, etc.
   aliasName          SEQUENCE OF PersonAliasName OPTIONAL, -- # UNTAGGED 
                      -- first, middle, last, prefix, maiden, moniker, etc.
   residence          SEQUENCE OF Residence OPTIONAL, -- # UNTAGGED 
                      -- address formats (not in LRMS form)
   contactInformation SEQUENCE OF PrimaryContactInformation OPTIONAL, -- # UNTAGGED 
                      -- name, description, phones, radio, email, etc.
   employment         SEQUENCE OF Employment OPTIONAL, -- # UNTAGGED 
                      -- employer, occupation, location, status, etc.
   descriptionText    SEQUENCE OF PersonDescriptionText OPTIONAL, -- # UNTAGGED 
   birthDate          SEQUENCE OF PersonBirthDate OPTIONAL, -- # UNTAGGED 
   birthPlace         SEQUENCE OF PersonBirthPlace OPTIONAL, -- # UNTAGGED 
                      -- address formats (not in LRMS form)
   birthPlaceCode     SEQUENCE OF PersonBirthPlaceCode OPTIONAL, -- # UNTAGGED 
   deathDate          SEQUENCE OF PersonDeathDate OPTIONAL, -- # UNTAGGED 
   ageMeasure         SEQUENCE OF PersonAgeMeasure OPTIONAL, -- # UNTAGGED 
   ageDescriptionText SEQUENCE OF PersonAgeDescriptionText OPTIONAL, -- # UNTAGGED 
   livingIndicator    SEQUENCE OF PersonLivingIndicator OPTIONAL, -- # UNTAGGED 
   assignedIDDetails  SEQUENCE OF PersonAssignedIDDetails OPTIONAL, -- # UNTAGGED 
                      -- various state and federal ID systems
   physicalDetails    SEQUENCE OF PersonPhysicalDetails OPTIONAL, -- # UNTAGGED 
                      -- height, weight, race, eye color, etc.
   socialDetails      SEQUENCE OF PersonSocialDetails OPTIONAL, -- # UNTAGGED 
                      -- language used, citizenship, insurance status, etc.
   biometricDetails   SEQUENCE OF PersonBiometricDetails OPTIONAL, -- # UNTAGGED 
                      -- blood type, gait, various evidence details, Xray, etc.
   medicalDetails     SEQUENCE OF PersonMedicalDetails OPTIONAL, -- # UNTAGGED
                      -- medications, disabilities, injury, mental state, etc.
   ... 
   }

REMARKS:
Note that each of the elements defined here (such as PersonName) are, in turn, made up of other additional elements.  This recursion continues to the basic atomic elements in the same way complex structures are defined and reused in the rest of ITS (for example the way LRMS is defined in its own standard, yet is referenced at only the top level in this standard).  Unlike other standards developed in the ITS community, the basic definition of each data element is not provided in an ASN.1 format in these documents, leaving the exercise to convert them to the individual deployment.  The Justice XML schema can be used "as is" without further conversion work by deployments using XML. 
The definition provided above is an exact match with the Justice XML model when this document was published; however, implementations of this structure in 1512 will probably want to agree to limits on the number of sequences of an item which can appear (rather than being unlimited as the Justice XML definitions are).  In this respect, the Justice XML definitions are at odds with the legacy message formats accepted by some systems such as NCIC-2000.

XML-SCHEMA:
<xsd:complexType name="PersonType">
<xsd:complexContent>
   <xsd:extension base="SuperType">
      <xsd:sequence>
         <xsd:element ref="PersonName" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonAliasName" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="Residence" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PrimaryContactInformation" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="Employment" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonBirthDate" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonBirthPlace" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonBirthPlaceCode" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonDeathDate" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonAgeMeasure" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonAgeDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonLivingIndicator" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonAssignedIDDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonPhysicalDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonSocialDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonBiometricDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PersonMedicalDetails" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PersonTypeElement" type="PersonType"/>


DEFINITION:
The NCIC Vehicle data frame, taken from the Justice XML model which is, in turn, taken from NCIC-2000 and D20 to make up the basic elements.  See the Justice XML effort for the complete sets of definitions in XML and the respective standards for the underlying authoritative definition documents.  In this standard, this data frame is used as an all-purpose way to contain information about a vehicle regardless of the role it may have played in the event.  This includes the basic type, a description of damage, various physical details, the owner, registration information, and many D20 items (year first sold, engine size, tax rates, etc.).  Note that no local expansion is allowed to be added to this definition.  If local expansion is required it can be added in the using definition (for example the WatchForVehicle data frame).   Note that the ASN.1 to XML conversion process here uses an odd capitalization format for the XML elements.  This is to follow the conventions of the Justice XML schema, which differs from the conventions used in this standard and the rest of the ITS.

MESSAGE-BODY:
SEQUENCE {
   -- builds from SuperType in the JXDD effort
   cargoText            SEQUENCE OF VehicleCargoText OPTIONAL, -- # UNTAGGED 
   engineID             SEQUENCE OF VehicleEngineID OPTIONAL, -- # UNTAGGED 
   engineQuantity       SEQUENCE OF VehicleEngineQuantity OPTIONAL, -- # UNTAGGED 
   enginePowerDisplacementText SEQUENCE OF VehicleEnginePowerDisplacementText 
                               OPTIONAL, -- # UNTAGGED 
   firstSoldYearText    SEQUENCE OF VehicleFirstSoldYearText OPTIONAL, -- # UNTAGGED 
   fuelTypeText         SEQUENCE OF VehicleFuelTypeText OPTIONAL, -- # UNTAGGED 
   fuelTypeCode         SEQUENCE OF VehicleFuelTypeCode OPTIONAL, -- # UNTAGGED 
   part                 SEQUENCE OF VehiclePart OPTIONAL, -- # UNTAGGED 
   registration         SEQUENCE OF VehicleRegistration OPTIONAL, -- # UNTAGGED 
   title                SEQUENCE OF VehicleTitle OPTIONAL, -- # UNTAGGED 
   useText              SEQUENCE OF VehicleUseText OPTIONAL, -- # UNTAGGED 
   useCode              SEQUENCE OF VehicleUseCode OPTIONAL, -- # UNTAGGED 
   ownershipTypeText    SEQUENCE OF VehicleOwnershipTypeText OPTIONAL, -- # UNTAGGED 
   leaseIndicator       SEQUENCE OF VehicleLeaseIndicator OPTIONAL, -- # UNTAGGED 
   rentalIndicator      SEQUENCE OF VehicleRentalIndicator OPTIONAL, -- # UNTAGGED 
   towedIndicator       SEQUENCE OF VehicleTowedIndicator OPTIONAL, -- # UNTAGGED 
   wantedIndicator      SEQUENCE OF VehicleWantedIndicator OPTIONAL, -- # UNTAGGED 
   id                   SEQUENCE OF VehicleID OPTIONAL, -- # UNTAGGED 
   vinText              SEQUENCE OF VehicleVINAText OPTIONAL, -- # UNTAGGED 
   makeCode             SEQUENCE OF VehicleMakeCode OPTIONAL, -- # UNTAGGED 
   modelCode            SEQUENCE OF VehicleModelCode OPTIONAL, -- # UNTAGGED 
   modelYearText        SEQUENCE OF VehicleModelYearText OPTIONAL, -- # UNTAGGED 
   modelCodeText        SEQUENCE OF VehicleModelCodeText OPTIONAL, -- # UNTAGGED 
   styleCode            SEQUENCE OF VehicleStyleCode OPTIONAL, -- # UNTAGGED 
   colorPrimaryText     SEQUENCE OF VehicleColorPrimaryText OPTIONAL, -- # UNTAGGED 
   colorPrimaryCode     SEQUENCE OF VehicleColorPrimaryCode OPTIONAL, -- # UNTAGGED 
   colorSecondaryText   SEQUENCE OF VehicleColorSecondaryText OPTIONAL, -- # UNTAGGED 
   colorSecondaryCode   SEQUENCE OF VehicleColorSecondaryCode OPTIONAL, -- # UNTAGGED 
   colorInteriorText    SEQUENCE OF VehicleColorInteriorText OPTIONAL, -- # UNTAGGED 
   doorQuantity         SEQUENCE OF VehicleDoorQuantity OPTIONAL, -- # UNTAGGED 
   emissionInspectionQuantity SEQUENCE OF VehicleEmissionInspectionQuantity 
                              OPTIONAL, -- # UNTAGGED 
   engineCylinderQuantity SEQUENCE OF VehicleEngineCylinderQuantity 
                          OPTIONAL, -- # UNTAGGED 
   garageIndicator      SEQUENCE OF VehicleGarageIndicator OPTIONAL, -- # UNTAGGED 
   odometerReadingMeasure SEQUENCE OF VehicleOdometerReadingMeasure 
                          OPTIONAL, -- # UNTAGGED 
   seatingQuantity      SEQUENCE OF VehicleSeatingQuantity OPTIONAL, -- # UNTAGGED 
   transmissionTypeText SEQUENCE OF VehicleTransmissionTypeText OPTIONAL, -- # UNTAGGED 
   transmissionTypeCode SEQUENCE OF VehicleTransmissionTypeCode OPTIONAL, -- # UNTAGGED 
   msrpAmount           SEQUENCE OF VehicleMSRPAmount OPTIONAL, -- # UNTAGGED 
   salesTaxPercentage   SEQUENCE OF VehicleSalesTaxPercentage OPTIONAL, -- # UNTAGGED 
   taxableAmount        SEQUENCE OF VehicleTaxableAmount OPTIONAL, -- # UNTAGGED 
   invoiceID            SEQUENCE OF VehicleInvoiceID OPTIONAL, -- # UNTAGGED 
   invoiceDate          SEQUENCE OF VehicleInvoiceDate OPTIONAL, -- # UNTAGGED 
   shipDate             SEQUENCE OF VehicleShipDate OPTIONAL, -- # UNTAGGED 
   paperMCOIssuedIndicator SEQUENCE OF VehiclePaperMCOIssuedIndicator 
                           OPTIONAL, -- # UNTAGGED 
   ... 
   }

REMARKS:
Note that each of the elements defined here (such as PropertyOwner which is, in turn, made up of PersonType) are in turn made up of other additional elements.  This recursion continues to the basic atomic elements in the same way complex structures are defined and reused in the rest of ITS (for example the way LRMS is defined in its own standard, yet is referenced at only the top level in this standard).  Unlike other standards developed in the ITS community, the basic definition of each data element is not provided in an ASN.1 format in these documents, leaving the exercise to convert them to the individual deployment.  The Justice XML schema can be used "as is" without further conversion work by deployments using XML. 
The definition provided above is an exact match with the Justice XML model when this document was published; however, implementations of this structure in 1512 will probably want to agree to limits on the number of sequences of an item which can appear (rather than being unlimited as the Justice XML definitions are).  In this respect, the Justice XML definitions are at odds with the legacy message formats accepted by some systems such as NCIC-2000.  If additional data elements are needed (and not covered by the cargo vehicle data structures, then consider using the JXDD "CommercialVehicleType" if needed.

XML-SCHEMA:
<xsd:complexType name="PropertyType">
   <xsd:complexContent>
      <xsd:extension base="SuperType">
         <xsd:sequence>
            <xsd:element ref="PropertyTypeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyTypeCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyActionText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyAssignedIDDetails" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyConditionText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyDisposition" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyLocation" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyPhysicalDetails" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyOwner" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyPossessor" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyPossessionDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyRegistration" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyTitle" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyStatus" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyUsageText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyValueDetails" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyWeaponIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyWeaponUsageIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="PropertyWeaponUseText" minOccurs="0" maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:extension>
   </xsd:complexContent>
</xsd:complexType>


<xsd:complexType name="BasicVehicleType">
   <xsd:complexContent>
      <xsd:extension base="PropertyType">
         <xsd:sequence>
            <xsd:element ref="VehicleCargoText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEngineID" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEngineQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEnginePowerDisplacementText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleFirstSoldYearText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleFuelTypeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleFuelTypeCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehiclePart" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleRegistration" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTitle" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleUseText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleUseCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleOwnershipTypeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleLeaseIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleRentalIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTowedIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleWantedIndicator" minOccurs="0" maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:extension>
   </xsd:complexContent>
</xsd:complexType>

<xsd:complexType name="VehicleType">
   <xsd:complexContent>
      <xsd:extension base="BasicVehicleType">
         <xsd:sequence>
            <xsd:element ref="VehicleID" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleVINAText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleMakeCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleModelCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleModelYearText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleModelCodeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleStyleCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorPrimaryText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorPrimaryCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorSecondaryText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorSecondaryCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleColorInteriorText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleDoorQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEmissionInspectionQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleEngineCylinderQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleGarageIndicator" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleOdometerReadingMeasure" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleSeatingQuantity" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTransmissionTypeText" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTransmissionTypeCode" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleMSRPAmount" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleSalesTaxPercentage" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleTaxableAmount" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleInvoiceID" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleInvoiceDate" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehicleShipDate" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="VehiclePaperMCOIssuedIndicator" minOccurs="0" maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:extension>
   </xsd:complexContent>
</xsd:complexType>


DEFINITION:
The NCIC Object data frame, taken from the Justice XML model which is, in turn, taken from NCIC-2000 and D20 to make up the basic elements.  See the Justice XML effort for the complete sets of definitions in XML and the respective standards for the underlying authoritative definition documents.  In this standard this data frame is used as an all-purpose way to contain information about a person regardless of the role they have played in the event.  In the justice XML effort this definition forms a basic object type which other more specific types of objects (guns, types of stolen property, jewelry, etc.) inherent from and add to as required.  Note that no local expansion is allowed to be added to this definition.  If local expansion is required, it can be added in the using definition (typically the WatchForObject data frame).  Note that the ASN.1 to XML conversion process here uses an odd capitalization format for the XML elements.  This is to follow the conventions of the Justice XML schema, which differs from the conventions used in this standard and the rest of the ITS.

MESSAGE-BODY:
SEQUENCE {
   -- builds from SuperType in the JXDD effort
   typeText              SEQUENCE OF PropertyTypeText OPTIONAL, -- # UNTAGGED  
   typeCode              SEQUENCE OF PropertyTypeCode OPTIONAL, -- # UNTAGGED
   descriptionText       SEQUENCE OF PropertyDescriptionText OPTIONAL, -- # UNTAGGED
   actionText            SEQUENCE OF PropertyActionText OPTIONAL, -- # UNTAGGED  
   assignedIDDetails     SEQUENCE OF PropertyAssignedIDDetails OPTIONAL, -- # UNTAGGED  
   conditionText         SEQUENCE OF PropertyConditionText OPTIONAL, -- # UNTAGGED 
   disposition           SEQUENCE OF PropertyDisposition OPTIONAL, -- # UNTAGGED  
   location              SEQUENCE OF PropertyLocation OPTIONAL, -- # UNTAGGED
   physicalDetails       SEQUENCE OF PropertyPhysicalDetails OPTIONAL, -- # UNTAGGED  
   owner                 SEQUENCE OF PropertyOwner OPTIONAL, -- # UNTAGGED
   possessor             SEQUENCE OF PropertyPossessor OPTIONAL, -- # UNTAGGED  
   possessionDescriptionText SEQUENCE OF PropertyPossessionDescriptionText 
                             OPTIONAL, -- # UNTAGGED  
   registration          SEQUENCE OF PropertyRegistration OPTIONAL, -- # UNTAGGED
   title                 SEQUENCE OF PropertyTitle OPTIONAL, -- # UNTAGGED  
   status                SEQUENCE OF PropertyStatus OPTIONAL, -- # UNTAGGED 
   usageText             SEQUENCE OF PropertyUsageText OPTIONAL, -- # UNTAGGED  
   valueDetails          SEQUENCE OF PropertyValueDetails OPTIONAL, -- # UNTAGGED 
   weaponIndicator       SEQUENCE OF PropertyWeaponIndicator OPTIONAL, -- # UNTAGGED 
   weaponUsageIndicator  SEQUENCE OF PropertyWeaponUsageIndicator OPTIONAL, -- # UNTAGGED
   weaponUseText         SEQUENCE OF PropertyWeaponUseText OPTIONAL, -- # UNTAGGED
   ... 
   }

REMARKS:
Note that each of the elements defined here (such as Property Owner) are, in turn, made up of other additional elements.  This recursion continues to the basic atomic elements in the same way complex structures are defined and reused in the rest of ITS (for example the way LRMS is defined in its own standard, yet is referenced at only the top level in this standard).  Unlike other standards developed in the ITS community, the basic definition of each data element is not provided in an ASN.1 format in these documents, leaving the exercise to convert them to the individual deployment.  The Justice XML schema can be used "as is" without further conversion work by deployments using XML. 
The definition provided above is an exact match with the Justice XML model when this document was published; however, implementations of this structure in 1512 will probably want to agree to limits on the number of sequences of an item which can appear (rather than being unlimited as the Justice XML definitions are).  In this respect, the Justice XML definitions are at odds with the legacy message formats accepted by some systems such as NCIC-2000.

XML-SCHEMA:
<xsd:complexType name="PropertyType">
<xsd:complexContent>
   <xsd:extension base="SuperType">
      <xsd:sequence>
         <xsd:element ref="PropertyTypeText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyTypeCode" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyActionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyAssignedIDDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyConditionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyDisposition" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyLocation" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyPhysicalDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyOwner" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyPossessor" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyPossessionDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyRegistration" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyTitle" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyStatus" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyUsageText" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyValueDetails" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyWeaponIndicator" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyWeaponUsageIndicator" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="PropertyWeaponUseText" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:extension>
</xsd:complexContent>
</xsd:complexType>


DEFINITION:
The all purpose Location Reference Message Set (LRMS) message used in all of ITS.

MESSAGE-BODY:
CHOICE
   {
   -- Which is in turn defined in the LRMS module as    geometry            GeometryProfile,
   geocoordinate       GeographicCoordinate,
   grid                GridProfile,
   linearReferencing   LinearReferenceProfile,
   crossStreets        CrossStreetsProfile,
   address             AddressProfile,
   mdi                 ModelProfile
   }

GeographicCoordinate ::= SEQUENCE {id INTEGER, dv OCTET STRING}
GridProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}
LinearReferenceProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}
CrossStreetsProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}
AddressProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}
ModelProfile ::= SEQUENCE {id INTEGER, dv OCTET STRING}

REMARKS:
At this time the entire LRMS system is being adopted as an SAE standard. Consult that effort for the most current defintions of the elements which make up this structure.

XML-SCHEMA:
<xs:complexType name="LocationReference" >
      <xs:choice>
         <xs:element name="geocoordinate" type="GeographicCoordinate" />
         <xs:element name="grid" type="GridProfile" />
         <xs:element name="linearReferencing" type="LinearReferenceProfile" />
         <xs:element name="crossStreets" type="CrossStreetsProfile" />
         <xs:element name="address" type="AddressProfile" />
         <xs:element name="mdi" type="ModelProfile" />
      </xs:choice>
</xs:complexType>


DEFINITION:
External data element taken from TMDD.  A code which describes the severity of an incident.  Each region must define the meaning of the values defined.

VALID-VALUE-RULE:
{
   noAdditionalInformation     (0),
   otherAdditionalInformation  (1), 
   none                        (2),
   minor                       (3), 
   major                       (4), 
   naturalDisaster             (5),
   ...
   }
-- Select only one value from list

SOURCE:
Adopted ITE TMDD Standard TM1.03 Amendment 1, March 19, 2001

XML-SCHEMA:
<xs:simpleType name="Event-incident-severity" >
      <xs:annotation>
         <xs:appinfo>
            noAdditionalInformation (0)
            otherAdditionalInformation (1)
            none (2)
            minor (3)
            major (4)
            naturalDisaster (5)
         </xs:appinfo>
         <xs:documentation>       
            Select only one value from list
         </xs:documentation>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="5"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="noAdditionalInformation"/>
               <xs:enumeration value="otherAdditionalInformation"/>
               <xs:enumeration value="none"/>
               <xs:enumeration value="minor"/>
               <xs:enumeration value="major"/>
               <xs:enumeration value="naturalDisaster"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken originally from TMDD work and then merged into the ITS-wide ITIS codes.  A code which indicates a status of the incident.  This is taken from a sub range of ITIS codes called "Incident Response Status".

XML-SCHEMA:
<xsd:simpleType name="Event-IncidentStatus">
   <xsd:union>
      <xsd:simpleType>
         <xsd:restriction base="xsd:unsignedInt">
            <xsd:minInclusive value="2816"/>
            <xsd:maxInclusive value="3071"/>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="unconfirmed report"/>
            <xsd:enumeration value="initial response en-route"/>
            <xsd:enumeration value="follow-up response en-route"/>
            <xsd:enumeration value="initial response on scene"/>
            <xsd:enumeration value="follow-up response on scene"/>
            <xsd:enumeration value="confirmed report"/>
            <xsd:enumeration value="scene is unsecured at this time"/>
            <xsd:enumeration value="response scene secured"/>
            <xsd:enumeration value="rescue and recovery work in progress"/>
            <xsd:enumeration value="extraction in progress"/>
            <xsd:enumeration value="clearance work in progress"/>
            <xsd:enumeration value="body removal operations"/>
            <xsd:enumeration value="fire / containment contained"/>
            <xsd:enumeration value="fire / containment not contained"/>
            <xsd:enumeration value="event cleared"/>
            <xsd:enumeration value="traffic clearing"/>
            <xsd:enumeration value="incident closed"/>
         </xsd:restriction>
      </xsd:simpleType >
   </xsd:union>
   <xsd:annotation>
      <xsd:appinfo>
         unconfirmed report (2817)
         initial response en-route (2818)
         follow-up response en-route (2819)
         initial response on scene (2820)
         follow-up response on scene (2821)
         confirmed report (2822)
         scene is unsecured at this time (2823) 
         -- Caution this has different meanings in PS use
         response scene secured (2824) 
         -- Caution this has different meanings in PS use
         rescue and recovery work in progress (2825)
         extraction in progress (2826)
         clearance work in progress (2827)
         body removal operations (2828)
         fire / containment contained (2829)
         fire / containment not contained (2830)
         event cleared (2831) 
         -- Meaning that responder has left scene, not that surrounding traffic has cleared to a normal level
         traffic clearing (2832)
         incident closed (2833) 
-- A "case closed" meaning which can differ considerably by local agency policies
      </xsd:appinfo>
   </xsd:annotation>
</xsd:simpleType>


DEFINITION:
External data element taken from TMDD.  A code which indicates the types of vehicles involved in a verified incident.

VALID-VALUE-RULE:
{
   otherNoInfo       (0), -- Other No Additional Information; 
   otherInfo         (1), -- Other Additional Information (follows in message)
   transitBus        (2), -- Public Transit Bus; 
   lightRail         (3), -- Light Rail; 
   commuterRail      (4), -- Commuter/Passenger Rail; 
   freightRail       (5), -- Freight Rail; 
   publicSafety      (6), -- Public Safety Vehicle; 
   convertible       (7), -- Convertible (excludes sun-roof, t-bar); 
   twoDoorHardtop    (8), -- 2-door sedan, hardtop, coupe; 
   twoDoorHatchback  (9), -- 3-door/2-door hatchback; 
   ... 
   -- consult TMDD for other known values
   }

REMARKS:
Originally this was defined as a BIT STRING now changed to be an ENUMERATED type for use in this standard.  Consult TMDD for a complete and current list of items.

XML-SCHEMA:
<xs:simpleType name="Event-IncidentVehiclesInvolved" >
      <xs:annotation>
         <xs:appinfo>
            otherNoInfo (0) -- Other No Additional Information;
            otherInfo (1) -- Other Additional Information  (follows in message)
            transitBus (2) -- Public Transit Bus;
            lightRail (3) -- Light Rail;
            commuterRail (4) -- Commuter/Passenger Rail;
            freightRail (5) -- Freight Rail;
            publicSafety (6) -- Public Safety Vehicle;
            convertible (7) -- Convertible  (excludes sun-roof ,
            twoDoorHardtop (8) -- 2-door sedan ,
            twoDoorHatchback (9) -- 3-door/2-door hatchback;
             -- consult TMDD for other known values
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="9"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="otherNoInfo"/>
               <xs:enumeration value="otherInfo"/>
               <xs:enumeration value="transitBus"/>
               <xs:enumeration value="lightRail"/>
               <xs:enumeration value="commuterRail"/>
               <xs:enumeration value="freightRail"/>
               <xs:enumeration value="publicSafety"/>
               <xs:enumeration value="convertible"/>
               <xs:enumeration value="twoDoorHardtop"/>
               <xs:enumeration value="twoDoorHatchback"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The total number of vehicles involved in an incident.

XML-SCHEMA:
<xs:simpleType name="Event-IncidentVehiclesInvolvedCount" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>


DEFINITION:
The all-purpose Location Reference Message Set (LRMS) message used in all of ITS.

MESSAGE-BODY:
LRMS.LocationReference

-- Which is in turn defined in the LRMS module as 
LocationReference ::= CHOICE
   {
   geometry            GeometryProfile,
   geocoordinate       GeographicCoordinate,
   grid                GridProfile,
   linearReferencing   LinearReferenceProfile,
   crossStreets        CrossStreetsProfile,
   address             AddressProfile,
   mdi                 ModelProfile
   }

REMARKS:
At this time the entire LRMS system is being adopted as an SAE standard.  Consult that effort for the most current defintions of the elements which make up this structure.


VALID-VALUE-RULE:
BIT STRING
{
   otherNoInfo       (0) -- Other No Additional Information; 
   otherInfo         (1) -- Other Additional Information (follows in message)
   transitBus        (2) -- Public Transit Bus; 
   lightRail         (3) -- Light Rail; 
   commuterRail      (4) -- Commuter/Passenger Rail; 
   freightRail       (5) -- Freight Rail; 
   publicSafety      (6) -- Public Safety Vehicle; 
   Convertible       (7) -- Convertible (excludes sun-roof, t-bar); 
   twoDoorHardtop    (8) -- 2-door sedan, hardtop, coupe; 
   twoDoorHatchback  (9) -- 3-door/2-door hatchback; 
   ... 
   -- consult TMDD for other values
   } (0..255)

XML-SCHEMA:
<xs:simpleType name="Event-IncidentVehiclesInvolved" >
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt"/>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string"/>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  A bit string which indicates the lanes and shoulders affected by an event (e.g. an incident, roadway closure, special event).

VALID-VALUE-RULE:
(SIZE(1..15))
-- Select one bit per lane.  
-- Lanes are numbered from the median out beginning with 1. 
-- 0 and 15 represent left shoulder and right shoulder, respectively.

REMARKS:
Note that this element is not expected to be used in many parts of ITS, as the lane description data frame of this standard (which relates the same information) makes it unneeded.

XML-SCHEMA:
<xs:simpleType name="Event-LanesBlockedOrClosedCount" >
      <xs:annotation>
         <xs:documentation>       
            Select one bit per lane.
            Lanes are numbered from the median out beginning with 1.
            0 and 15 represent left shoulder and right shoulder,  respectively.
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="binary">
         <xs:minLength value="1"/>
         <xs:maxLength value="15"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  A free-text description of the response plan to follow.

VALID-VALUE-RULE:
(SIZE(1..10000))
-- bound at 10,000 char for use.  TMDD has no bound

XML-SCHEMA:
<xsd:simpleType name="Event-ResponsePlanText">
   <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="10000"/>
   </xsd:restriction>
</xsd:simpleType>


DEFINITION:
The use of ITIS codes interspersed with free text.   The complete set of ITIS codes can be found in Volume two of the J2540 Standard.  This is a set of over 1,000 items which are used to encode common events and list items in ITS.


VALID-VALUE-RULE:
{
   otherNoInfo       (0), -- Other No Additional Information; 
   otherInfo         (1), -- Other Additional Information (follows in message)
   transitBus        (2), -- Public Transit Bus; 
   lightRail         (3), -- Light Rail; 
   commuterRail      (4), -- Commuter/Passenger Rail; 
   freightRail       (5), -- Freight Rail; 
   publicSafety      (6), -- Public Safety Vehicle; 
   Convertible       (7), -- Convertible (excludes sun-roof, t-bar); 
   twoDoorHardtop    (8), -- 2-door sedan, hardtop, coupe; 
   twoDoorHatchback  (9), -- 3-door/2-door hatchback; 
   ... 
   -- consult TMDD for other values
   } (0..255)

XML-SCHEMA:
<xs:simpleType name="Event-IncidentVehiclesInvolved" >
      <xs:annotation>
         <xs:appinfo>
            otherNoInfo (0) -- Other No Additional Information;
            otherInfo (1) -- Other Additional Information  (follows in message)
            transitBus (2) -- Public Transit Bus;
            lightRail (3) -- Light Rail;
            commuterRail (4) -- Commuter/Passenger Rail;
            freightRail (5) -- Freight Rail;
            publicSafety (6) -- Public Safety Vehicle;
            Convertible (7) -- Convertible  (excludes sun-roof ,
            twoDoorHardtop (8) -- 2-door sedan ,
            twoDoorHatchback (9) -- 3-door/2-door hatchback;
             -- consult TMDD for other values
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="255"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="otherNoInfo"/>
               <xs:enumeration value="otherInfo"/>
               <xs:enumeration value="transitBus"/>
               <xs:enumeration value="lightRail"/>
               <xs:enumeration value="commuterRail"/>
               <xs:enumeration value="freightRail"/>
               <xs:enumeration value="publicSafety"/>
               <xs:enumeration value="Convertible"/>
               <xs:enumeration value="twoDoorHardtop"/>
               <xs:enumeration value="twoDoorHatchback"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD. A bit string which indicates the lanes and shoulders affected by an event (e.g. an incident, roadway closure, special event).

REMARKS:
Note that this element not expected to be used in many parts of ITS, as the lane description data frame of this standard (which relates the same information) makes it unneeded.


DEFINITION:
External data element taken from TMDD.  A free text description of the response plan to follow.


MESSAGE-BODY:
SEQUENCE {
   date    Date,
   time    Time,
   offset  TimeOffset OPTIONAL
   }
-- defined in the ATIS work, where:
Date ::= IA5String (SIZE(8))
-- format as: YYYYMMDD where 
-- YYYY  the year, in common era units
-- MM  the month, range 01 to 12
-- DD the day, range 01 to 31
-- use zero for MM and DD when not applicable

Time ::= IA5String (SIZE(6..10))
-- Format:  HHMMSSssss
-- Valid times using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59; 
-- SS=00 through 59; 00 if NA
-- ssss=0000 through 9999. 
-- Use SS= 60 for leap seconds
-- HH represents hours, MM minutes, SS seconds, 
-- and ssss decimal seconds to whatever number 
-- of significant digits is required (up to four)

TimeOffset ::= IA5String (SIZE(4))
-- Valid time offset using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59;


VALID-VALUE-RULE:
{
     location        LRMS,            
     typeEvent       TMDD.Incident-Type,  -- the major type and severity
     severity        TMDD.Event-incident-severity                 OPTIONAL,
                     -- the following is the three part description 
                     -- using both ITIS codes and open text
     cause           SEQUENCE OF ITIScodesAndText (SIZE(1..100)), 
     description     SEQUENCE OF ITIScodesAndText (SIZE(1..100))  OPTIONAL,
     advice          SEQUENCE OF ITIScodesAndText (SIZE(1..100))  OPTIONAL,     
                     -- current relevant information in text and codes
     startTime       DateTimePair                                 OPTIONAL,
                     -- point in time this event started
     clearTime       DateTimePair                                 OPTIONAL,
                     -- an estimated clear time
     laneData        SEQUENCE OF LaneDescription                  OPTIONAL,
                     -- complex set of lane conditions
     -- complex data used to describe repeating multi-day events
     timeLineStart              DateTimePair                      OPTIONAL,
     timeLineEstimatedDuration  DateTimePair                      OPTIONAL,
     timeLineScheduledEnd       DateTimePair                      OPTIONAL,
     timeList                   SEQUENCE OF TimeList              OPTIONAL,
     dayList                    SEQUENCE OF DayList               OPTIONAL,
     timeLineScheduleDaysOfWeek Day-of-week                       OPTIONAL,
     -- other tagged sets of information 
     tail                       TailSet                           OPTIONAL,
     ...
     }

REMARKS:
The ITIS codes used in the Incident-Type are another instance where local agreement is required to tailor the list of codes to a sub set suitable for use by local deployments.  For example, one regional deployment may chose to use the weather related events as event information types, while another deployment does not.  Codes which could not be considered top level event classifications (such as "on bridge") would of course not be used.  Because any possible ITIS code could be received from a TMDD deployment, receiving centers should be constructed to handle this event.  Because all parties are based on the same underlying code list, the syntactic meaning would be the same regardless of the sub set of codes chosen for local use. Note that the cause, description, advise sections allow mixture of both open free text and code phrases.


DEFINITION:
External data element taken from TMDD which is in turn taken from the ITIS codes.  A description of the general top level category which the event is.


DEFINITION:
The complete set of ITIS codes can be found in Volume two of the J2540 Standard.  This is a set of over 1,000 items which are used to encode common events and list items in ITS.


DEFINITION:
This is all the other minor entries used in the base standard form other standard which are needed to be present in order to make the ASN.1 work out.  As we re-issue these will becomes complete and mature entries, one per item.

MESSAGE-BODY:
SEQUENCE {id INTEGER, dv OCTET STRING}
Contact-mailing-address-state ::= SEQUENCE {id INTEGER, dv OCTET STRING}


-- added to resolve new use of DEs from other stds
PhoneInformation ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Traveler-Email ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Traveler-LastName ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Traveler-FirstName ::= SEQUENCE {id INTEGER, dv OCTET STRING}
CountryCode ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Remediation ::= SEQUENCE {id INTEGER, dv OCTET STRING}

Identity-number ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Identity-plate-origin   ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Identity-plate-type   ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Identity-plate   ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Identity-carrier-id  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Vehicle-Color   ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Identity-VIN ::= SEQUENCE {id INTEGER, dv OCTET STRING}



IM-ResponseUnitType ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Organization-contact-organization-identifier ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Organization-contact-organization-name ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-description-type-of-special-event ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-description-type-planned-roadway-closure ::= SEQUENCE {id INTEGER, dv OCTET STRING}

Event-response-plan-identifier ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-EventDateTimeSystem  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
CptddAgencyID  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-IncidentDescShort  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-IncidentDescLong  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-ResponseEmployeeID  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
CptddPriorityLevel  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
CptddEmployeeID  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
CptddSeverityLevel  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-HumanFatalityCount  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-HumanInjuryCount  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-PropertyDamageDescShort  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-OtherVehicleInvolvedID  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleInvolvedType  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleDamage  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleOccupantsCount  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
CptVIN  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleTag  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleState  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleMake  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleModel  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleYear  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleColor  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-VehicleDescription  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-lane-configuration-list  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-lanes-blocked-or-closed  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-lanes-shoulders-blocked  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-EventIDSystem  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-SourceType  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-description-type-incident  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-response-plan-other  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-organization-required-id  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-organization-responding-id  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-organization-response-status  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Response-status-other  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Organization-resource-equipment-type-other  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-ResponseUnitID  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-IncidentProcedure  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-DispatcherID  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-ResponseAgencyID  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-DispatchDateTime  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-ResponseCommands  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-RestorationAction  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-CurrentStatus  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-CareFacilityName  ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-CareFacilityPhone ::= SEQUENCE {id INTEGER, dv OCTET STRING}
-- from the other messages
Event-active-events-quantity ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Weather-forecast-advisory-or-warning ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Weather-forecast-advisory-or-warning-type ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-incident-condition-weather-code ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-precipitation-type ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-precipitation-type-other ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-surface-precipitation-depth ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-surface-ice-index ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-incident-condition-pavement-code ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-surface-status ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-surface-status-other ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-surface-temperature ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-visibility ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-wind-direction ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Ess-data-wind-gust ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-response-plan-type ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-response-plan-type-other ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-response-plan ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-response-alternate-route ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-response-plan-author ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Organization-resource-traffic-equipment-id ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Organization-resource-equipment-type ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Plan-Number ::= SEQUENCE {id INTEGER, dv OCTET STRING}


-- from TCIP work
IM-RoleInIncident ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-IncidentSubtype ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-WitnessStatement ::= IA5String(SIZE(1..4000))
IM-NameLast ::= IA5String(SIZE(1..40))
IM-NameFirst ::= IA5String(SIZE(1..40))
SpAddressPoint ::= SEQUENCE {id INTEGER, dv OCTET STRING}
IM-HomePhone ::= IA5String(SIZE(1..40))
IM-WorkPhone ::= IA5String(SIZE(1..40))

-- from NTCIP / TMDD work
Network-ID-Number ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-Description-Type-Incident ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-Description-Type-Event-Other ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Event-Incident-Status ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Organization-Contact-Organization-Id ::= IA5String(SIZE(1..4000))
Organization-Contact-Organization-Name ::= IA5String(SIZE(1..4000))
Event-Identification ::= SEQUENCE {id INTEGER, dv OCTET STRING}

-- from SAE work
Location-Quality    ::= INTEGER
Location-Tech       ::= INTEGER
Current-Position    ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Prior-Position           ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Start-Position           ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Position-History    ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Position-Text       ::= IA5String(SIZE(1..4000))
Last-DSRC           ::= INTEGER
Vehicle-Info        ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Vehicle-Details     ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Vehicle-Sensor-Info      ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Vehicle-sensor-identifier ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Sensor-status       ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Data-sensor         ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Vehicle-SRS         ::= SEQUENCE {id INTEGER, dv OCTET STRING}
Text-Info           ::= IA5String(SIZE(1..4000))
Proprietary-Info    ::= SEQUENCE {id INTEGER, dv OCTET STRING}

SOURCE:
DRAFT IEEE P1512.0 (Revised Base Std, IM)

XML-SCHEMA:
<xs:complexType name="Dummy" >
      <xs:sequence>
         <xs:element name="id" >
            <xs:simpleType>   
               <xs:restriction base="xs:int"/>
            </xs:simpleType>
         </xs:element>
         <xs:element name="dv" type="UndefinedElement"  />
      </xs:sequence>
</xs:complexType>


REMARKS:
Note: This structure will likely be replaced with an improved three part structure describing lanes and shoulders together with any blocked or closure information.  Another item where ERM causes improvement to TMDD which others such as ATIS and IM should follow.


DEFINITION:
External data element taken from TMDD.  The Link maximum capacity in vehicles per hour.

XML-SCHEMA:
<xs:simpleType name="Link-Capacity" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="300000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.    Delay time for travel along a particular Link. This is the additional time it will take above the free flow travel time for that time period to travel from one end of the link to the other.

XML-SCHEMA:
<xs:simpleType name="Link-Delay" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="605000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Vehicle concentration per kilometer of the Link.

XML-SCHEMA:
<xs:simpleType name="Link-Density" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="2000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The lowest number of lanes currently open in the link at any point.

XML-SCHEMA:
<xs:simpleType name="Link-LanesMinimumNumber" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="50"/>
      </xs:restriction>
</xs:simpleType>


XML-SCHEMA:
<xs:simpleType name="Link-LanesNumberOpen" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="50"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The length of the Link from beginning Node to ending Node, in meters.

XML-SCHEMA:
<xs:simpleType name="Link-Length" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="160000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  A qualitative measure describing operational conditions within a traffic stream and their perception by motorists and/or passengers as defined in the Highway Capacity Manual.

VALID-VALUE-RULE:
{
   unknown  (0),
   a        (1), -- A = Free flow conditions, 
   b        (2), -- B = Stable flow with noticeable decline in free flow conditions, 
   c        (3), -- C = Stable flow with significant increase in driver discomfort, 
   d        (4), -- D = High Density but stable flow, 
   e        (5), -- E = Conditions near capacity level, 
   f        (6), -- F = Forced or breakdown flow
   ...
   }

XML-SCHEMA:
<xs:simpleType name="Link-LevelOfService" >
      <xs:annotation>
         <xs:appinfo>
            unknown (0)
            a (1) -- A = Free flow conditions ,
            b (2) -- B = Stable flow with noticeable decline in free flow conditions ,
            c (3) -- C = Stable flow with significant increase in driver discomfort ,
            d (4) -- D = High Density but stable flow ,
            e (5) -- E = Conditions near capacity level ,
            f (6) -- F = Forced or breakdown flow
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="6"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="unknown"/>
               <xs:enumeration value="a"/>
               <xs:enumeration value="b"/>
               <xs:enumeration value="c"/>
               <xs:enumeration value="d"/>
               <xs:enumeration value="e"/>
               <xs:enumeration value="f"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Type of the median for the separation of opposing or parallel traffic links.

VALID-VALUE-RULE:
{
   other-no-additional-information-required  (0), 
   other-additional-information-required     (1), 
   curbed                                    (2), 
   concrete-barrier                          (3), 
   concrete-barrier-with-visibility-screen   (4), 
   guard-rail                                (5), 
   open-grass                                (6), 
   open-sand                                 (7), 
   painted-median-no-access                  (8), 
   separate-roadways                         (9), 
   unprotected                               (10),
   ...
   }

XML-SCHEMA:
<xs:simpleType name="Link-Median-Type" >
      <xs:annotation>
         <xs:appinfo>
            other no additional information required (0)
            other additional information required (1)
            curbed (2)
            concrete barrier (3)
            concrete barrier with visibility screen (4)
            guard rail (5)
            open grass (6)
            open sand (7)
            painted median no access (8)
            separate roadways (9)
            unprotected (10)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="10"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="other no additional information required"/>
               <xs:enumeration value="other additional information required"/>
               <xs:enumeration value="curbed"/>
               <xs:enumeration value="concrete barrier"/>
               <xs:enumeration value="concrete barrier with visibility screen"/>
               <xs:enumeration value="guard rail"/>
               <xs:enumeration value="open grass"/>
               <xs:enumeration value="open sand"/>
               <xs:enumeration value="painted median no access"/>
               <xs:enumeration value="separate roadways"/>
               <xs:enumeration value="unprotected"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The name of the Link for user identification.

XML-SCHEMA:
<xs:simpleType name="Link-Name" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD. The current average percent occupancy of the vehicles determined by detectors on the link. This is percent of time, within a given time period in seconds, that a point on the roadway is occupied by the vehicles.

XML-SCHEMA:
<xs:simpleType name="Link-Occupancy" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="100"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The type of material from which the roadway pavement is constructed (e.g. concrete, asphalt). This lists the surfaces used by traffic on the Link.

VALID-VALUE-RULE:
{
   other-no-additional-information-required  (0), 
   other-additional-information-required     (1), 
   asphalt                                   (2), 
   open-graded-asphalt                       (3), 
   concrete                                  (4), 
   grooved-concrete                          (5), 
   steel-bridge                              (6), 
   concrete-bridge                           (7), 
   asphalt-overlay-bridge                    (8), 
   timber-bridge                             (9),
   gravel                                    (10),
   dirt                                      (11),
   ...
   }

XML-SCHEMA:
<xs:simpleType name="Link-PavementType" >
      <xs:annotation>
         <xs:appinfo>
            other no additional information required (0)
            other additional information required (1)
            asphalt (2)
            open graded asphalt (3)
            concrete (4)
            grooved concrete (5)
            steel bridge (6)
            concrete bridge (7)
            asphalt overlay bridge (8)
            timber bridge (9)
            gravel (10)
            dirt (11)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="0"/>
               <xs:maxInclusive value="11"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="other no additional information required"/>
               <xs:enumeration value="other additional information required"/>
               <xs:enumeration value="asphalt"/>
               <xs:enumeration value="open graded asphalt"/>
               <xs:enumeration value="concrete"/>
               <xs:enumeration value="grooved concrete"/>
               <xs:enumeration value="steel bridge"/>
               <xs:enumeration value="concrete bridge"/>
               <xs:enumeration value="asphalt overlay bridge"/>
               <xs:enumeration value="timber bridge"/>
               <xs:enumeration value="gravel"/>
               <xs:enumeration value="dirt"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD. Maximum axle count for a vehicle allowed on the Link.

REMARKS:
Proposed new ASN.1 name: Link-restriction-axle-count.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionAxleCount" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="20"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD, which is in turn taken from the ITIS codes.  Class of traffic restrictions applied to a Link.  This is used to characterize traffic restrictive conditions currently in effect.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionClass" >
      <xs:annotation>
         <xs:appinfo>
            restrictions (2561)
            ramp restrictions (2562)
            truck restriction (2563)
            speed restriction (2564)
            noise restriction (2565)
            traffic regulations have been changed (2566)
            local access only (2567)
            no trailers (2568)
            no high profile vehicles (2569)
            hazardous materials truck restriction (2570)
            no through traffic (2571)
            no motor vehicles (2572)
            width limit (2573)
            height limit (2574)
            length limit (2575)
            axle load limit (2576)
            gross weight limit (2577)
            axle count limit (2578)
            carpool lane available (2579)
            carpool restrictions changed (2580)
            HOV 2: no single occupant vehicles (2581)
            HOV 3: no vehicles with less than three occupants (2582)
            bus lane available for all vehicles (2583)
            truck lane available for all vehicles (2584)
            permits call in basis (2585)
            permits temporarily closed (2586)
            permits closed (2587)
            permits open (2675)
            restrictions for high profile vehicles lifted (2676)
            width limit lifted (2677)
            height limit lifted (2678)
            length limit lifted (2679)
            axle load limit lifted (2680)
            weight limit lifted (2681)
            axle count limit lifted (2682)
            carpool restrictions lifted (2683)
            lane restrictions lifted (2684)
            ramp restrictions lifted (2685)
            motor vehicle restrictions lifted (2686)
            restrictions lifted (2687)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="2560"/>
               <xs:maxInclusive value="2815"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="restrictions"/>
               <xs:enumeration value="ramp restrictions"/>
               <xs:enumeration value="truck restriction"/>
               <xs:enumeration value="speed restriction"/>
               <xs:enumeration value="noise restriction"/>
               <xs:enumeration value="traffic regulations have been changed"/>
               <xs:enumeration value="local access only"/>
               <xs:enumeration value="no trailers"/>
               <xs:enumeration value="no high profile vehicles"/>
               <xs:enumeration value="hazardous materials truck restriction"/>
               <xs:enumeration value="no through traffic"/>
               <xs:enumeration value="no motor vehicles"/>
               <xs:enumeration value="width limit"/>
               <xs:enumeration value="height limit"/>
               <xs:enumeration value="length limit"/>
               <xs:enumeration value="axle load limit"/>
               <xs:enumeration value="gross weight limit"/>
               <xs:enumeration value="axle count limit"/>
               <xs:enumeration value="carpool lane available"/>
               <xs:enumeration value="carpool restrictions changed"/>
               <xs:enumeration value="HOV 2: no single occupant vehicles"/>
               <xs:enumeration value="HOV 3: no vehicles with less than three occupants"/>
               <xs:enumeration value="bus lane available for all vehicles"/>
               <xs:enumeration value="truck lane available for all vehicles"/>
               <xs:enumeration value="permits call in basis"/>
               <xs:enumeration value="permits temporarily closed"/>
               <xs:enumeration value="permits closed"/>
               <xs:enumeration value="permits open"/>
               <xs:enumeration value="restrictions for high profile vehicles lifted"/>
               <xs:enumeration value="width limit lifted"/>
               <xs:enumeration value="height limit lifted"/>
               <xs:enumeration value="length limit lifted"/>
               <xs:enumeration value="axle load limit lifted"/>
               <xs:enumeration value="weight limit lifted"/>
               <xs:enumeration value="axle count limit lifted"/>
               <xs:enumeration value="carpool restrictions lifted"/>
               <xs:enumeration value="lane restrictions lifted"/>
               <xs:enumeration value="ramp restrictions lifted"/>
               <xs:enumeration value="motor vehicle restrictions lifted"/>
               <xs:enumeration value="restrictions lifted"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Minimum vertical clearance on a Link in centimeters.

REMARKS:
Proposed new ASN.1 name: Link-restriction-height.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionHeight" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="2000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Maximum Vehicle Length allowable on a Link in centimeters.

REMARKS:
Proposed new ASN.1 name: Link-restriction-length.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionLength" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="6000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Maximum Vehicle Weight allowable on a Link in kilograms.

REMARKS:
Proposed new ASN.1 name: Link-restriction-weight.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionWeight" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="80000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Maximum allowable vehicle width on a Link in centimeters.

REMARKS:
Proposed new ASN.1 name: Link-restriction-width.

XML-SCHEMA:
<xs:simpleType name="Link-RestrictionWidth" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="2000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  County, State, or Federal route numbers with any associated alphabetic designators.

VALID-VALUE-RULE:
(SIZE(1..64))
   -- Any set of alphanumeric characters up to 64

REMARKS:
Proposed new ASN.1 name: Link-road-designator.

XML-SCHEMA:
<xsd:simpleType name="Link-RoadNumber">
   <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="64"/>
   </xsd:restriction>
</xsd:simpleType>


DEFINITION:
External data element taken from TMDD.  The width of the left shoulder of the Link.

REMARKS:
Proposed new ASN.1 name: Link-shoulder-width-left.

XML-SCHEMA:
<xs:simpleType name="Link-ShoulderWidthLeft" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="999"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The width of the right shoulder of the Link.

REMARKS:
Proposed new ASN.1 name: Link-shoulder-width-right.

XML-SCHEMA:
<xs:simpleType name="Link-ShoulderWidthRight" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="999"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The current average speed of the vehicles using the link.

REMARKS:
Alternative ASN name also used: Link-speed-average.

XML-SCHEMA:
<xs:simpleType name="Link-Speed" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The posted or legal speed limit on the link for automobiles in kilometers per hour.

REMARKS:
Proposed new ASN.1 name: Link-speed-limit.

XML-SCHEMA:
<xs:simpleType name="Link-SpeedLimit" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD, taken from the ITIS codes.  The Current Link status that provides an indication of standard or non-standard Link operations.

REMARKS:
Observe that the original TMDD definition of this code set included only: open, restricted and closed - as well as  the normal additional information settings.  This was greatly expanded during the ITIS harmonization process and is now reflected in the "closures" sub range of ITIS.  Note also that a wide range of other restrictions can be denoted by other ITIS ranges as well.

XML-SCHEMA:
<xsd:simpleType name="Link-Status">
   <xsd:union>
      <xsd:simpleType>
         <xsd:restriction base="xsd:unsignedInt">
            <xsd:minInclusive value="768"/>
            <xsd:maxInclusive value="1023"/>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="closed to traffic"/>
            <xsd:enumeration value="closed"/>
            <xsd:enumeration value="closed ahead"/>
            <xsd:enumeration value="closed intermittently"/>
            <xsd:enumeration value="closed for repairs"/>
            <xsd:enumeration value="closed for the season"/>
            <xsd:enumeration value="blocked"/>
            <xsd:enumeration value="blocked ahead"/>
            <xsd:enumeration value="reduced to one lane"/>
            <xsd:enumeration value="reduced to two lanes"/>
            <xsd:enumeration value="reduced to three lanes"/>
            <xsd:enumeration value="collapse"/>
            <xsd:enumeration value="out"/>
            <xsd:enumeration value="open to traffic"/>
            <xsd:enumeration value="open"/>
            <xsd:enumeration value="reopened to traffic"/>
            <xsd:enumeration value="clearing"/>
            <xsd:enumeration value="cleared"/>
         </xsd:restriction>
      </xsd:simpleType >
   </xsd:union>
   <xsd:annotation>
      <xsd:appinfo>
         closed to traffic (769)
         closed (770) 
         -- Hint: use this only for NON road-lane items (such as a rest stop)
         closed ahead (771)
         closed intermittently (772)
         closed for repairs (773)
         closed for the season (774)
         blocked (775)
         blocked ahead (776)
         reduced to one lane (777)
         reduced to two lanes (778)
         reduced to three lanes (779)
         collapse (780) -- Used with bridges and tunnels
         out (781) 
         -- Used with bridges and roads
         open to traffic (891)
         open (892) 
         -- Hint: use this only for NON road-lane items (such as a rest stop)
         reopened to traffic (893)
         clearing (894)
         cleared (895)
      </xsd:appinfo>
   </xsd:annotation>
</xsd:simpleType>


DEFINITION:
External data element taken from TMDD.  The abnormal surface conditions currently found on the Link (e.g., dry, wet, ice, snow, etc.).  This is taken from a sub range of ITIS codes called "Pavement Conditions".

REMARKS:
Observe that the original TMDD definition of this code set was somewhat different and that the ITIS harmonization process both added new codes and placed some other codes into other categories (such as moving "power lines down" into obstructions).

XML-SCHEMA:
<xs:simpleType name="Link-SurfaceCondition" >
      <xs:annotation>
         <xs:appinfo>
            impassable (5889)
            almost impassable (5890)
            passable with care (5891)
            passable (5892)
            surface water hazard (5893)
            danger of hydroplaning (5894)
            wet pavement (5895)
            treated pavement (5896) -- Alternative Rendering:  chemical wet
            slippery (5897)
            mud on roadway (5898)
            leaves on roadway (5899)
            loose sand on roadway (5900)
            loose gravel (5901)
            fuel on roadway (5902)
            oil on roadway (5903)
            road surface in poor condition (5904)
            melting tar (5905)
            ice (5906)
            icy patches (5907)
            black ice (5908)
            ice pellets on roadway (5909)
            ice build up (5910)
            freezing rain (5911)
            wet and icy roads (5912)
            melting snow (5913)
            slush (5914)
            frozen slush (5915)
            snow on roadway (5916)
            packed snow (5917)
            packed snow patches (5918)
            plowed snow (5919)
            wet snow (5920)
            fresh snow (5921)
            powder snow (5922)
            granular snow (5923)
            frozen snow (5924)
            crusted snow (5925)
            deep snow (5926)
            snow drifts (5927)
            drifting snow (5928)
            expected snow accumulation (5929)
            current snow accumulation (5930)
            dry pavement (6011)
            snow cleared (6012)
            pavement conditions improved (6013)
            skid hazard reduced (6014)
            pavement conditions cleared (6015)
         </xs:appinfo>
      </xs:annotation>
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:unsignedInt">
               <xs:minInclusive value="5888"/>
               <xs:maxInclusive value="6143"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="impassable"/>
               <xs:enumeration value="almost impassable"/>
               <xs:enumeration value="passable with care"/>
               <xs:enumeration value="passable"/>
               <xs:enumeration value="surface water hazard"/>
               <xs:enumeration value="danger of hydroplaning"/>
               <xs:enumeration value="wet pavement"/>
               <xs:enumeration value="treated pavement"/>
               <xs:enumeration value="slippery"/>
               <xs:enumeration value="mud on roadway"/>
               <xs:enumeration value="leaves on roadway"/>
               <xs:enumeration value="loose sand on roadway"/>
               <xs:enumeration value="loose gravel"/>
               <xs:enumeration value="fuel on roadway"/>
               <xs:enumeration value="oil on roadway"/>
               <xs:enumeration value="road surface in poor condition"/>
               <xs:enumeration value="melting tar"/>
               <xs:enumeration value="ice"/>
               <xs:enumeration value="icy patches"/>
               <xs:enumeration value="black ice"/>
               <xs:enumeration value="ice pellets on roadway"/>
               <xs:enumeration value="ice build up"/>
               <xs:enumeration value="freezing rain"/>
               <xs:enumeration value="wet and icy roads"/>
               <xs:enumeration value="melting snow"/>
               <xs:enumeration value="slush"/>
               <xs:enumeration value="frozen slush"/>
               <xs:enumeration value="snow on roadway"/>
               <xs:enumeration value="packed snow"/>
               <xs:enumeration value="packed snow patches"/>
               <xs:enumeration value="plowed snow"/>
               <xs:enumeration value="wet snow"/>
               <xs:enumeration value="fresh snow"/>
               <xs:enumeration value="powder snow"/>
               <xs:enumeration value="granular snow"/>
               <xs:enumeration value="frozen snow"/>
               <xs:enumeration value="crusted snow"/>
               <xs:enumeration value="deep snow"/>
               <xs:enumeration value="snow drifts"/>
               <xs:enumeration value="drifting snow"/>
               <xs:enumeration value="expected snow accumulation"/>
               <xs:enumeration value="current snow accumulation"/>
               <xs:enumeration value="dry pavement"/>
               <xs:enumeration value="snow cleared"/>
               <xs:enumeration value="pavement conditions improved"/>
               <xs:enumeration value="skid hazard reduced"/>
               <xs:enumeration value="pavement conditions cleared"/>
            </xs:restriction>
         </xs:simpleType >
      </xs:union>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The current average travel time of the vehicles using the link.

REMARKS:
Proposed revised ASN.1 name:  Link-travel-time.

XML-SCHEMA:
<xs:simpleType name="Link-TravelTime" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


DEFINITION:
The relative humidity in percent.  The value of 101 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssRelativeHumidity" >
      <xs:restriction base="xs:unsignedByte">
         <xs:maxInclusive value="101"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The current depth of unpacked snow in centimeters on the driving surface.  The value 3001 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssRoadwaySnowDepth" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="3001"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The current depth of packed snow in centimeters on the roadway surface.  The value 3001 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssRoadwaySnowPackDepth" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="3001"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The name of the law enforcement agency with authority over this link.

VALID-VALUE-RULE:
(SIZE(1..128)) -- Any set of ASCII characters up to 128

REMARKS:
V1.3 - Revised Definition.  Removed ANSI X3.4 from REFERENCE VALUE DOMAIN..

XML-SCHEMA:
<xs:simpleType name="Link-jurisdiction" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 128
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
Data element used to indicate the presence of additional information.  This data element is to be used only when a precedent LINK data element of type code has a value of '1 = Other, additional information required'.

VALID-VALUE-RULE:
(SIZE(1..256)) -- Any set of ASCII characters up to 256.

XML-SCHEMA:
<xs:simpleType name="Link-other" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 256.
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="256"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The name of the designated owner of the LINK.

VALID-VALUE-RULE:
(SIZE(1..256)) -- Any set of ASCII characters up to 256

REMARKS:
V1.3 - Removed ANSI X3.4 from REFERENCE VALUE DOMAIN.

XML-SCHEMA:
<xs:simpleType name="Link-ownership" >
      <xs:annotation>
         <xs:documentation>       
            Any set of ASCII characters up to 256
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="256"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The snowfall accumulation rate in 10^-7 meters per second (this is equivalent to 0.36 mm/hr).  The value 65535 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssSnowfallAccumRate" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The posted or legal speed limit on the Link for trucks in kilometers per hour.

XML-SCHEMA:
<xs:simpleType name="Link-TruckSpeedLimit" >
      <xs:restriction base="xs:unsignedByte"/>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  Delay time for travel along at a particular Node.

XML-SCHEMA:
<xs:simpleType name="Node-Delay" >
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="605000"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  This is the number of Links beginning or ending at the Node.

XML-SCHEMA:
<xs:simpleType name="Node-LinksNum" >
      <xs:restriction base="xs:unsignedShort">
         <xs:maxInclusive value="999"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD.  The name of the NODE for user identification.

XML-SCHEMA:
<xs:simpleType name="Node-Name" >
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="128"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
External data element taken from TMDD, which in turn comes from ITIS codes.  Node current traffic status or condition that provides an indication of standard or non-standard Node operations.

REMARKS:
See link status code for commentary on changes.

XML-SCHEMA:
<xsd:simpleType name="Node-Status">
   <xsd:union>
      <xsd:simpleType>
         <xsd:restriction base="xsd:unsignedInt">
            <xsd:minInclusive value="768"/>
            <xsd:maxInclusive value="1023"/>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="closed to traffic"/>
            <xsd:enumeration value="closed"/>
            <xsd:enumeration value="closed ahead"/>
            <xsd:enumeration value="closed intermittently"/>
            <xsd:enumeration value="closed for repairs"/>
            <xsd:enumeration value="closed for the season"/>
            <xsd:enumeration value="blocked"/>
            <xsd:enumeration value="blocked ahead"/>
            <xsd:enumeration value="reduced to one lane"/>
            <xsd:enumeration value="reduced to two lanes"/>
            <xsd:enumeration value="reduced to three lanes"/>
            <xsd:enumeration value="collapse"/>
            <xsd:enumeration value="out"/>
            <xsd:enumeration value="open to traffic"/>
            <xsd:enumeration value="open"/>
            <xsd:enumeration value="reopened to traffic"/>
            <xsd:enumeration value="clearing"/>
            <xsd:enumeration value="cleared"/>
         </xsd:restriction>
      </xsd:simpleType >
   </xsd:union>
   <xsd:annotation>
      <xsd:appinfo>
         closed to traffic (769)
         closed (770) 
         -- Hint: use this only for NON road-lane items (such as a rest stop)
         closed ahead (771)
         closed intermittently (772)
         closed for repairs (773)
         closed for the season (774)
         blocked (775)
         blocked ahead (776)
         reduced to one lane (777)
         reduced to two lanes (778)
         reduced to three lanes (779)
         collapse (780) -- Used with bridges and tunnels
         out (781) -- Used with bridges and roads
         open to traffic (891)
         open (892) 
         -- Hint: use this only for NON road-lane items (such as a rest stop)
         reopened to traffic (893)
         clearing (894)
         cleared (895)
      </xsd:appinfo>
   </xsd:annotation>
</xsd:simpleType>


VALID-VALUE-RULE:
(0..65565)
-- The defined list of ITIS codes are too long to list here
-- Many smaller lists use a sub-set of these codes as defined elements
-- Also enumerated values expressed as text constant are very common,
-- and in many deployment the list codes are used as a shorthand for
-- this text.  Also the XML expressions commonly use a union of the 
-- code values and the textual expressions.  
-- Consult SAE J2540 for further details.

XML-SCHEMA:
<xs:simpleType name="ITIScodes" >
      <xs:annotation>
         <xs:documentation>       
            The defined list of ITIS codes are too long to list here
            Many smaller lists use a sub-set of these codes as defined elements
            Also enumerated values expressed as text constant are very common,
            and in many deployment the list codes are used as a shorthand for
            this text.  Also the XML expressions commonly use a union of the
            code values and the textual expressions.
            Consult SAE J2540 for further details.
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedInt">
         <xs:maxInclusive value="65565"/>
      </xs:restriction>
</xs:simpleType>


MESSAGE-BODY:
SEQUENCE {
     date    Date,
     time    Time,
     offset  TimeOffset OPTIONAL
}
-- defined in the ATIS work, where:

Date ::= IA5String (SIZE(8))
-- format as: YYYYMMDD where 
-- YYYY  the year, in common era units
-- MM  the month, range 01 to 12
-- DD the day, range 01 to 31
-- use zero for MM and DD when not applicable

Time ::= IA5String (SIZE(6..10))
-- Format:  HHMMSSssss
-- Valid times using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59; 
-- SS=00 through 59; 00 if NA
-- ssss=0000 through 9999. 
-- Use SS= 60 for leap seconds
-- HH represents hours, MM minutes, SS seconds, 
-- and ssss decimal seconds to whatever number 
-- of significant digits is required (up to four)

TimeOffset ::= IA5String (SIZE(4))
-- Valid time offset using 24 hour notation.  
-- HH=00 through 23; MM=00 through 59;


MESSAGE-BODY:
SEQUENCE {
     head           Head OPTIONAL, 
     location       LRMS.LocationReference,
     areaExtent     LRMS.LocationReference OPTIONAL,
     typeEvent      TMDD.Event-DescriptionTypeEvent,
                    -- the major catagory (and sub catagory) 
                    -- of the event (from ITIS)
     severity       TMDD.Event-IncidentSeverity OPTIONAL,
     status         TMDD.Event-IncidentStatus OPTIONAL,
                    -- status of the event(from ITIS)
     cause          SEQUENCE OF ITIScodesAndText,
     descripition   SEQUENCE OF ITIScodesAndText OPTIONAL,
     advice         SEQUENCE OF ITIScodesAndText OPTIONAL,     
                    -- current relevent information in text and codes
     lanesEffected  SEQUENCE (SIZE(1..16)) OF IM.LaneDescription  OPTIONAL,
     vehiclesInvolvedCount  TMDD.Event-IncidentVehiclesInvolvedCount OPTIONAL,
                    -- the number of vehicles
     vehiclesInvolved SEQUENCE OF TMDD.Event-IncidentVehiclesInvolved OPTIONAL,
                    -- the types of vehicles
     startTime      DateTimePair OPTIONAL,
                    -- point in time this event started
     clearTime      DateTimePair OPTIONAL,
                    -- an estimated clear time
     repeatTimes    ComplexTime OPTIONAL,
                    -- a set of repeating times for events
                    -- which re-occur over a periods of days
     furtherData    URL-Link OPTIONAL,
     tail           Tail OPTIONAL,
     ...
     }


DEFINITION:
This message is defined as part of the ATIS effort and is used to send alerts for nearby hazards to travelers.  It is only a committee draft  at this stage so a more complete definition of use should be sought from the sponsoring SDO at the time of deployment.   Unlike most messages which use the LRMS profiles to describe the areas affected, this message likely applies to the receiver by the very fact that it is received.  In other words, it does not use LRMS.  Typically transmitted over the Dedicated Short Range Communications (DSRC) media, this message provides simple alerts to travelers (both in vehicle and with portable devices).  Typical example messages would be "bridge icing ahead" or "trail coming" or  "ambulances operating in the area."  This message is for the alerting of roadway hazards; not for vehicle cooperative communications, mayday, or other safety applications.  It is generally presumed that each receiving device is aware of its own position and heading, but this is not a requirement to receive and understand these messages, nor is having a local base map.  The space vector section of the message gives a simple vector for where the hazard is located (fixed or moving) and can be used to filter some messages as being not applicable. Consider a "train approaching" message which indicates the train is in fact traveling away from the receiver.  The basic message themselves is represented in a fixed list, similar to the ITIS codes but reflecting the needs of short term alerts.  This list is national in scope, never outdated (items can only be added), and does not allow local additions.  A priority level for the message is also sent, which may be matched to various other priorities in the cockpit to determine the order and type of message presentation to minimize driver distraction.  A delay and duration field provides a gross level for the range of applicability for the message over distance.  For example some messages at no longer meaningful to the traveler once the vehicle has moved a distance down the roadway link.  In many cases a complex event will also be explained in the other ATIS messages, and a linkage value is given in those cases when such data is available.  Note that this message is hard coded in transmission, that the byte ordering is known and fixed, and therefore no tagging is required to denote internal elements when transmitted.

MESSAGE-BODY:
SEQUENCE { 
    eventMsg     AlertMsgList,  
                            -- a list of well known phrase lists
                            -- which explains the type of  the 
                            -- alert / danger / hazard involved
                            -- two bytes in length
    priority     Priority,  
                            -- the urgency of this message, a relative
                            -- degree of merit compared with other 
                            -- similar messages for this type (not other
                            -- messages being sent by the RSU, nor a 
                            -- priority of display urgency
                            -- one byte in length
    duration     Duration,  
                            -- the spatial distance over which this
                            -- message applies and should be presented 
                            -- to the driver
                            -- one byte in length
    spaceVector  SpaceVector, 
                            -- a compact summary of the position,
                            -- heading, rate of speed, etc of the 
                            -- event in question. Including stationary
                            -- and wide area events. 
                            -- 12 bytes in length
    furtherMsg   ITIS.ITIScode (SIZE(8)), 
                            -- eight ITIS code entries to further
                            -- describe the event, give advice, or any 
                            -- other ITIS codes
                            -- non used positions are set to zero 
                            -- 16 bytes in length 
    furtherInfoID FurtherInfoID 
                            -- a link to any other incident 
                            -- information data that may be available 
                            -- in the normal ATIS incident description 
                            -- or other messages
                            -- two bytes in length
    } 
    -- note that typically the above is encoded as a 
    -- sequence of known bytes when sent over DSRC media

REMARKS:
This message is only a draft as the standard was going to ballot.  Confirm the most current adopted definition of this structure before use.


DEFINITION:
External data element taken from TMDD.  The prevailing number of through lanes at any point on the Link.

XML-SCHEMA:
<xs:simpleType name="Link-lane-count" >
      <xs:restriction base="xs:unsignedByte">
         <xs:minInclusive value="1"/>
         <xs:maxInclusive value="50"/>
      </xs:restriction>
</xs:simpleType>


MESSAGE-BODY:
SEQUENCE (SIZE(1..100)) OF SEQUENCE {
  item CHOICE    {
       itis ITIScodes,
       text FreeText
       }
  }

REMARKS:
Refer to the SAE ITIS documents for the complete (and lengthy) listing of these codes and for an XML rendering.  Note that the XML rendering of this item is defined there and consits of only two inner tags used to hold the data.


DEFINITION:
The dry-bulb temperature in tenths of degrees Celsius.  The temperature is an instantaneous reading  at the height specified by essTemperatureSensorHeight.  The value 1001 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssAirTemperature" >
      <xs:restriction base="xs:short">
         <xs:minInclusive value="-1000"/>
         <xs:maxInclusive value="1001"/>
      </xs:restriction>
</xs:simpleType>


DEFINITION:
The total water equivalent precipitation over the twenty-four hours preceding the observation in tenths of kilograms per square meter (for rain, this is equivalent to tenths of  millimeters).  A value of 65535 shall indicate an error condition or missing value.

XML-SCHEMA:
<xs:simpleType name="EssPrecipitation24Hours" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


XML-SCHEMA:
<xs:simpleType name="EssPrecipitationOneHour" >
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


DEFINITION:
Used as part of Sending a various time and price schedules and durations.  For example, the Time Interval for the Rate (such as 30 minutes) with all other qualifiers specified. Fixed Rates are specified with the First Payment field.

VALID-VALUE-RULE:
(0..65535)
-- Units of minutes
-- use 0 for "unknown"
-- use 65535 for "forever"

REMARKS:
See also the TCIP element "PI_OffShedule) which can be used for pos and neg time offsets.  This item (which was redefined in the ATIS use of it) allows a range of 2000000  (3.9 years).

KEYWORD:
Lot, Price, Days, Business Hours, Price Schedule

XML-SCHEMA:
<xs:simpleType name="TimeInterval" >
      <xs:annotation>
         <xs:documentation>       
            Units of minutes
use 0 for "unknown"
use 65535 for "forever"
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:unsignedShort"/>
</xs:simpleType>


DEFINITION:
An identifying code or name for a specific agency that may respond to an incident.  The first 2 characters are a code for the type of agency, and consequently for the identifier.  The last 17 characters are the identifiers for the Incident Management resp

VALID-VALUE-RULE:
(SIZE(1..19))
-- The std also states: 
-- Valid Value Range:  Characters 18-19 (OCTETS 35-38): [0,9]
-- Characters 1-17 (OCTETS 1-34): [UCS];  Valid Value List:  00 = Not used, escape.
-- 01 = Transit Agency ID
-- 02 = NCIC
-- 03 = NFIRS
-- 04 = FARS
-- 05 - 49 = reserved
-- 50 - 89 = Local Use.
-- 90 =  Null (data is null)
-- 91 = Intentionally left blank (not used)
-- 92 = Deleted by device (reset to null)
-- 93 = Data unavailable
-- 94 = Illegal calculation (e.g. divide by zero)
-- 95 = value out of range
-- 96 = device malfunction (no value returned)
-- 97 = data expired (data deleted, no longer available)
-- 98 = data supressed for security or privacy
-- 99 = unspecified

SOURCE:
Adopted ITE TCIP, Transit Communications Interface Profiles

XML-SCHEMA:
<xs:simpleType name="IM-ResponseAgencyID" >
      <xs:annotation>
         <xs:documentation>       
            The std also states:
            Valid Value Range:  Characters 18-19  (OCTETS 35-38) : [0, 9]
            Characters 1-17  (OCTETS 1-34) : [UCS];  Valid Value List:  00 = Not used,  escape.
            01 = Transit Agency ID
            02 = NCIC
            03 = NFIRS
            04 = FARS
            05 - 49 = reserved
            50 - 89 = Local Use.
            90 =  Null  (data is null)
            91 = Intentionally left blank  (not used)
            92 = Deleted by device  (reset to null)
            93 = Data unavailable
            94 = Illegal calculation  (e.g. divide by zero)
            95 = value out of range
            96 = device malfunction  (no value returned)
            97 = data expired  (data deleted,  no longer available)
            98 = data supressed for security or privacy
            99 = unspecified
         </xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:minLength value="1"/>
         <xs:maxLength value="19"/>
      </xs:restriction>
</xs:simpleType>


