CMDP-LIMS INTERFACE CONTROL

Similar documents
CMDP-STATE DATABASE INTERFACE CONTROL DOCUMENT

COMPLIANCE MONITORING DATA PORTAL ROLE REGISTRATION USER GUIDE

COMPLIANCE MONITORING DATA PORTAL (CMDP) USER MANUAL VERSION 1.0 October 28, 2016

The Compliance Monitoring Data Portal (CMDP) Module 3: Entering PWS and Lab Profiles For PWS CMDP administrators and Lab CMDP administrators

Please note: This is a working document and is subject to change. Please check back periodically to ensure you have the latest version of this spec.

CA ELAP Expert Review Panel Meeting January 31, EPA Perspective: Effective Laboratory Certification Program Implementation

The Compliance Monitoring Data Portal (CMDP) Module 4: Chemical, Radionuclide and Microbial Samples and Results For lab users

FAQ Guide. edmr. Electronic Discharge Monitoring Reports

SECTION 10 EXCHANGE PROTOCOL

PROJECT: NEW JERSEY WATER QUALITY DATA EXCHANGE WQX REPORTER USER S GUIDE. Prepared for New Jersey Department of Environmental Protection

ChromQuest 5.0. Tools to Aid in 21 CFR Part 11 Compliance. Introduction. General Overview. General Considerations

Glossary of Exchange Network Related Groups

Oracle Communications Services Gatekeeper

Contents About This Guide... 5 About Notifications... 5 Managing User Accounts... 6 Managing Companies Managing Password Policies...

July EDGAR Filer Manual (Volume I)

Drinking Water Electronic Lab Reporting (DWELR) Quick Start Guide

EN/EE 101 Introduction to the Exchange Network and E-Enterprise for the Environment Chris Simmers, New Hampshire DoIT Rob Willis, Ross Strategic

EnterpriseTrack Reporting Data Model Configuration Guide Version 17

FLORIDA S PREHOSPITAL EMERGENCY MEDICAL SERVICES TRACKING & REPORTING SYSTEM

Adobe Sign and 21 CFR Part 11

User Guide for the ILDS Illinois Higher Education Information System (HEIS)

Entity Registration: CFRs

COMPLIANCE. associates VALIDATOR WHITE PAPER. Addressing 21 cfr Part 11

Oracle Cloud. Using the Google Calendar Adapter Release 16.3 E

Extractive Sector Transparency Measures Act. NRCan eservices Portal User Guide

Drinking Water Quality (DWQ) Web Form Reporting A User Manual

NetDMR External User s Guide Version 1

NetDMR Internal and External User s Guide Version 1

Oracle Cloud Using the Google Calendar Adapter with Oracle Integration

CO Environmental Web Application Users Help. March 2012 Updated June 2012 Updated March 2014

Sparta Systems TrackWise Digital Solution

Oracle Cloud Using the Microsoft Adapter. Release 17.3

Security Standards for Electric Market Participants

Integration Architecture Of SDMS

System Administrator s Guide Login. Updated: May 2018 Version: 2.4

Oracle Eloqua Legacy Authenticated Microsites and Contact Users. Configuration Guide

SDA COMPLIANCE SOFTWARE For Agilent ICP-MS MassHunter Software

Informatica Cloud Spring REST API Connector Guide

Lab Registration Procedure. Lab Registration. User Guide. January 8, Version 3.0

Oracle Cloud Using the MailChimp Adapter. Release 17.3

Integration of Agilent OpenLAB CDS EZChrom Edition with OpenLAB ECM Compliance with 21 CFR Part 11

Using Microsoft Azure Active Directory MFA as SAML IdP with Pulse Connect Secure. Deployment Guide

Oracle Cloud Using the Eventbrite Adapter. Release 17.3

ANSI ASC X12N 837 Healthcare Claim (Version X222A1-June 2010) Professional Companion Guide

Oracle Hospitality OPERA Exchange Interface Cloud Authentication. October 2017

PCI DSS and VNC Connect

