Mobility Assistance For People With Cognitive Disabilities Interface .

Transcription

Mobility Assistance for People withCognitive Disabilities (MAPCD)Interface Control Documentfor the Smart ColumbusDemonstration ProgramFINAL REPORT July 26, 2018

Produced by City of ColumbusNoticeThis document is disseminated under the sponsorship of the Department of Transportation inthe interest of information exchange. The United States Government assumes no liability for itscontents or use thereof.The U.S. Government is not endorsing any manufacturers, products, or services citedherein and any trade name that may appear in the work has been included onlybecause it is essential to the contents of the work.Acknowledgement of SupportThis material is based upon work supported by the U.S. Department of Transportationunder Agreement No. DTFH6116H00013.DisclaimerAny opinions, findings, and conclusions or recommendations expressed in thispublication are those of the Author(s) and do not necessarily reflect the view of the U.S.Department of Transportation

Table of ContentsTable of Contents .iChapter 1. Introduction . 11.1. Purpose . 11.2. Background . 11.3. Introduction . 11.3.1.Assumptions . 11.3.2.Constraints . 11.3.3.Risks . 1Chapter 2. Interface Requirements . 32.1. Operating System Overview . 32.1.1.Data Ingest Template . 32.1.2.Data Transform . 32.1.3.Search and Analyze . 42.2. Mobility Management Server (MMS) Overview. 42.2.1.Trip Data . 42.2.2.Communication Protocol . 42.2.3.Authentication . 42.2.4.Format. 52.2.5.Personally Identifiable Information (PII) . 52.2.6.JSON Tags . 5Appendix A.Acronyms and Definitions.11Appendix B.Glossary. 13List of TablesTable 1: Data Dictionary . 6Table 2: Acronym List . 11Table 3: Glossary . 13List of FiguresFigure 1: High-Level System Overview . 3MAPCD Interface Control Document – Final Report Smart Columbus Program i

Chapter 1. Introduction1.1.PURPOSEThe purpose of this Interface Control Document (ICD) is to document the information required toeffectively define the systems interfaces for the Mobility Assistance for People with Cognitive Disabilities(MAPCD) project. The intended audience for this document is the City of Columbus project team, thevendor development team, United States Department of Transportation (USDOT), and projectstakeholders interested in understanding the system interfaces for the MAPCD project.1.2.BACKGROUNDThe Mobility Assistance for People with Cognitive Disabilities (MAPCD) project consists of an innovativesmartphone application (WayFinder) which will be piloted for between 15 to 30 individuals in theColumbus region in partnership with the Central Ohio Transit Authority (COTA) and Ohio State University(OSU). WayFinder will enable persons with cognitive disabilities to transition off costly paratransit servicesand travel independently on the fixed-route bus system. Phone-based GPS tracking allows WayFinder tosafely guide users with step-by-step visual and audio instructions. The WayFinder system was developedthrough research funding from the United States Department of Education (USDOE) and the NationalInstitutes of Health (NIH). Data generated by the application will be written to the Smart ColumbusOperating System (Operating System) to support data analysis and performance measures. For moreinformation on the WayFinder system refer to https://www.ablelinktech.com/.1.3.INTRODUCTIONThis ICD describes the interchange of data between the Mobility Management Server (MMS) (sourcesystem) and the Operating System (target system), including relevant message structure and protocolsthat govern the interchange of data between these two systems. An estimate of the size and frequency ofdata exchange is provided as appropriate.1.3.1.AssumptionsAbleLink Smart Living Technologies, the WayFinder vendor, will provide the MMS. The MMS will be acloud-based application server that will provide real-time data to the Operating System. The dataconnection will be secured through an encrypted point-to-point virtual private network (VPN) tunnelbetween the MMS and the Operating System. AbleLink Smart Living Technologies will provide a RESTfulinterface to allow the data to be extracted in real-time.1.3.2.ConstraintsN/A1.3.3.RisksThe MMS is currently in development by AbleLink Smart Living Technologies. As a result, the messagestructure for the various data elements of a trip (Trip Data) may continue to change as AbleLink SmartLiving Technologies continues to develop and implement new features within the MMS. Agiledevelopment of the source system and target system will help to mitigate risks.MAPCD Interface Control Document – Final Report Smart Columbus Program 1

Chapter 2. Interface Requirements2.1.OPERATING SYSTEM OVERVIEWThe Operating System will utilize Apache NiFi and Kylo to ingest data from the MMS interface. Thedata will be transformed and stored in a Hadoop data lake, where it will be searchable utilizing ApacheHive to end-users of the system (City of Columbus and third-party users) through MMS ApplicationProgramming Interfaces (APIs).Figure 1: High-Level System Overview describes the ingestion process at a high-level.Source: City of ColumbusFigure 1: High-Level System Overview2.1.1.Data Ingest TemplateThe Operating System development team will be responsible for creating the template (datastructure/schema) to import data (Trip Data) from the MMS into the Hadoop Distributed FileSystem (HDFS) tables. Apache Hive is a data warehousing application that provides logical access todata being stored in the Apache Hadoop infrastructure.2.1.2.Data TransformOnce imported, trip data will be prepared for analytics using transformation features provided by Kylo.The Operating System development team will be responsible for data transformation that will be achievedin the Kylo front-end.MAPCD Interface Control Document – Final Report Smart Columbus Program 3

