40 likes | 56 Views
This process map provides a concept for tracking and exporting samples electronically to the Gensuite Water Watch application via a scheduled XML feed.
E N D
Water Watch XML Integration Overview This process map provides a concept for how samples are tracked, electronically exported to the Gensuite Water Watch application and then kept updated via a scheduled (e.g., daily) XML feed. XML-Based Electronic Integration Summary Sample Data has been collected XML-Packet Submission of Sample Data Collected Since Last Submission Water Watch Data Validation Tollgates • Failed submittals notified via email with option to correct and re-submit • Sample date collected or otherwise identified • XML packet must be created for each sample by maintenance system data feed per Water Watch integration spec (next page) Sample Data Added to Water Watch Result Email Sent • Sample added to the Water Watch database • New sample email generated automatically 12-Nov-2008
Water Watch XML-Based Integration Specifications • Site-specific configuration parameters provided by GensuiteTeam: • Encrypted Site Identifier (passkey) • XML packet specification • XML submittal HTTP POST specification and Target URL • Finding XML packet processing logic: • Validate Site Passkey • Validate required fields and list tollgates equivalent to Web Water Watch sample log form • Add Sample: • Required fields: Process Step ID, Date Taken, Time Taken, Taken by • Optional fields: Task Sample ID, Lab ID, Date Sent To Lab, Not For Compliance, Not Discharged, Non Mandatory, Prior to Final Treatment, Determination, Determination Date, Determination Comments, Sample Comments, No Flow • Add Sample Data: • Required fields: Parameter ID, Unit • Optional fields: Value, Non Detect, Detection Limit, Analytical Method, Outlier, Disqualified, Comments • Options: • Contact Name for Responsible Person • Email address list to notify results of XML packet processing • Once XML packet processes, send notification email to selected list, with link to enable manual gap-fix and submission • XML Data feed requirements: • Specified XML format and submission spec • Scheduled job, e.g., daily at defined hour (off-peak hours preferred) • Sample XML packet submitted for each maintenance system record (new records since last feed) 12-Nov-2008
Water Watch XML-Based Integration Specifications Water Watch Business/Site-specific dropdown lists exposed as Web services: Sampling Point Sample Template Sample Taken By Lab Name Sample Sent By Determination By Parameter Value Finding XML packet spec: <?xml version="1.0" encoding="ISO-8859-1"?> <ww_upload encryptedKey="“ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xml_dataUploadSchema.xsd" email="" emailalertlevel=""> <siteid><![CDATA[1]]></siteid> <entered_by><![CDATA[]]></entered_by> <sample> <sample_process_step_id><![CDATA[0]]></sample_process_step_id> <sample_task_sampleid><![CDATA[]]></sample_task_sampleid> <sample_date_taken><![CDATA[]]></sample_date_taken> <sample_time_taken><![CDATA[00:00:00]]></sample_time_taken> <sample_taken_by><![CDATA[User Name]]></sample_taken_by> <sample_labid><![CDATA[10]]></sample_labid> <sample_date_sent_to_lab><![CDATA[2008-01-01]]></sample_date_sent_to_lab> <sample_not_for_compliance><![CDATA[0]]></sample_not_for_compliance> <sample_nfc_ww_not_discharged><![CDATA[0]]></sample_nfc_ww_not_discharged> <sample_nfc_non_mandatory><![CDATA[0]]></sample_nfc_non_mandatory> <sample_nfc_prior_to_final_treatment><![CDATA[0]]></sample_nfc_prior_to_final_treatment> <sample_nfc_determination><![CDATA[0]]></sample_nfc_determination> <sample_nfc_determination_date><![CDATA[2008-01-01]]></sample_nfc_determination_date> <sample_nfc_determination_comments><![CDATA[]]></sample_nfc_determination_comments> <sample_comments><![CDATA[]]></sample_comments> <sample_noFlow><![CDATA[0]]></sample_noFlow> <sample_data> <sample_data_parameter_id><![CDATA[0]]></sample_data_parameter_id> <sample_data_unit><![CDATA[kg/day]]></sample_data_unit> <sample_data_value><![CDATA[1.011]]></sample_data_value> <sample_data_non-detect><![CDATA[0]]></sample_data_non-detect> <sample_data_detection_limit><![CDATA[]]></sample_data_detection_limit> <sample_data_analytical_method><![CDATA[]]></sample_data_analytical_method> <sample_data_outlier><![CDATA[0]]></sample_data_outlier> <sample_data_disqualified><![CDATA[0]]></sample_data_disqualified> <sample_data_comments><![CDATA[0]]></sample_data_comments> </sample_data> </sample> </ww_upload> 12-Nov-2008
XML Response Packet Response packet spec: <?xml version="1.0" encoding="utf-8" ?> <response> <error level="1" type="invalidrecords"> <message><![CDATA[One or more samples failed validation.]]></message> <records> <record index="1"> <reason><![CDATA[Process Step specified is invalid]]></reason> <reason><![CDATA[Task Sample specified is invalid]]></reason> </record> </records> </error> <status result="false" processcount="2" goodcount="1" badcount="1" /> </response> Response Packet Parameters: Status Block result: The overall success or failure of the entire payload processcount: the number of records processed. If this is zero, an XML validation or parse error occurred goodcount: the number of records accepted and entered into the database badcount: the number of records that failed validation Error Block– Only appears when an error is present. level: Numerical level of the error that occurred. A lower score indicates a more severe condition type: A phrase that generalizes the overall type of error that occurred message: A descriptive message of the error that occurred records: If present, indicates which records in the payload caused the error to occur index: A pointer to the sequential sample record that raised the error reason: An error which cause the record to fail validation. There may be multiple reasons in this block. 12-Nov-2008