ISSUE N 1 MAJOR MODIFICATIONS. Version Changes Related Release No. PREVIOUS VERSIONS HISTORY. Version Date History Related Release No.

Oracle Cloud Using the Eventbrite Adapter with Oracle Integration

Oracle Utilities Opower Energy Efficiency Web Portal - Classic Single Sign-On

Oracle Cloud Using the Adobe esign Adapter. Release 17.3

Oracle Cloud Using the Trello Adapter. Release 17.3

Report (CCR) Rule Retrospective Review: Electronic Delivery

Ad-ID COMPLETE EXTERNAL ACCESS (CEA) SPECIFICATION

WHITE PAPER AGILOFT COMPLIANCE WITH CFR 21 PART 11

INSURER BATCH UPLOAD GUIDE NORTH CAROLINA SURPLUS LINES ASSOCIATION

PCI DSS and the VNC SDK

Kroger Supplier Information Management System (SIM) Training Documentation

Oracle Cloud Using the DocuSign Adapter. Release 17.3

Password Standard. Suzanne Baker Version Effective Date 7/12/2013 Last Updated 7/12/2013

Inland Revenue. Build Pack. Identity and Access Services. Date: 04/09/2017 Version: 1.5 IN CONFIDENCE

Oracle Cloud Using the Evernote Adapter. Release 17.3

LIMS-plus Release Notes v3.8.40

Liferay Security Features Overview. How Liferay Approaches Security

Example Azure Implementation for Government Agencies. Indirect tax-filing system. By Alok Jain Azure Customer Advisory Team (AzureCAT)

Training Guide for Arkansas Law Enforcement Officers and Licensing Board Representatives

Federal Registry Functionality Summary

FACILITY CONTACT. Orientation

Sparta Systems TrackWise Solution

OpenIAM Identity and Access Manager Technical Architecture Overview

E X O S T A R, LLC D A T E : M AY V E R S I O N : 4.0

IEC Implementation Profiles for IEC 61968

Sparta Systems Stratas Solution

SOLUTION ARCHITECTURE AND TECHNICAL OVERVIEW. Decentralized platform for coordination and administration of healthcare and benefits

JD Edwards EnterpriseOne Tools

Sophos Mobile. startup guide. Product Version: 8.5

Oracle Enterprise Manager Ops Center. Introduction. What You Will Need. Creating vservers 12c Release 1 ( )

What s New in PowerSchool 9.0

Shared CROMERR Services (SCS) Advanced Services Help Desk User Guide

SAML-Based SSO Solution

Secure Access Manager (SAM) Administrator Guide December 2017

Federal Vendor Portal & e-invoicing User Guide. January 2018

Customer Compliance Portal. User Guide V2.0

Oracle Cloud Using the Google Calendar Adapter. Release 17.3

NucleoCounter NC-200, NucleoView NC-200 Software and Code of Federal Regulation 21 Part 11; Electronic Records, Electronic Signatures (21 CFR Part 11)

All requests must be authenticated using the login and password you use to access your account.

INSTRUCTION MANUAL OIGCN VENDOR PROGRAM

Oracle Cloud Using the Twilio Adapter. Release 17.3

GE Transportation Customer Web Center (CWC)

FDA 21 CFR Part 11 Compliance by Metrohm Raman

Actions to Improve Chemical Facility Safety and Security A Shared Commitment Report of the Federal Working Group on Executive Order 13650

Participant User Guide, Version 2.6

AMPS Snapshot: User Registration External Users

REMIT. Guidance on the implementation of web feeds for Inside Information Platforms

Drinking Water Electronic Lab Reporting (DWELR) User Guide

SAML-Based SSO Solution