Chapter 2. Interface Requirements2.1.3.Search and AnalyzeEnd-users of the system will be able to search the trip data in Hadoop and build Hive queries to supportanalysis. The Operating System development team will be responsible for establishing a search andquery interface to allow end-users of the system to analyze the data.2.2.MOBILITY MANAGEMENT SERVER (MMS) OVERVIEWThe MMS provides cloud-based storage for trip data generated by the mobile app. The mobile appprovides geo-location-based multimedia instructions to individuals with cognitive disabilities to facilitateindependent travel. Trip data generated by the mobile app is transmitted to the MMS in near-real time.This data is accessible to developers through a secure API.2.2.1.Trip DataTrip data is the information that is created by the WayFinder app while a user is in route from an origin toa destination. Trip data is transmitted from the WayFinder app to the MMS. The following data elementsmay be requested from the MMS via the MMS API. Detailed documentation on the following dataelements is provided in Table 1: Data Dictionary.Data elements: Starting a particular route Completing a route Canceling a route before completion Pausing a route Resuming a route Loss of GPS connection Reacquisition of GPS connection Leaving the travel corridor for the route Reentering the travel corridor for the route Requests for assistance by the traveler Downloading a route with mode of travel used Caregiver updates and communications2.2.2.Communication ProtocolHTTPS will be the mandated protocol to protect the data in transit.2.2.3.AuthenticationThe vendor will provide authentication credentials to the Operating System team to be used in all APIcalls. The MMS will not accept any API commands from a client without a proper authentication token,unless a particular API endpoint allows anonymous access.4 Smart Columbus Program MAPCD Interface Control Document – Final Report

Chapter 2. Interface Requirements2.2.4.FormatJSON will be the mandated format for the payload in the requests and responses from the MMS.2.2.5.Personally Identifiable Information (PII)PII will not be requested.2.2.6.JSON TagsTable 1: Data Dictionary describes the JSON tags available from the MMS API.MAPCD Interface Control Document – Final Report Smart Columbus Program 5

Chapter 2. Interface RequirementsTable 1: Data DictionaryTagDescriptionTypeSpecific ValuesUniqueRequired#mmsapi version#Field identifying theversion of MMS APIthat the current tripwas completed with.Stringtrip idUnique identifier forthe trip.user idExamplen/aNoYes"#mmsapi version#": "1.0"Stringn/aYesYes"trip id":"acda1fc0130b4f99f1e577bf822"Unique identifier forthe traveler.Stringn/aYesYes"user id":"acda1fc0130b4f99f1e577bf822"titleDescriptive title of theroute.Stringn/aNoYes"title": "Bus 25 - Center Mall toNorth Transfer Station"routedownloadedDate and time routewas downloaded.Unix epochdate valueValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoYes"routedownloaded": 2522562400starttimeStart date and time forthe current trip.Unix epochdate valueValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoYes"starttime": 4522562400completetimeDate/ time trip wascompleted.Unix epochdate valueValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoNo"completetime": 8522562400Trip Data6 Smart Columbus Program MAPCD Interface Control Document – Final Report

Chapter 2. Interface RequirementsTagDescriptionTypeSpecific ValuesUniqueRequiredcanceltimeDate/time the trip wascancelled.Unix epochdate valueassistancerequestedValue indicating thenumber of timesassistance wasrequested during thetrip.caregiverrequestExampleValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoNo"canceltime": 1522562400Integern/aNoNo"assistancerequested": 0Value indicating thenumber of timescaregiver wascontacted during thetrip.Integern/aNoNo"caregiveralertrequest": 0Value indicating thepercentage value ofbattery power on thedevice at the time thedata was posted to theMMS during the trip.Integer0 - 100NoNo"batterylevel": 85Diagnostics DatabatterylevelMAPCD Interface Control Document – Final Report Smart Columbus Program 7

