FINAL_HSHQDN-17-R-0002_RPM_RP_RFP-Atch_14-PRIDE_ICD-2017-1-19.docx
DOCX document 361 KB Posted
- Attached to
- FINAL RFP HSHQDN-17-R-0002 DNDO RPM RP
- Solicitation number
- DRAFT_RFP_HSHQDN-17-R-000XX_RPM-RP
About this file
Attachment 14 PRIDE ICD
View the file
Other files
Show 40 more
Latest 50 of 54 listed here. See the rest on GovTribe.
On GovTribe
Work with this file
- Download the original file
- Contacts named in this file
- Similar government files
- Ask GovTribe AI about this file
Text version
Radiation Portal Monitor Project PRIDE Interface Control Document for Radiation Portal Monitors
Revision 0 - DRAFT
RJ Carter
July 13, 2016
Radiation Portal Monitor Replacement Program
RFP HSHQDN-17-R-0002
Attachment 14
TM-1097-DRAFT
PNNL-XXXXX
Prepared for the U.S. Department of Homeland Security Domestic Nuclear Detection Office under U.S. Department of Energy Contract DE-AC05-76RL01830
DISCLAIMER
This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor Battelle Memorial Institute, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.
PACIFIC NORTHWEST NATIONAL LABORATORY
operated by
BATTELLE
for the
UNITED STATES DEPARTMENT OF ENERGY
under Contract DE-AC05-76RL01830
Radiation Portal Monitor Project PRIDE Interface Control Document for Radiation Portal Monitors
RJ Carter
July 13, 2016
Prepared for the U.S. Department of Homeland Security Domestic Nuclear Detection Office under U.S. Department of Energy Contract DE-AC05-76RL01830
Pacific Northwest National Laboratory Richland, Washington 99352
TM-1097-DRAFT
PNNL-XXXXX
Revision Log and Approvals PRIDE Interface Control Document for Radiation Portal Monitors
| Rev. No. |
| Date |
| Describe Changes |
| Pages Changed |
| 0 |
| 7/13/2016 |
| Draft document issued. |
| NA |
| Name and Title |
| Approvals |
| Date |
Richard Carter, Responsbile Author
Kevin Dorow, Engineering Task Manager
Michael Bettinson, RPMP Manager
Note: Document approvals that were received via email are retained in the project records.
RADS ADC Identifier: xhndoL
Acronyms and Abbreviations
| CBP | U.S. Customs and Border Protection |
| COTS | commercial off-the-shelf |
| DHS | U.S. Department of Homeland Security |
| DNDO | Domestic Nuclear Detection Office |
| ICD | Interface Control Document |
| PRIDE | Port Radiation Inspection, Detection, and Evaluation |
| RPM | radiation portal monitor |
Page vii of vii Contents
| Revision Log and Approvals | iv | |
| Acronyms and Abbreviations | v | |
| 1 | Scope | 1 |
| 1.1 | Overview | 1 |
| 1.2 | Document Organization | 1 |
| 1.3 | Limitations and Restrictions | 1 |
| 2 | Additional References | 2 |
| 3 | Interface Requirements | 3 |
| 3.1 | Interface Identification and Description | 3 |
| 3.2 | Communication Mechanism | 3 |
| 3.2.1 | Message Flow | 3 |
| 3.2.2 | XML Messaging | 3 |
| 4 | RPM Events | 4 |
| 4.1 | SCAN | 4 |
| 4.2 | IMAGE | 4 |
| 4.3 | METADATA | 4 |
| 4.4 | OCR | 4 |
| 4.5 | OCRUPDATE | 4 |
| 4.6 | RELEASEDATA | 4 |
| 4.7 | REQUEST | 5 |
| 4.8 | BACKGROUND | 5 |
| 4.9 | ACK | 5 |
| 4.10 | CONFIG | 5 |
| 4.11 | THREATSTATUS | 5 |
| 4.12 | HEALTHSTATUS | 5 |
| 4.13 | SYSEVENT | 5 |
| 5 | N25 Messages | 6 |
| 5.1 | Changes from N25 Version 1.45 | 6 |
| 5.1.1 | Structural Changes | 6 |
| 5.1.2 | XML Schema Best Practices | 6 |
| 5.1.3 | ANSI N42.42 | 7 |
| 5.2 | Data Dictionary | 7 |
| Appendix A – N25 Version 2.0 (proposed) Schema | 8 | |
| EventMessage.xsd | 8 | |
| N25BaseDataTypes.xsd | 11 | |
| DeviceHealthAndConfigMessage.xsd | 20 | |
| GeneralInstrumentMessage.xsd | 23 | |
| PortOperationsInfoMessage.xsd | 29 | |
| RadiationInstrumentMessage.xsd | 43 | |
| RequestMessage.xsd | 44 | |
| SystemAuditMessage.xsd | 46 | |
| Appendix B Sample Messages | 48 | |
| Ack.xml | 48 | |
| Background.xml | 48 | |
| Config.xml | 52 | |
| ConfigAccess.xml | 52 | |
| Health.xml | 53 | |
| Image.xml | 62 | |
| Login.xml | 63 | |
| Logout.xml | 63 | |
| Metadata.xml | 64 | |
| Ocr.xml | 66 | |
| OcrUpdate.xml | 66 | |
| ReleaseData.xml | 67 | |
| Request.xml | 69 | |
| Restart.xml | 70 | |
| Scan.xml | 70 | |
| Scan_alarmed.xml | 77 | |
| SysEvent.xml | 84 | |
| Threat.xml | 85 |
Table Table 1. Data Dictionary 7
Scope This Interface Control Document (ICD) is intended for use by radiation detection equipment vendors to develop interfaces for interoperable systems that can be used by the U.S. Department of Homeland Security (DHS) to integrate equipment manufactured by different vendors into radiation portal monitor (RPM) systems to be used at U.S. ports of entry.
The ICD specifies the interfaces between the RPM control module and external systems. This document does not specify other interfaces related to the RPM system, such as the interface between individual sensors and the control module, the command and control interface, or the interface to analysis modules.
Overview This ICD defines a set of eXtensible Markup Language (XML) messages and supporting XML schemas (.xsd file extensions) describing the communication from the RPM command module to external systems.
Document Organization This document 1) lists the events that are expected to occur within an RPM system for which external systems will be interested in receiving data and 2) provides the structure for the XML messages that the RPM system will use to communicate that data to external systems. The messages will conform to an XML schema that is provided. This schema is an update to the N25 schema. The schema files and sample message files are included as attachments to this document.
Limitations and Restrictions This document is limited to specifying the use of XML, a text-oriented language, for interactions between an RPM system and external systems that use the data generated by the RPMs. It is not intended to define communications that occur between components within an RPM system.
Additional References ANSI N42.42-2012. American National Standard Data Format for Radiation Detectors Used for Homeland Security (Revision of ANSI N42.42-2006).
Domestic Nuclear Detection Office (DNDO). 2007. Interface Control Document 1 (ICD-1) for DNDO Radiation Measurement Files. January 19, 2007. Document Number 600-ALIPT-000019 v 2.00.
Domestic Nuclear Detection Office. 2006. Interface Control Document 2 (ICD-2) for DNDO Radiation Analysis Results. December 20, 2006. Document Number 600-ALIPT-000020 v 1.10.
Customs and Border Protection, 2014. DHS CBP N.25 Standardized Messaging Protocol. June 26, 2014. V 1.6.0.0.
Interface Requirements This section describes the communication interface between the RPM control modules and external systems. This section describes the steps needed to establish and sustain communications, and how XML messages are sent to the external systems.
Interface Identification and Description This ICD applies to the communications from the RPM control modules to external systems such as the local data archiving system or PRIDE system that transfers messages to the U.S. Customs and Border Protection (CBP) national RPM data repository.
Communication Mechanism While it is imperative to have ensured delivery of messages from the RPM system to any external systems, it should not be incumbent upon the control module to track which messages each external systems subscribe to and ensure that the correct messages are sent to each system. Instead, the control module will be responsible for posting the event messages to a commercial off-the-shelf (COTS) message queuing system such as IBM Websphere MQ or Microsoft MQ. The external systems will subscribe to the appropriate queues to receive messages. The message queue will ensure delivery of the messages to the subscribing external systems.
External systems, such as PRIDE, may request some types of information from the RPM system. The external system will post a message to a queue and the RPM system will respond to it.
Message Flow The control module will create messages in response to events that occur within the RPM system and will add these messages to an established, outgoing message queue. The control module will also monitor a second, incoming queue for request messages coming from external systems and will respond to those messages.
External systems, such as PRIDE, will subscribe to the outgoing message queue to receive the messages posted by the RPM system. PRIDE will forward messages to the CBP national RPM data repository.
XML Messaging The messages generated by the control module will adhere to the XML schema described in this document. This schema is a modification to the N25 messaging protocol currently used by the PRIDE system to transfer RPM data from ports of entry to the CBP national data repository.
RPM Events Messages are triggered by events in the RPM system. The RPM system will send a message for the event types described in the following sections.
SCAN
A SCAN event consists of a vehicle traversing a portal or otherwise being examined. One SCAN event is generated for each such traversal, resulting in a SCAN message. The SCAN message contains both the raw RPM data and any analysis results, including any alarms triggered by the SCAN event. Each scan will have a unique Scan ID, which is used to link other events, such as IMAGE and METADATA events to the scan.
IMAGE
An IMAGE event occurs when a visual image of a vehicle is taken during a SCAN or when a chart is created from data captured during a scan. One IMAGE event is generated for each image taken or created, and one IMAGE message is generated for each IMAGE event, and the type of image is specified within the message. The IMAGE message is linked to a SCAN message via the Scan ID field.
METADATA
A METADATA event occurs when an inspection officer enters data collected during an inspection such as driver information (name, license number, date of birth, etc.), cargo information (commodity, shipper, etc.), or inspection results. The METADATA message is associated with a specific SCAN message via the Scan ID field.
OCR
An OCR event occurs if an optical character recognition (OCR) system runs separate, but in parallel to the radiation detection system. An OCR event occurs when the OCR system produces a result. The OCR message is linked to a specific SCAN message via the Scan ID field.
OCRUPDATE
An OCRUPDATE event occurs when the results from an OCR system are manually updated to correct errors.
RELEASEDATA
A RELEASEDATA event occurs when a convoy, usually a train, exits a facility. The message associated with the RELEASEDATA event identifies the vehicles or containers in the convoy and includes references to the RPM scans for those vehicles or containers.
REQUEST
REQUEST events are generated external to the RPM system and are used by other systems to request the health status, threat level status, or configuration settings of the RPM.
BACKGROUND
A BACKGROUND event is generated on a timed basis, usually every 5 minutes. The message associated with the BACKGROUND event provides updated background radiation readings for an RPM.
ACK
An ACK event is generated when a user acknowledges a radiation alarm on an RPM.
CONFIG
CONFIG events occur upon a change to the configuration parameters of a device in the RPM system or in response to a REQUEST event.
THREATSTATUS
A THREATSTATUS event triggers the generation of a threat level report. These can occur on a timed basis, in response to a change in the threat level settings, or in response to a REQUEST event.
HEALTHSTATUS
A HEALTHSTATUS event triggers the generation of a health status report. These can occur on a timed basis or in response to a REQUEST event.
SYSEVENT
A SYSEVENT event occurs when there is a system error or event in the RPM system that requires logging, but does not require a dedicated event type. There are several subtypes of the system event:
· LOGON – Occurs when a user logs on to the RPM system.
· LOGOFF – Occurs when a user logs off of the RPM system.
· CONFIGACCESS – Occurs when a user accesses the configuration options in the RPM software.
· SYSPASS – Occurs when there is a change in the RPM system password.
· UPGRADE – Occurs when there is a software upgrade to an RPM system.
· RESTART – Occurs when an RPM restarts.
· SYSTEMEVENT – Is used for events that do not fall into one of the other categories.
N25 Messages Events occurring within the RPM system trigger the generation of XML messages. These messages adhere to a modified version of the N25 schema. The updated schema is tentatively being called N25 version 2.0.
Changes from N25 Version 1.45 Structural Changes Version 1.45 of the N25 schema is actually six schemas, one for each N25 message type. The schemas all use the same namespace, and include some redundancy. Each of the six schemas uses an include statement to reference the MessageHeader.xsd file, which, like the name implies, contains the definition for the message header that is included in each N25 message. Having six separate, overlapping schemas is problematic when writing software that utilizes the N25 protocol.
In the proposed version 2.0 of N25, the inclusion is inverted. The new EventMessage.xsd file defines the elements that are common across all N25. These are the document root element, <EventMessage>, and the elements <Message Header> and <MessageContent>. Each message type is still defined in its own file, and the EventMessage.xsd references these files via include statements. Elements of the N25 schema that are common across multiple message types, but not common to all messages, are defined in a new file called N25BaseDataTypes.xsd. This file is referenced in an include statement in each of the schema files for the individual message types. Every schema file is a valid XML schema file if its included files are present. This reorganization results in a single schema that supports all six message types.
The document element for all N25 messages has been changed from <MessageEnvelope> to <EventMessage>. The new name is intended to be more descriptive, and the change allows programs built to parse N25 messages to easily distinguish version 2.0 messages from messages built to an earlier version of the N25 schema.
XML Schema Best Practices The following XML schema best practices have been applied in an attempt to make the N25 schema easier to use and to incorporate into automated tools:
· The only elements defined at the root level of a schema are elements that are intended to be used as document elements. Since all N25 messages use the <EventMessage> element as the document element, this is the only element defined at the root level of the N25 schema.
· Element type definitions use distinct names. Prior versions of N25 used the same name for some type definitions and instances of elements that used that type definition.
· No attributes are defined at the top level of the N25 schema as this can cause problems with the namespace that applies to those attributes. Instead, attributes are defined within attribute groups or within the type definition that uses the attribute.
· Uniquely identify all schema components with the id attribute.
· Redundant definitions are combined. For example, the elements <ScanIdentifierData> and <DeviceIdentifier> are both defined in multiple locations in a prior version of the N25 protocol. Some of the definitions are identical, and some have slight differences such as a change in the order of the contained elements.
· Consistent naming:
· Inconsistent abbreviations are expanded.
· Enumerations are named the same as the element or attribute for which they enumerate values with a prefix of “enum.”
· Date and time values are typed as xs:dateTime.
· Unused type definitions are removed.
ANSI N42.42
The N25 schema has been updated to use the latest version of the ANSI N42.42 schema as of the writing of this document: version 0.0.54, dated February 1, 2012, also known as ANSI N42.42-2012. Because the ICD1 and ICD2 specifications predate this version of ANSI N42.42, the proposed changes to N25 do not adhere to ICD1 or ICD2. Content written to the older standard (N42.42-2006) will not validate against this updated N25 schema.
Data Dictionary Table 1. Data Dictionary
| Message Name |
| Message Definition |
| DeviceHealthAndConfigMessage |
| Purpose |
| Used to communicate health and configuration status for RPM system components. |
| Events |
| CONFIG, HEALTH, THREAT |
GeneralInstrumentMessage
| Purpose |
| Used to communicate data from instruments other than radiation detectors. |
| Events |
| IMAGE, OCR, OCRUPDATE |
| PortOperationsInfoMessage |
| Purpose |
| Used to communicate information related to operations at a port of entry. |
| Events |
| ACK, RELEASEDATA |
| RadiationInstrumentMessage |
| Purpose |
| Used to communicate data from a radiation sensor. |
| Events |
| BACKGROUND, SCAN |
| RequestMessage |
| Purpose |
| Used by external systems to make requests for data from an RPM system. |
Events
| SystemAuditMessage |
| Purpose |
| Used to communicate system events that need to be logged. |
| Events |
| ACK, CONFIGACCESS, LOGIN, LOGOUT, METADATA, RESTART, SYSEVENT |
Appendix A – N25 Version 2.0 (proposed) Schema
The content of each of the XML files that make up the proposed N25 version 2.0 schema are listed below.
EventMessage.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="http://dhs.cbp.gov/ats/SFIGateway" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dhs.cbp.gov/ats/SFIGateway" elementFormDefault="qualified" attributeFormDefault="unqualified">
| <xs:include schemaLocation="DeviceHealthAndConfigMessage.xsd"/> | ||||||
| <xs:include schemaLocation="GeneralInstrumentMessage.xsd"/> | ||||||
| <xs:include schemaLocation="PortOperationsInfoMessage.xsd"/> | ||||||
| <xs:include schemaLocation="RadiationInstrumentMessage.xsd"/> | ||||||
| <xs:include schemaLocation="RequestMessage.xsd"/> | ||||||
| <xs:include schemaLocation="SystemAuditMessage.xsd"/> | ||||||
| <xs:element name="EventMessage" id="N25.EventMessage"> | ||||||
| <xs:annotation> | ||||||
| <xs:documentation>Message Envelope is the root element of the N25</xs:documentation> | ||||||
| </xs:annotation> | ||||||
| <xs:complexType> | ||||||
| <xs:sequence> | ||||||
| <xs:element name="MessageHeader" type="MessageHeaderType"/> | ||||||
| <xs:element name="MessageContent"> | ||||||
| <xs:complexType> | ||||||
| <xs:choice> | ||||||
| <xs:element name="DeviceHealthAndConfigMessage" type="DeviceHealthAndConfigMessageType"/> | ||||||
| <xs:element name="GeneralInstrumentMessage" type="GeneralInstrumentMessageType"/> | ||||||
| <xs:element name="PortOperationsInfoMessage" type="PortOperationsInfoMessageType"/> | ||||||
| <xs:element name="RadiationInstrumentMessage" type="RadiationInstrumentMessageType"/> | ||||||
| <xs:element name="RequestMessage" type="RequestMessageType"/> | ||||||
| <xs:element name="SystemAuditMessage" type="SystemAuditMessageType"/> | ||||||
| </xs:choice> | ||||||
| </xs:complexType> | ||||||
| </xs:element> | ||||||
| </xs:sequence> | ||||||
| </xs:complexType> | ||||||
| </xs:element> | ||||||
| <xs:complexType name="MessageHeaderType" id="N25.MessageHeaderType"> | ||||||
| <xs:sequence> | ||||||
| <xs:element name="Remark" type="xs:string" minOccurs="0"/> | ||||||
| <xs:element name="MessageID" type="xs:string" nillable="false"/> | ||||||
| <xs:element name="MessageType" type="enumMessageType" nillable="false"/> | ||||||
| <xs:element name="N25Version" type="enumN25Version" nillable="false"/> | ||||||
| <xs:element name="MessageCreationDateTime" type="xs:dateTime" minOccurs="0"> | ||||||
| <xs:annotation> | ||||||
| <xs:documentation>Date and Time when this message was created |
</xs:documentation>
| </xs:annotation> | ||
| </xs:element> | ||
| <xs:element name="MessageSentDateTime" type="xs:dateTime" minOccurs="0"> | ||
| <xs:annotation> | ||
| <xs:documentation>Date and Time when this message was sent |
</xs:documentation>
| </xs:annotation> | ||||
| </xs:element> | ||||
| <xs:element name="MessageOriginLocation" type="MessageLocation"> | ||||
| <xs:annotation> | ||||
| <xs:documentation>Message Origin Details</xs:documentation> | ||||
| </xs:annotation> | ||||
| </xs:element> | ||||
| <xs:element name="MessagePriority" type="enumMessagePriority" minOccurs="0"/> | ||||
| </xs:sequence> | ||||
| </xs:complexType> | ||||
| <xs:complexType name="MessageLocation" id="N25.MessageLocation"> | ||||
| <xs:annotation> | ||||
| <xs:documentation>Details identifying the origin or endpoint location of message data</xs:documentation> | ||||
| </xs:annotation> | ||||
| <xs:sequence> | ||||
| <xs:element name="UNLocationCode" type="xs:string" minOccurs="0"/> | ||||
| <xs:element name="InspectionSiteID" type="xs:string" minOccurs="0"/> | ||||
| <xs:element name="Port" type="PortType" minOccurs="0"> | ||||
| <xs:annotation> | ||||
| <xs:documentation>Data identifying the Port</xs:documentation> | ||||
| </xs:annotation> | ||||
| </xs:element> | ||||
| <xs:element name="Terminal" type="xs:string" minOccurs="0"> | ||||
| <xs:annotation> | ||||
| <xs:documentation>The identifier of the Terminal</xs:documentation> | ||||
| </xs:annotation> | ||||
| </xs:element> | ||||
| <xs:element name="SystemID" type="xs:string" minOccurs="0"> | ||||
| <xs:annotation> | ||||
| <xs:documentation>This could be CAS Identifier or Supervisory Computer Identifier depending on the context</xs:documentation> | ||||
| </xs:annotation> | ||||
| </xs:element> | ||||
| <xs:element name="IPaddress" type="xs:string" minOccurs="0"> | ||||
| <xs:annotation> | ||||
| <xs:documentation>IP address of system lcation</xs:documentation> | ||||
| </xs:annotation> | ||||
| </xs:element> | ||||
| <xs:element name="Remark" type="xs:string" minOccurs="0"> | ||||
| <xs:annotation> | ||||
| <xs:documentation>Remark</xs:documentation> | ||||
| </xs:annotation> | ||||
| </xs:element> | ||||
| </xs:sequence> | ||||
| </xs:complexType> | ||||
| <xs:simpleType name="enumMessageType" id="N25.enumMessageType"> | ||||
| <xs:restriction base="xs:string"> | ||||
| <xs:enumeration value="DeviceHealthAndConfigMessage"/> | ||||
| <xs:enumeration value="GeneralInstrumentMessage"/> | ||||
| <xs:enumeration value="PortOperationsInfoMessage"/> | ||||
| <xs:enumeration value="RadiationInstrumentMessage"/> | ||||
| <xs:enumeration value="RequestMessage"/> | ||||
| <xs:enumeration value="SystemAuditMessage"/> | ||||
| </xs:restriction> | ||||
| </xs:simpleType> | ||||
| <xs:simpleType name="enumN25Version" id="N25.enumN25Version"> | ||||
| <xs:annotation> | ||||
| <xs:documentation>Because this version of the N25 schema is not backward compatible, versions prior to 2.0 are not listed in this enumeraiton.</xs:documentation> | ||||
| </xs:annotation> | ||||
| <xs:restriction base="xs:string"> | ||||
| <xs:enumeration value="2.0"/> | ||||
| </xs:restriction> | ||||
| </xs:simpleType> | ||||
| <xs:simpleType name="enumMessagePriority"> | ||||
| <xs:restriction base="xs:string"> | ||||
| <xs:enumeration value="VeryHigh"/> | ||||
| <xs:enumeration value="High"/> | ||||
| <xs:enumeration value="Normal"/> | ||||
| </xs:restriction> | ||||
| </xs:simpleType> | ||||
| <xs:simpleType name="enumEventType"> | ||||
| <xs:restriction base="xs:string"> | ||||
| <xs:enumeration value="Ack"/> | ||||
| <xs:enumeration value="Background"/> | ||||
| <xs:enumeration value="Config"/> | ||||
| <xs:enumeration value="ConfigAccess"/> | ||||
| <xs:enumeration value="Health"/> | ||||
| <xs:enumeration value="Image"/> | ||||
| <xs:enumeration value="LogEvent"/> | ||||
| <xs:enumeration value="Metadata"/> | ||||
| <xs:enumeration value="Ocr"/> | ||||
| <xs:enumeration value="OcrUpdate"/> | ||||
| <xs:enumeration value="ReleaseData"/> | ||||
| <xs:enumeration value="Request"/> | ||||
| <xs:enumeration value="Scan"/> | ||||
| <xs:enumeration value="SysEvent"/> | ||||
| <xs:enumeration value=""/> | ||||
| </xs:restriction> | ||||
| </xs:simpleType> |
</xs:schema>
N25BaseDataTypes.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="http://dhs.cbp.gov/ats/SFIGateway" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dhs.cbp.gov/ats/SFIGateway" elementFormDefault="qualified" attributeFormDefault="unqualified">
| <xs:attributeGroup name="UserAuditAttributes"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Attributes for events initiated by a user.</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:attribute name="EventDateTime" type="xs:dateTime" use="required"/> | ||||||||
| <xs:attribute name="UserName" type="xs:string" use="required"/> | ||||||||
| <xs:attribute name="OperatingMode" type="enumOperatingMode" use="optional"/> | ||||||||
| <xs:attribute name="RequestingAgency" type="xs:string" use="optional"/> | ||||||||
| <xs:attribute name="RequestID" type="xs:string" use="optional"/> | ||||||||
| <xs:attribute name="RequestLevel" type="enumRequestLevel" use="optional"/> | ||||||||
| </xs:attributeGroup> | ||||||||
| <xs:attributeGroup name="SystemAuditAttributes"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Attributes for system events that may or may not be associated with an individual user.</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:attribute name="EventDateTime" type="xs:dateTime" use="required"/> | ||||||||
| <xs:attribute name="UserName" type="xs:string" use="optional"/> | ||||||||
| <xs:attribute name="OperatingMode" type="enumOperatingMode" use="optional"/> | ||||||||
| <xs:attribute name="RequestingAgency" type="xs:string" use="optional"/> | ||||||||
| <xs:attribute name="RequestID" type="xs:string" use="optional"/> | ||||||||
| <xs:attribute name="RequestLevel" type="enumRequestLevel" use="optional"/> | ||||||||
| </xs:attributeGroup> | ||||||||
| <xs:attributeGroup name="RequestAttributes"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Attributes for requests.</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:attribute name="EventDateTime" type="xs:dateTime" use="required"/> | ||||||||
| <xs:attribute name="RequestID" type="xs:string" use="required"/> | ||||||||
| <xs:attribute name="RequestLevel" type="enumRequestLevel" use="optional"/> | ||||||||
| </xs:attributeGroup> | ||||||||
| <xs:complexType name="Error"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Error Code and Description</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="ErrorCode" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="ErrorDescription" type="xs:string" minOccurs="0"/> | ||||||||
| </xs:sequence> | ||||||||
| </xs:complexType> | ||||||||
| <xs:complexType name="PortType"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Details identifying a Shipping Port</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="Comment" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="PortID" type="xs:string"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>The UN identifier of the Port</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="PortName" type="xs:string"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Port Name</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="City" type="xs:string"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Port City</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="Country" type="xs:string"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Country - 2 Char ISO code</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="Terminal" minOccurs="0" maxOccurs="unbounded"> | ||||||||
| <xs:complexType> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="Name" minOccurs="0"/> | ||||||||
| <xs:element name="Description" minOccurs="0"/> | ||||||||
| <xs:element name="InspectionSite" minOccurs="0" maxOccurs="unbounded"> | ||||||||
| <xs:complexType> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="Name"/> | ||||||||
| <xs:element name="InspectionSiteID"/> | ||||||||
| <xs:element name="Lanes" maxOccurs="unbounded"/> | ||||||||
| </xs:sequence> | ||||||||
| </xs:complexType> | ||||||||
| </xs:element> | ||||||||
| </xs:sequence> | ||||||||
| </xs:complexType> | ||||||||
| </xs:element> | ||||||||
| <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> | ||||||||
| </xs:sequence> | ||||||||
| </xs:complexType> | ||||||||
| <xs:complexType name="ScanIdentifierDataType"> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="ScanItemID" type="xs:string" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Container Number, Vehicle Identifier etc</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="ScanItemIDType" type="enumIDType" minOccurs="0"/> | ||||||||
| <xs:element name="ScanItemType" type="enumScanItemType" minOccurs="0"/> | ||||||||
| <xs:element name="TraversalID" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>The unique ID given for this traversal. A value of -1 indicates the value is unknown </xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="ScanID" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>The unique ID for this scan. </xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| </xs:sequence> | ||||||||
| </xs:complexType> | ||||||||
| <xs:complexType name="DeviceIdentifierType"> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="DeviceType" type="enumDeviceType" minOccurs="0"/> | ||||||||
| <xs:element name="DeviceVendor" minOccurs="0"/> | ||||||||
| <xs:element name="DeviceModel" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="DeviceVersion" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="DeviceID" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="ComponentType" type="enumComponentType"/> | ||||||||
| <xs:element name="ComponentID" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="DeviceInfoTimeStamp" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="SoftwareVersion" type="xs:string" minOccurs="0"/> | ||||||||
| </xs:sequence> | ||||||||
| </xs:complexType> | ||||||||
| <xs:complexType name="InstrumentInformation"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Description of the instrument</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="Remark" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="InstrumentType" type="enumInstrumentType" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument type (e.g., spectrometer, personal radiation detector, ...)</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="Manufacturer" type="xs:string" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument manufacturer</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="InstrumentModel" type="xs:string" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument model</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="InstrumentVersion" type="xs:string" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument version</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="InstrumentID" type="xs:string" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument identification (e.g., serial number)</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="ProbeType" type="xs:string" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Description of intrument's probe (i.e., detector)</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="InstrumentMode" type="enumInstrumentMode" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument mode (measure, calibrate, test, ...)</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="QualityControl" type="QualityControl" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument quality control information</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> | ||||||||
| </xs:sequence> | ||||||||
| <xs:anyAttribute namespace="##other" processContents="lax"/> | ||||||||
| </xs:complexType> | ||||||||
| <xs:complexType name="QualityControl"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Quality control information</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="Remark" type="xs:string" minOccurs="0"/> | ||||||||
| <xs:element name="InspectionDate" type="xs:dateTime" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Date of most recent instrument inspection</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:element name="InService" type="xs:boolean" minOccurs="0"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Is the instrument in service?</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:element> | ||||||||
| <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> | ||||||||
| </xs:sequence> | ||||||||
| <xs:anyAttribute namespace="##other" processContents="lax"/> | ||||||||
| </xs:complexType> | ||||||||
| <xs:complexType name="NameValuePair"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation> To capture name-value pairs</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:sequence> | ||||||||
| <xs:element name="Name" type="xs:string"/> | ||||||||
| <xs:element name="Value" type="xs:string"/> | ||||||||
| </xs:sequence> | ||||||||
| </xs:complexType> | ||||||||
| <xs:simpleType name="doubleUnc"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Double value with uncertainty: first entry is value, second entry is uncertainty (absolute error, one standard deviation)</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="doubleList"> | ||||||||
| <xs:length value="2"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="durationUnc"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Duration (time) value with uncertainty: first entry is value, second entry is uncertainty (absolute error, one standard deviation)</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="durationList"> | ||||||||
| <xs:length value="2"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="coordinateList"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Geographic coordinates: first two entries are latitude and longitude; third entry (optional) is elevation in meters relative to ellipsoid</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="decimalList"> | ||||||||
| <xs:minLength value="2"/> | ||||||||
| <xs:maxLength value="3"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="booleanList"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>List of booleans</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:list itemType="xs:boolean"/> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="decimalList"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>List of decimals</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:list itemType="xs:decimal"/> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="doubleList"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>List of doubles</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:list itemType="xs:double"/> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="durationList"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>List of durations</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:list itemType="xs:duration"/> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="nonNegativeIntegerList"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>List of nonNegativeIntegers</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:list itemType="xs:nonNegativeInteger"/> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:complexType name="Coordinates"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Geographical coordinates (latitude, longitude, optional elevation)</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:simpleContent> | ||||||||
| <xs:extension base="coordinateList"> | ||||||||
| <xs:attribute name="Datum" type="xs:positiveInteger"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>EPSG map datum reference identification number (see www.epsg.org)</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:attribute> | ||||||||
| <xs:attribute name="Time" type="xs:dateTime"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Date/time of coordinates measurement</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| </xs:attribute> | ||||||||
| <xs:anyAttribute namespace="##other" processContents="lax"/> | ||||||||
| </xs:extension> | ||||||||
| </xs:simpleContent> | ||||||||
| </xs:complexType> | ||||||||
| <xs:simpleType name="enumComponentType"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Is this a Generic Device or ControlBox, SCS,Computer,</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="Device"/> | ||||||||
| <xs:enumeration value="ControlBox"/> | ||||||||
| <xs:enumeration value="SCS"/> | ||||||||
| <xs:enumeration value="PCS"/> | ||||||||
| <xs:enumeration value="Computer"/> | ||||||||
| <xs:enumeration value="Detector"/> | ||||||||
| <xs:enumeration value="Sensor"/> | ||||||||
| <xs:enumeration value="Annuciator"/> | ||||||||
| <xs:enumeration value="Switch"/> | ||||||||
| <xs:enumeration value="Other"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumDeviceType"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Is this a Generic Device or ControlBox, LPR, OCR, RPM,</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="PortalMonitor"/> | ||||||||
| <xs:enumeration value="SpecPortal"/> | ||||||||
| <xs:enumeration value="RadionuclideIdentifier"/> | ||||||||
| <xs:enumeration value="PersonalRadiationDetector"/> | ||||||||
| <xs:enumeration value="SurveyMeter"/> | ||||||||
| <xs:enumeration value="Spectrometer"/> | ||||||||
| <xs:enumeration value="VISImage"/> | ||||||||
| <xs:enumeration value="RadioGraphDevice"/> | ||||||||
| <xs:enumeration value="OCR"/> | ||||||||
| <xs:enumeration value="LPR"/> | ||||||||
| <xs:enumeration value="Other"/> | ||||||||
| <xs:enumeration value="Unavailable"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumRequestLevel"> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="FullRequest"/> | ||||||||
| <xs:enumeration value="PartialRequest"/> | ||||||||
| <xs:enumeration value="SingleRequest"/> | ||||||||
| <xs:enumeration value="TradeDataRequest"/> | ||||||||
| <xs:enumeration value="ScanDataRequest"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumCredentialsType"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation/> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="Authenticated"/> | ||||||||
| <xs:enumeration value="Not Authenticated"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumInstrumentType"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument type</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="PortalMonitor"/> | ||||||||
| <xs:enumeration value="SpecPortal"/> | ||||||||
| <xs:enumeration value="RadionuclideIdentifier"/> | ||||||||
| <xs:enumeration value="PersonalRadiationDetector"/> | ||||||||
| <xs:enumeration value="SurveyMeter"/> | ||||||||
| <xs:enumeration value="Spectrometer"/> | ||||||||
| <xs:enumeration value="VISImage"/> | ||||||||
| <xs:enumeration value="RadioGraphDevice"/> | ||||||||
| <xs:enumeration value="OCR"/> | ||||||||
| <xs:enumeration value="LPR"/> | ||||||||
| <xs:enumeration value="Other"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumInstrumentMode"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Instrument mode</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="Measure"/> | ||||||||
| <xs:enumeration value="Calibrate"/> | ||||||||
| <xs:enumeration value="Test"/> | ||||||||
| <xs:enumeration value="Other"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumOperatingMode"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>LIVE or SIMULATED</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="LIVE"/> | ||||||||
| <xs:enumeration value="SIMULATED"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumThreatLevelSetting"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>This is non-color threat level setting which is a standard way to denote threat level because threat color may not be valid for all devices</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="Highest"/> | ||||||||
| <xs:enumeration value="High"/> | ||||||||
| <xs:enumeration value="Medium"/> | ||||||||
| <xs:enumeration value="Low"/> | ||||||||
| <xs:enumeration value="Lowest"/> | ||||||||
| <xs:enumeration value="Uknown"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumThreatLevelColor"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation/> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="RED"/> | ||||||||
| <xs:enumeration value="ORANGE"/> | ||||||||
| <xs:enumeration value="YELLOW"/> | ||||||||
| <xs:enumeration value="BLUE"/> | ||||||||
| <xs:enumeration value="GREEN"/> | ||||||||
| <xs:enumeration value="UNKNOWN"/> | ||||||||
| <xs:enumeration value="INACTIVE"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumIDType"> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="ContainerNumber"/> | ||||||||
| <xs:enumeration value="VIN"/> | ||||||||
| <xs:enumeration value="LicensePlateNumber"/> | ||||||||
| <xs:enumeration value="VehicleID"/> | ||||||||
| <xs:enumeration value="BarCodeID"/> | ||||||||
| <xs:enumeration value="PackageID"/> | ||||||||
| <xs:enumeration value="Unavailable"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumScanItemType"> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="Container"/> | ||||||||
| <xs:enumeration value="Vehicle"/> | ||||||||
| <xs:enumeration value="Package"/> | ||||||||
| <xs:enumeration value="UnknownType"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumSpeedUnits"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Speed units</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="kph"/> | ||||||||
| <xs:enumeration value="m/s"/> | ||||||||
| <xs:enumeration value="mph"/> | ||||||||
| <xs:enumeration value="fps"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> | ||||||||
| <xs:simpleType name="enumDistanceUnits"> | ||||||||
| <xs:annotation> | ||||||||
| <xs:documentation>Distance units</xs:documentation> | ||||||||
| </xs:annotation> | ||||||||
| <xs:restriction base="xs:string"> | ||||||||
| <xs:enumeration value="mm"/> | ||||||||
| <xs:enumeration value="cm"/> | ||||||||
| <xs:enumeration value="m"/> | ||||||||
| <xs:enumeration value="km"/> | ||||||||
| <xs:enumeration value="in"/> | ||||||||
| <xs:enumeration value="ft"/> | ||||||||
| <xs:enumeration value="mi"/> | ||||||||
| </xs:restriction> | ||||||||
| </xs:simpleType> |
</xs:schema>
DeviceHealthAndConfigMessage.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="http://dhs.cbp.gov/ats/SFIGateway" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dhs.cbp.gov/ats/SFIGateway" elementFormDefault="qualified" attributeFormDefault="unqualified">
| <xs:include schemaLocation="N25BaseDataTypes.xsd"/> | ||||||||||
| <xs:complexType name="DeviceHealthAndConfigMessageType"> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="GlobalConfigData" type="GlobalConfigDataType" minOccurs="0" maxOccurs="unbounded"> | ||||||||||
| <xs:annotation> | ||||||||||
| <xs:documentation>Notification Table Activity code: GLOBALCONFIG</xs:documentation> | ||||||||||
| </xs:annotation> | ||||||||||
| </xs:element> | ||||||||||
| <xs:element name="InstrumentUpgradeData" type="InstrumentUpgradeDataType" minOccurs="0" maxOccurs="unbounded"> | ||||||||||
| <xs:annotation> | ||||||||||
| <xs:documentation>Notification Table Activity code: UPGRADE</xs:documentation> | ||||||||||
| </xs:annotation> | ||||||||||
| </xs:element> | ||||||||||
| <xs:element name="DeviceHealthStatus" type="DeviceHealthStatusType" minOccurs="0" maxOccurs="unbounded"> | ||||||||||
| <xs:annotation> | ||||||||||
| <xs:documentation>Notification Table Activity code: HEALTHSTATUS</xs:documentation> | ||||||||||
| </xs:annotation> | ||||||||||
| </xs:element> | ||||||||||
| <xs:element name="DeviceThreatLevelSetting" type="DeviceThreatLevelSettingType" minOccurs="0" maxOccurs="unbounded"> | ||||||||||
| <xs:annotation> | ||||||||||
| <xs:documentation>Notification Table Activity code: THREATSTATUS</xs:documentation> | ||||||||||
| </xs:annotation> | ||||||||||
| </xs:element> | ||||||||||
| </xs:sequence> | ||||||||||
| </xs:complexType> | ||||||||||
| <xs:complexType name="GlobalConfigDataType"> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="ConfigInformation"> | ||||||||||
| <xs:complexType> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="DeviceParameters" minOccurs="0" maxOccurs="unbounded"> | ||||||||||
| <xs:complexType> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="Config" minOccurs="0" maxOccurs="unbounded"> | ||||||||||
| <xs:complexType> | ||||||||||
| <xs:attribute name="Name" type="xs:string" use="required"/> | ||||||||||
| <xs:attribute name="Value" type="xs:string" use="required"/> | ||||||||||
| </xs:complexType> | ||||||||||
| </xs:element> | ||||||||||
| <xs:element name="DeviceCommunicationStatus" type="enumDeviceStatus" minOccurs="0"/> | ||||||||||
| <xs:element name="DeviceIdentifier" type="DeviceIdentifierType" nillable="true" minOccurs="0"/> | ||||||||||
| </xs:sequence> | ||||||||||
| </xs:complexType> | ||||||||||
| </xs:element> | ||||||||||
| <xs:element name="CredentialsVerified" type="enumCredentialsType" minOccurs="0"/> | ||||||||||
| </xs:sequence> | ||||||||||
| </xs:complexType> | ||||||||||
| </xs:element> | ||||||||||
| </xs:sequence> | ||||||||||
| <xs:attributeGroup ref="SystemAuditAttributes"/> | ||||||||||
| </xs:complexType> | ||||||||||
| <xs:complexType name="InstrumentUpgradeDataType"> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="UpgradeInformation"> | ||||||||||
| <xs:complexType> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="PrevVersion" type="xs:string"/> | ||||||||||
| <xs:element name="CurrVersion" type="xs:string"/> | ||||||||||
| <xs:element name="CredentialsVerified" type="enumCredentialsType" minOccurs="0"/> | ||||||||||
| <xs:element name="DeviceIdentifier" type="DeviceIdentifierType" nillable="true" minOccurs="0"/> | ||||||||||
| </xs:sequence> | ||||||||||
| </xs:complexType> | ||||||||||
| </xs:element> | ||||||||||
| <xs:element name="InstrumentInformation" type="InstrumentInformation" minOccurs="0"> | ||||||||||
| <xs:annotation> | ||||||||||
| <xs:documentation>Description of the instrument</xs:documentation> | ||||||||||
| </xs:annotation> | ||||||||||
| </xs:element> | ||||||||||
| </xs:sequence> | ||||||||||
| <xs:attributeGroup ref="SystemAuditAttributes"/> | ||||||||||
| </xs:complexType> | ||||||||||
| <xs:complexType name="DeviceHealthStatusType"> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="HealthReport" minOccurs="0" maxOccurs="unbounded"> | ||||||||||
| <xs:annotation> | ||||||||||
| <xs:documentation>Report on each control box that was requested in the HealthStatusRequest message</xs:documentation> | ||||||||||
| </xs:annotation> | ||||||||||
| <xs:complexType> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="DeviceIdentifier" type="DeviceIdentifierType" minOccurs="0"/> | ||||||||||
| <xs:element name="DeviceCommunicationStatus" type="enumDeviceStatus" minOccurs="0"/> | ||||||||||
| <xs:element name="HealthStatus" type="enumHealthStatus" minOccurs="0"/> | ||||||||||
| <xs:element name="HealthDetails" type="NameValuePair" minOccurs="0" maxOccurs="unbounded"/> | ||||||||||
| </xs:sequence> | ||||||||||
| </xs:complexType> | ||||||||||
| </xs:element> | ||||||||||
| <xs:any namespace="##other" minOccurs="0"/> | ||||||||||
| </xs:sequence> | ||||||||||
| <xs:attributeGroup ref="SystemAuditAttributes"/> | ||||||||||
| </xs:complexType> | ||||||||||
| <xs:complexType name="DeviceThreatLevelSettingType"> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="ThreatLevelReport" minOccurs="0" maxOccurs="unbounded"> | ||||||||||
| <xs:annotation> | ||||||||||
| <xs:documentation>The threat level being reported for this CB. For example, if the ControlBoxStatus is "configured and not communicating", the ThreatLevel and EventDateTime will reflect a threat level that was at a previous date/time. If the ControlBoxStatus is "configured and communicating", then the current threat level and current date/time are to be entered. If the ControlBoxStatus is "configure" or "unknown", then a 0000-00-00T00:00:00Z will be entered.</xs:documentation> | ||||||||||
| </xs:annotation> | ||||||||||
| <xs:complexType> | ||||||||||
| <xs:sequence> | ||||||||||
| <xs:element name="DeviceIdentifier" type="DeviceIdentifierType" nillable="true" minOccurs="0"/> | ||||||||||
| <xs:element name="DeviceCommunicationStatus" type="enumDeviceStatus" minOccurs="0"/> | ||||||||||
| <xs:element name="ThreatLevelColor" type="enumThreatLevelColor" minOccurs="0"/> | ||||||||||
| <xs:element name="ThreatLevelSetting" type="enumThreatLevelSetting" minOccurs="0"/> | ||||||||||
| </xs:sequence> | ||||||||||
| </xs:complexType> | ||||||||||
| </xs:element> | ||||||||||
| </xs:sequence> | ||||||||||
| <xs:attributeGroup ref="SystemAuditAttributes"/> | ||||||||||
| </xs:complexType> | ||||||||||
| <xs:simpleType name="enumHealthStatus"> | ||||||||||
| <xs:annotation> | ||||||||||
| <xs:documentation/> | ||||||||||
| </xs:annotation> | ||||||||||
| <xs:restriction base="xs:string"> | ||||||||||
| <xs:enumeration value="Full Functionality"/> | ||||||||||
| <xs:enumeration value="Partial Functionality"/> | ||||||||||
| <xs:enumeration value="No Functionality"/> | ||||||||||
| <xs:enumeration value="Unknown"/> | ||||||||||
| </xs:restriction> | ||||||||||
| </xs:simpleType> | ||||||||||
| <xs:simpleType name="enumDeviceStatus"> | ||||||||||
| <xs:restriction base="xs:string"> | ||||||||||
| <xs:enumeration value="Configured and Communicating"/> | ||||||||||
| <xs:enumeration value="Configured and Not Communicating"/> | ||||||||||
| <xs:enumeration value="Not Configured"/> | ||||||||||
| <xs:enumeration value="Unknown"/> | ||||||||||
| </xs:restriction> | ||||||||||
| </xs:simpleType> |
</xs:schema>
GeneralInstrumentMessage.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="http://dhs.cbp.gov/ats/SFIGateway" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dhs.cbp.gov/ats/SFIGateway" elementFormDefault="qualified" attributeFormDefault="unqualified">
| <xs:include schemaLocation="N25BaseDataTypes.xsd"/> | |||||||||||
| <xs:complexType name="GeneralInstrumentMessageType"> | |||||||||||
| <xs:sequence> | |||||||||||
| <xs:element name="ReadingType"> | |||||||||||
| <xs:simpleType> | |||||||||||
| <xs:restriction base="xs:string"> | |||||||||||
| <xs:enumeration value="Scan"/> | |||||||||||
| <xs:enumeration value="Background"/> | |||||||||||
| <xs:enumeration value="Analysis"/> | |||||||||||
| </xs:restriction> | |||||||||||
| </xs:simpleType> | |||||||||||
| </xs:element> | |||||||||||
| <xs:element name="ScanIdentifierData" type="ScanIdentifierDataType"/> | |||||||||||
| <xs:element name="InstrumentData" type="InstrumentDataType"/> | |||||||||||
| </xs:sequence> | |||||||||||
| </xs:complexType> | |||||||||||
| <xs:complexType name="InstrumentDataType"> | |||||||||||
| <xs:annotation> | |||||||||||
| <xs:documentation>Contains instrument data in the form of Measurement elements</xs:documentation> | |||||||||||
| </xs:annotation> | |||||||||||
| <xs:sequence> | |||||||||||
| <xs:element name="Remark" type="xs:string" minOccurs="0"/> | |||||||||||
| <xs:element name="Measurement" type="Measurement" maxOccurs="unbounded"> | |||||||||||
| <xs:annotation> | |||||||||||
| <xs:documentation>A "measurement" from an instrument</xs:documentation> | |||||||||||
| </xs:annotation> | |||||||||||
| </xs:element> | |||||||||||
| <xs:element name="Calibration" minOccurs="0" maxOccurs="unbounded"> | |||||||||||
| <xs:complexType> | |||||||||||
| <xs:annotation> |
This is the start of the file's text. The full file is on GovTribe.
File details come from the government source that posted it. Updated .