The system has several front-end content discovery options. Here are examples of their interfaces (see more on our site at

North Carolina Health Information Exchange Authority. User Access Policy for NC HealthConnex

Partner Web Services. GetOrderStatus Version 1 Service Manual

Exostar Identity Access Platform (SAM) User Guide September 2018

Sophos Mobile. startup guide. Product Version: 8.1

Transcription:

CMDP LIMS ICD CMDP-LIMS INTERFACE CONTROL DOCUMENT Prepared for: WILL BOWMAN Product Owner U.S. EPA OFFICE OF WATER Prepared by: ATTAIN, LLC

TABLE OF CONTENTS INTRODUCTION... 2 About This Document... 2 A.1.1 Intended Audience... 2 A.1.2 Acronyms and Definitions... 2 Scope of This Document... 2 System Overview... 3 A.1.3 Supporting Systems and Services... 3 CMDP WEB SERVICES... 4 CMDP Web Service Overview... 4 CMDP Web Service Security... 4 A.1.4 Authentication... 4 A.1.4.1 Description... 4 A.1.4.2 Request... 5 A.1.4.3 Response... 6 A.1.5 User Organization... 7 A.1.5.1 Description... 7 A.1.5.2 Request... 7 A.1.5.3 Response... 7 CMDP Web Service Endpoints (methods)... 8 A.1.6 Get User Organizations... 8 A.1.6.1 Description... 8 A.1.6.2 Request... 8 A.1.6.3 Response... 8 A.1.7 Submit Sample Results to CMDP System Using Web Services... 9 A.1.7.1 Description... 9 A.1.7.2 Request... 9 A.1.7.3 Response... 10 LIST OF TABLES Table 1 List of Acronyms and Definitions Commonly Used throughout the Document... 2 Table 2 Authorization Request Header... 5 Table 3 Unsuccessful Authentication Scenarios... 6 Table 4 User Organization Request Header (optional)... 7 LIST OF FIGURES Figure 1 REST API Authentication... 5 1 P age

ABOUT THIS DOCUMENT INTRODUCTION The Compliance Monitoring Data Portal (CMDP) Web Services Laboratory Information Management System (LIMS) Interface Control Document (ICD) is intended for Labs and public water systems (PWS) using LIMS to connect their existing LIMS to CMDP and submit sampling data electronically. This document identifies and describes the technical aspects needed to connect the CMDP LIMS Web Services in order to electronically report sample results to CMDP. Once the connection between LIMS and CMDP is created and sampling data are sent, all future actions (review, certify, submit) are performed via the CMDP user interface (UI). See the CMDP User Manual for more information on submitting sampling data via CMDP LIMS Web Services. A.1.1 Intended Audience The intended audiences of the CMDP Web Services LIMS ICD are laboratories and public water systems (PWS) using LIMS, as well as their vendors. Laboratory, State Laboratory, and PWS with Certifier and Administrator roles can submit data to CMDP. See the CMDP User Manual for more information on CMDP roles. A.1.2 Acronyms and Definitions Table 1 List of Acronyms and Definitions Commonly Used throughout the Document Acronym Definition EPA Environmental Protection Agency CMDP Compliance Monitoring Data Portal CROMERR Cross-Media Electronic Reporting Rule LIMS Laboratory Information Management System NPDWRs National Primary Drinking Water Regulations PWS Public Water System REST Representational State Transfer SDWA Safe Drinking Water Act SCS Shared CROMERR Services UI User Interface SCOPE OF THIS DOCUMENT The scope of this document is strictly limited to the description of a solution aimed at providing electronic reporting of compliance sample results from laboratories and public water systems using web services. The CMDP can receive and accept Sampling Data using the following methods: Online web-based user interface 2 P age

Microsoft Excel-based data entry templates that can be downloaded from the CMDP home page, updated locally, and loaded into CMDP using the CMDP web application CMDP web services This document focuses on the CMDP web service methods for reporting sample results. None of the contents of this document supersede the statutory requirements of the Safe Drinking Water Act (SDWA); the regulatory reporting requirements of the Code of Federal Regulations (CFR) Parts 141 and 142, including public notification requirements; state 1 regulatory requirements; or the existing reporting relationships between the U.S. Environmental Protection Agency, primacy agencies, public water systems, and laboratories. CMDP is information technology that facilitates the electronic reporting of compliance sample results from laboratories and public water systems to primacy agencies. SYSTEM OVERVIEW The Compliance Monitoring Data Portal (CMDP) is a web-based application, relational database, and suite of web services aimed at providing the following: Electronic reporting of chemical, radiological, microbiological and operational sample results from laboratories and public water systems; Compliance with EPA's CROMERR; and Primacy agency access to view and download sample results to support compliance determinations using their state compliance databases. A.1.3 Supporting Systems and Services The following systems and services are necessary for LIMS-based reporting to CMDP: 1) Shared CROMERR Services (SCS) A suite of CROMERR-compliant web services that support centralized access to the following: a) Registration and Account Management b) Identity Management c) Signature Device d) Signature and Copy of Record Generation For more information about SCS and interactions with CMDP, please see the CMDP to SCS JMS document and the SCS portion of the User Manual. 2) Laboratory Information Management System (LIMS) Many laboratories, or water utilities with laboratories, have acquired and are using LIMS. Laboratories can use their LIMS to report data to CMDP electronically using web services or data exchange templates. 1 For the purposes of this CMDP Web Services document, the term state represents a government agency with primary enforcement authority (primacy) for National Primary Drinking Water Regulations (NPDWRs) and any state-specific drinking water regulations. A state, therefore, includes a state government entity, Tribal entity, or county government entity. 3 P age

CMDP WEB SERVICE OVERVIEW CMDP WEB SERVICES The CMDP Representational State Transfer (REST) based web services are intended to be invoked from an external application like a LIMS to upload sample results into the CMDP system. The details of the process are provided in this section. Beyond this document, the CMDP Team will provide the following additional supportive information to support LIMS integration. All Documentation and supportive information is available on the CMDP Helpdesk site: https://cmdp.zendesk.com XML Schema Definition (XSD) files that can be used to validate XML submissions before submitting to CMDP. Example XML files that can be used to test the integration of LIMS with CMDP. This will allow LIMS developers to, initially, test integration with CMDP without worrying about formatting data. The Web Application Description Language (WADL) is a machinereadable XML description of HTTP-based web applications (typically REST web services). WADL models the resources provided by a service and the relationships between them. WADL is intended to simplify the reuse of web services that are based on the existing HTTP architecture of the Web. It is platform- and language-independent and aims to promote reuse of applications beyond basic use in a web browser. The purpose of CMDP Pre-Production / Training environment is to provide a place to train users on the usage of the CMDP web application and CMDP integration with LIMS. Once the connection is confirmed, LIMS can be connected to the CMDP Production environment at NCC. CMDP WEB SERVICE SECURITY A.1.4 Authentication A.1.4.1 DESCRIPTION Authentication occurs as part of a single web service request, not as a separate request. The Basic Authentication mechanism provided by Spring Security was implemented for CMDP Web Services. As part of the web service request, Security credentials are passed from client to server via the HTTP request header that contains 'userid:password' encoded in base64. Users will obtain their credentials through SCS registration and it will be the same userid:password used to login to CMDP. For more information about SCS and interactions with CMDP, please see the SCS portion of the CMDP User Manual. In order to perform any operations using CMDP web services, all requests must contain the user s security credentials in the request header. Only after authentication is successful will the 4 P age

web request be passed to the REST API and processed. Table 5, below, illustrates the REST API Authentication process. Note: The security credentials (required) are part of a request, not a separate request. Figure 1 REST API Authentication Note: The following are not scenarios for a specific web service endpoint (method) they are presented to illustrate the responses from the authentication process that occurs as part of a request. A.1.4.2 REQUEST Table 2 Authorization Request Header Name Required Definition / Constraints Authorization Yes SCS User ID and Password encoded in base64 5 P age

Example 1 Authorization Request Header (for User ID usera with Password password ) Authorization: Basic dxnlcke6cgfzc3dvcmq= userid:password encoded in base64 A.1.4.3 RESPONSE If authentication is successful, the request will be processed and a response returned. If authentication fails, then the response will raise an exception and return an error message. Table 3 Unsuccessful Authentication Scenarios Scenario HTTP Response Status Code No security credentials provided Invalid Security Credentials (i.e., User ID not valid) Valid security credentials, but User Not Authorized (based on roles) Response 401 Unauthorized <?xml version="1.0" encoding="utf-8" standalone="yes"?> <endrow>0</endrow> <errormessage>full authentication is required to access this resource</errormessage> <queuestatus>0</queuestatus> <status>401</status> <totalrows>0</totalrows> 401 Unauthorized <?xml version="1.0" encoding="utf-8" standalone="yes"?> <serverresponse> <endrow>0</endrow> <errormessage>invalid User: usera</errormessage> <queuestatus>0</queuestatus> <status>401</status> <totalrows>0</totalrows> </serverresponse> 401 Unauthorized <?xml version="1.0" encoding="utf-8" standalone="yes"?> <serverresponse> <endrow>0</endrow> <errormessage>requested resource 'https://tobedeterminedserver/cmd p-webservice/api/submissions/ sampledata' is not available for this user: stadmin. Applicable Roles for This Resource: [ROLE_WS_MODE, ROLE_LB_MODE, ROLE_LS_MODE]</errorMessage> <queuestatus>0</queuestatus> 6 P age

A.1.5 User Organization <status>401</status> <totalrows>0</totalrows> </serverresponse> A.1.5.1 DESCRIPTION Users may be associated with multiple organizations in SCS. Optional request headers can be used to specify the user organization to be associated with the web service request for CMDP. If optional headers are not specified, the user s default Organization is used. If specified, the user organization will be validated as part of the authentication process. Only after successful validation of the user organization will the web service request be processed. The optional request headers for User Organization are detailed in Table 4. A.1.5.2 REQUEST Table 4 User Organization Request Header (optional) Name Required Definition / Constraints orgcode No Organization Code primacyagency No Primacy Agency Example 2 - Optional Request Header to Specify User Organization Authorization: Basic dxnlcke6cgfzc3dvcmq= orgcode: TX9000001 primacyagency: TX Section A.1.6 details the web service method to retrieve the list of organizations that the user is associated with in SCS. A.1.5.3 RESPONSE If valid, the user role and organization are updated accordingly and the request is processed. If not valid, the web service request will not be processed and the response will raise an exception and return a standard error message. Note: The following are not scenarios for a specific web service endpoint (method) they are presented to illustrate the error responses from the authentication process for the user-specified Organization that occurs as part of a request. Example 3 Unsuccessful User Organization Scenarios Scenario HTTP Response Status Code Response 7 P age

Invalid Organization Code and/or Primacy Agency specified for user 401 Unauthorized <?xml version="1.0" encoding="utf-8" standalone="yes"?> <serverresponse> <endrow>0</endrow> <errormessage>invalid Primacy Agency/Org Code: TestPA/TX9000000 for user: wsadmin</errormessage> <queuestatus>0</queuestatus> <status>401</status> <totalrows>0</totalrows> </serverresponse> CMDP WEB SERVICE ENDPOINTS (METHODS) This section details the web service endpoints (methods). A.1.6 Get User Organizations A.1.6.1 DESCRIPTION Retrieves the list of organizations the user is associated with in SCS for CMDP. A.1.6.2 REQUEST Pre-Production URL: https://cmdpprep.epa.gov/cmdp-webservice/api/user/userorganizations Production URL: https://cmdpservice.epa.gov/cmdp-webservice/api/user/userorganizations HTTP Method: GET Request Header: Authorization: Basic d3nhzg1pbjpwyxnzd29yza== A.1.6.3 RESPONSE <?xml version="1.0" encoding="utf-8" standalone="yes"?> <serverresponse> <data> <userorganizationref> <orgcode>tx9000000</orgcode> <orgid>126749</orgid> <orgname>janak1111</orgname> <orgstate>tx</orgstate> <orgtype>ws</orgtype> <username>wsadmin</username> </userorganizationref> <userorganizationref> <orgcode>tx9000001</orgcode> <orgid>126750</orgid> 8 P age

<orgname>janaksaaa</orgname> <orgstate>tx</orgstate> <orgtype>ws</orgtype> <username>wsadmin</username> </userorganizationref> </data> <endrow>1</endrow> <errormessage>success:null</errormessage> <queuestatus>0</queuestatus> <status>0</status> <totalrows>2</totalrows> </serverresponse> A.1.7 Submit Sample Results to CMDP System Using Web Services A.1.7.1 DESCRIPTION Submits sample and operational results to CMDP for an organization. The request payload will contain a string representation of the XML data to be submitted. See the CMDP Web Services Samples Data Dictionary document for details related to the file structure of sample results data. These details include attribute names, data types, field validations, and descriptions. Also, example XML files are available in separate files (opdataexample.xml and SampleDataExample.xml) Note: XML file generated will fail to load using web services if it is not formatted properly or does not map to the XSD. A.1.7.2 REQUEST Pre-Production URL: https://cmdpprep.epa.gov/cmdpwebservice/api/submissions/sampledata Production URL: https://cmdpservice.epa.gov/cmdpwebservice/api/submissions/sampledata HTTP Method: POST Request Header: 9 P age Authorization: Basic d3nhzg1pbjpwyxnzd29yza== orgcode: TX9000001 primacyagency: PA Request Body (Payload): <?xml version="1.0" encoding="utf-8"?> <samples> <sample> <wsid>ct0010011</wsid> <facilityname>distribution SYSTEM - WELL A</facilityName> <samplingpointid>mw08-a1</samplingpointid> <samplinglocation>sldemo</samplinglocation> <samplecd>aab1</samplecd>

<collectiondate>2015-09-29</collectiondate> <collectiontime>10:00</collectiontime> <legalentityname>ph-0509</ legalentityname> <sampletypename>sp</sampletypename> <samplevolume>100</samplevolume> <comments>demo XML Test Microbial</comments> <samplecategoryname>microbial</samplecategoryname> <sampleresultmicro> <analytename>3014</analytename> <methodname>310.3</methodname> <analysisstartdt>2015-07-19</analysisstartdt> <analysisstarttime>12:00:00</analysisstarttime> <analysiscompldt>2015-07-19</analysiscompldt> <analysiscompltime>12:30:00</analysiscompltime> <name>ph-0466</name> <comments>demo Micro Test</comments> <volumeassayed>500</volumeassayed> <apname>p</apname> <count>1234</count> <typename>tubes</typename> <resultvolume>1</resultvolume> <interferencename>cnfg</interferencename> <sourcetypename>lake</sourcetypename> </sampleresultmicro> <sampleresultfield> <analytename>0100</analytename> <methodname>150.1</methodname> <comments>demo Micro Field Test</comments> <result>222</result> <uomname>ph</uomname> </ sampleresultfield> </sample> </samples> A.1.7.3 RESPONSE Unsuccessful (malformed XML such as missing end tag or failed XSD validation) 10 P age HTTP Status 400 Bad Request: <serverresponse> <data> <job> <fieldvalidationerrors> <Error1> Error at LINE: 32, COLUMN: 5 ERROR: The element type "sourcetypename" must be terminated by the matching end-tag "</sourcetypename>".</error1> <Error2> Error at LINE: 32, COLUMN: 5 ERROR: The element type "sourcetypename" must be terminated by the matching end-tag "</sourcetypename>".</error2> </fieldvalidationerrors> <jobid>0</jobid> </job> </data> <endrow>0</endrow> <errormessage>failed_bad_input_request:xml validate XSD Failed</errorMessage> <queuestatus>1</queuestatus> <status>105</status> <totalrows>1</totalrows>

</serverresponse> Successful <?xml version="1.0" encoding="utf-8" standalone="yes"?> <serverresponse> <data> <job> <jobid>1117</jobid> </job> </data> <endrow>0</endrow> <errormessage>success:xml Submission Accepted</errorMessage> <queuestatus>0</queuestatus> <status>0</status> <totalrows>1</totalrows> </serverresponse> 11 P age