Chapter 2. Interface RequirementsTagDescriptionTypeSpecific ValuesUniqueRequiredgpsaccuracyRelative valueindicating theaccuracy level of theGPS signal at the timethe data was posted tothe MMS during thetrip.IntegerroutetypeText description of thetype(s) of travelincluded in the route,used in the RouteLibrary to identify theroute type. This valuecorresponds with theroutetype value in theMMS Standard.cellnetworkcoverageExample0 – 9 (9 representsthe highest value)NoNo"gpsaccuracy": 9Commadelimitedstringautonomousvehicle, bus, bike,cable car, ferry,funicular, gondola,light rail, metro,rail, ride share,streetcar, subway,tram, walking,otherNoNo"routetype": "walking, bus"String value indicatingthe cell networkcoverage at the timethe data was posted tothe MMS during thetrip.Stringexcellent, verygood, good, fair,poor, no cific date/time(s)route was pausedduring trip.Unix epochdate valuein commadelimitedstringValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoNo"trippaused": "1507827232,1507837819, 1507849123"Performance Datatrippaused8 Smart Columbus Program MAPCD Interface Control Document – Final Report

Chapter 2. Interface RequirementsTagDescriptionTypeSpecific ValuesUniqueRequiredtripresumedSpecific date/time(s)route was resumedduring trip.Unix epochdate valuein commadelimitedstring.gpssignallossSpecific date/time(s)gps signal was lostduring trip.gpssignalreaquiredExampleValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoNo"tripresumed": "1507827232,1507837819, 1507849123"Unix epochdate valuein commadelimitedstringValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoNo"gpssignalloss": "1507827232,1507837819, 1507849123"Specific date/time(s)gps signal was reacquired during trip.Unix epochdate valuein commadelimitedstringValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoNo"gpssignalreaquired":"1507827232, 1507837819,1507849123"Specific date/time(s)representing the timethe traveler exited thetravel corridor.Unix epochdate valuein commadelimitedstringValid epoch datevalue, whichrepresents thenumber of secondsthat have elapsedsince January 1,1970.NoNo"offroutetime": "1507827232,1507837819, 1507849123"Off-Route/Return toRoute DataoffroutetimeMAPCD Interface Control Document – Final Report Smart Columbus Program 9

Chapter 2. Interface RequirementsTagDescriptionTypeSpecific ValuesUniqueRequiredoffroutelatNumeric valuerepresenting thelatitude of the currentspecific location whenthe traveler left thetravel corridor.Realnumber incommadelimitedstringValid latitude insigned degreesformatNoYes"offroutelat": -104.845149625467offroutelongNumeric valuerepresenting thelongitude of thecurrent specificlocation when thetraveler left the travelcorridor.Realnumber incommadelimitedstringValid longitude insigned degreesformatNoYes"offroutelong": senting when thetraveler returned tothe route after beingoff route.Realnumber incommadelimitedstringUnix epoch datevalue.NoYes"returntoroutetime": 1507837819returntoroutelatNumeric valuerepresenting thelatitude of the currentspecific location thetraveler returned tothe route after beingoff route.RealnumberValid latitude insigned degreesformatNoYes"returntoroutelat": 104.845149625467returntoroutelongNumeric valuerepresenting thelongitude of thecurrent specificlocation the travelerreturned to the routeafter being off route.RealnumberValid longitude insigned degreesformatNoYes"returntoroutelong": 104.845149625467Source: City of Columbus10 Smart Columbus Program MAPCD Interface Control Document – Final ReportExample

Appendix A. Acronyms and DefinitionsTable 2: Acronym List contains project specific acronyms used throughout this document.Table 2: Acronym ListAcronym / AbbreviationDefinitionAPIApplication Programming InterfaceHDFSHadoop Distributed File SystemHTTPSHypertext Transfer Protocol SecureICDInterface Control DocumentJSONJavaScript Object NotationMAPCDMobility Assistance for People with Cognitive DisabilitiesMMSMobility Management ServerN/ANot ApplicableNIHNational Institutes of HealthOSUOhio State UniversityPIIPersonally Identifiable InformationUSDOEUnited States Department of EducationUSDOTUnited States Department of TransportationVPNVirtual Private NetworkSource: City of ColumbusMAPCD Interface Control Document – Final Report Smart Columbus Program 11

Appendix B. GlossaryTable 3: Glossary contains project specific terms used throughout this document.Table 3: GlossaryTermDefinitionAuthenticationThe process or action of verifying the identity of a user or process.Communication ProtocolA system of rules that allow two or more entities of a communicationssystem to transmit information.End-UsersCity of Columbus and third-party users who will connect to theOperating System for trip data.Operating SystemThe Smart Columbus Operating System is a cloud-based platformdesigned to ingest and disseminate data from external systems forprocessing via a microservices architecture.Source: City of ColumbusMAPCD Interface Control Document – Final Report Smart Columbus Program 13

MAPCD Interface Control Document - Final Report Smart Columbus Program 3 Chapter 2. Interface Requirements 2.1. OPERATING SYSTEM OVERVIEW The Operating System will utilize Apache NiFi and Kylo to ingest data from the MMS interface. The data will be transformed and stored in a Hadoop data lake, where it will be searchable utilizing Apache