Attachment 14 - EGS Peer Review API Guide (INFORMATION ONLY).pdf
PDF 254 KB Posted
- Solicitation number
- HT942726RE022
- Issued by
- Not on record
About this file
Summary: EGS API Guide for Peer Review Services
This is a technical specification document for a Contractor-Owned, Contractor-Operated (COCO) system that details Application Programming Interface (API) endpoints for data exchange with the Government's Electronic Grants System (EGS). The document specifies three primary service categories: information export services (pre-proposal and full proposal information), and peer review delivery services (scoring criteria, panel information, scoring data, and budget data). All services utilize a base URL of https://api.example.com/services and currently employ basic authentication via username and password over HTTPS, with planned transition to certificate-based mutual TLS authentication. Request parameters support filtering by logNo, program, proposalYear, receiptCycle, keywords, fiscal year, and status, with responses delivered in XML format that may convert to JSON.
The document provides comprehensive XML Schema Definitions (XSD) for four peer review services accessible through DeliverableKey parameters: Scoring Service (DeliverableKey=3) returns evaluation scores across multiple criteria (eval1-eval10), global scores, panel information, and percentile rankings; Budget Service (DeliverableKey=4) delivers requested and recommended budget figures along with duration and financial comments; Criteria Service (DeliverableKey=5) specifies evaluation criteria by mechanism, award type, scoring parameters, and word count restrictions; and Panel Service (DeliverableKey=6) provides panel identification, names, abbreviations, and science area classifications. Filter parameters including FiscalYear, Program, and ReceiptCycle can be appended to customize data retrieval for specific funding opportunities and review cycles.
View the file
Other files
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
Attachment 14
Applicable to: Contractor-Owned, Contractor-Operated (COCO) System Reference: IDIQ PWS 4.2 Purpose: This document speaks to the exchange of data via web services with the Government’s Electronic Grants System (EGS), via existing Application Programming Interface (API).
EGS API Guide for Peer Review Services Peer review services consist of service groups that provide proposal data from EGS as well as allow for government receipt and delivery of peer review information.
Information export services:
Pre-proposal Information Full proposal information
Peer review delivery services:
Scoring criteria Panel information Scoring data Budget data
1. Pre-Proposal Information
Base URL https://api.example.com/services
Authentication
Presently basic authentication (i.e. Username/Password over HTTPS), however, may be transitioned to certificate-based mutual TLS authentication method.
Get Pre-Proposal Information
Endpoint: GET /preProposalInfo/{logNo}
Description: The EGS PreProposalInfo service enables a service to request pre-proposal information from EGS. The requestor must provide a valid EGS username and password when prompted by EGS. The response is in XML format however may convert to JSON format.
Request Parameters:
Parameter Type Required Description logNo String No The unique log number of the pre-proposal.
program String No Filter by program name (e.g., "TEST").
proposalYear String No Filter by a proposalYear receiptCycle String No Filter by a subset by cycle
Response:
<preProposalInfo> <logNo>TEST1900</logNo> <preProposalType>Pre-Proposal</preProposalType> <statusList> <status type="PRE-PROPOSAL RECEIPT" lastUpdateDate="2018-05-02 09:13:38.0">RECEIVED</status> <status type="PRE-APPLICATION COMPLIANCE" lastUpdateDate="2018-05-02 09:13:38.0">COMPLIANT</status> <status type="PRE-PROPOSAL SCREENING" lastUpdateDate="2018-06-03 08:09:22.0">NOT_INVITED</status> </statusList> <program>TEST</program> <keywords>test, inflammation</keywords> <awardType id="010">Idea Development Award</awardType> <proposalTitle>Proposal Title</proposalTitle> <hsUsed>N</hsUsed> <clinicalTrialUsed/>
<humanAnaUsed>N</humanAnaUsed> <humAnaDonorTrace/> <asUsed>Y</asUsed> <asUsedSub/> <healthDisparityUsed/> <researchArea>1</researchArea> <withdrawnBy/> <keywords>autism, inflammation</keywords> <lastUpdatedBy>THOMR</lastUpdatedBy> <someWorkUsMilFacility>N</someWorkUsMilFacility> <allWorkUsMilFacility/> <someWorkVaFacility/> <allWorkVaFacility/> <fy>2019</fy> <receiptCycle>1</receiptCycle> <owner id="1">CDMRP</owner> <submittedDate>2018-05-01 15:48:12.0</submittedDate> <withdrawnType/> <withdrawnDate/> <lastUpdateDate>2018-05-02 09:13:38.0</lastUpdateDate> <researchClass> <researchClassUsed>1101</researchClassUsed> <researchClassOrer>1</researchClassOrer> <researchClassVersion/> </researchClass> <researchClass> <researchClassUsed>0199</researchClassUsed> <researchClassOrer>2</researchClassOrer> <researchClassVersion/> </researchClass> <preProposalContacts> <preProposalContact> <role id="2">CR1</role> <prefix/> <firstName>First</firstName> <lastName>Last</lastName> <middleName/> <suffix/> <title/> <addressLine1>123 Road Rd</addressLine1> <addressLine2/> <city>City</city> <stateProvinceCode>TX</stateProvinceCode> <countryCode>US</countryCode> <phone>888-555-1212</phone> <fax/> <email>test@test.com</email> <dunsNbr/> <ein/> <lastUpdatedBy>User1</lastUpdatedBy> <zipPostalCode>88888-8888</zipPostalCode> <otherOrgName>Texas, University of</otherOrgName> </preProposalContact>
</preProposalContacts> <coiData> <coiId>0</coiId> <coiType>1</coiType> <coiFirstName>First</coiFirstName> <coiLastName>Last</coiLastName> <coiOrgName/> <coiPhone>888-555-1212</coiPhone> <coiEmail>test@test.com</coiEmail> </coiData> <ppHumanSubjectUsed/> <ppPiEthnicityUsed> <piEthnicity> <ethnicity/> <otherEthnicity/> </piEthnicity> </ppPiEthnicityUsed> <ppPiMilitaryAffiliationUsed> <piMilitaryAffiliation>U.S. Educational Institution</piMilitaryAffiliation> </ppPiMilitaryAffiliationUsed> </preProposalInfo>
2. Full Proposal Information be transitioned to certificate-based mutual TLS authentication method.
Get Proposal Information The EGS ProposalInfo service enables a service to request full proposal information from EGS. The requestor must provide a valid EGS username and password when prompted by EGS. The response is in XML format.
Endpoint: GET /ProposalInfo
Request Parameters:
Parameter Type Required Description program String No Filter by program name (e.g., "ARP").
keywords String No Filter by keywords (e.g., "autism").
fy String No Filter by fiscal year (e.g., "2019").
status String No Filter by status (e.g., "RECEIVED").
Response:
<proposalInfo> <logNo>TEST0140</logNo> <complianceStatus>COMPLIANT</complianceStatus> <program>ARP</program> <ggTrackingNbr>GRANT117</ggTrackingNbr> <opportunityId>W81XWH-14</opportunityId> <fy>2014</fy> <awardType>504</awardType> <keywords>test, tester, testing</keywords> <receiptCycle>1</receiptCycle> <proposalTitle>Proposal Title</proposalTitle> <totalFunding>333333</totalFunding> <requestedDirect>177700.0</requestedDirect> <requestedIndirect>88888.0</requestedIndirect> <requestedDuration/> <researchArea/> <typeOrg/> <proposalReceiptDate>2014-12-11 00:08:27.0</proposalReceiptDate> <withdrawnDate/> <recLetters/> <centerSequence/> <startDate>2015-10-01 00:00:00.0</startDate> <endDate>2017-09-30 00:00:00.0</endDate> <centerType/> <piFirstName>First</piFirstName> <piLastName>Last</piLastName> <piMiddleInitial/> <piPrefix/> <piSuffix/> <piTitle/> <piGender/> <piDepartment>Physics Department</piDepartment> <piOrganization>Rutgers, New Jersey, State University of</piOrganization> <crOrganization>Rutgers, New Jersey, State University of</crOrganization>
<piAddress1>Medical School</piAddress1> <piAddress2>123 Elm Drive</piAddress2> <piAddress3/> <piCity>Los Alamos</piCity> <piState>NJ</piState> <piZipCode>88888-8888</piZipCode> <piCountryCode>US</piCountryCode> <piEmail>test@test.com</piEmail> <piTelephone>888-555-1212</piTelephone> <piFax>888-555-1212</piFax> <crFirstName>First</crFirstName> <crLastName>Last</crLastName> <crMiddleInitial/> <crPrefix>Ms.</crPrefix> <crSuffix/> <crTitle/> <crDepartment>ORSP</crDepartment> <crAddress1>3 Somewhere Street</crAddress1> <crAddress2/> <crAddress3/> <crCity>City</crCity> <crState>NJ</crState> <crZipCode>88888-4444</crZipCode> <crCountryCode>US</crCountryCode> <crTelephone>888-555-1212</crTelephone> <crFax>888-555-1212</crFax> <crEmail>test@test.com</crEmail> <mentorFirstName/> <mentorLastName/> <mentorMiddleInitial/> <keyGenderUsed/> <researchClass> <researchClassUsed>1401</researchClassUsed> <researchClassOrder>1</researchClassOrder> </researchClass> <researchClass> <researchClassUsed>1403</researchClassUsed> <researchClassOrder>2</researchClassOrder> </researchClass> <coiData> <coiFirstName>First</coiFirstName> <coiLastName>Last</coiLastName> <coiOrgName>Rutgers</coiOrgName> <coiPhone>888-555-1212</coiPhone> <coiEmail>test@test.com</coiEmail> <coiType>9</coiType> <coiSource>Full Application</coiSource> </coiData> <coiData> <coiFirstName>First</coiFirstName> <coiLastName>Last</coiLastName> <coiOrgName>Rutgers</coiOrgName> <coiPhone>888-235-4553</coiPhone>
<coiEmail>test@test.com</coiEmail> <coiType>37</coiType> <coiSource>Full Application</coiSource> </coiData> <emphasisAreas> </emphasisAreas> </proposalInfo>
3. Peer Review Information be transitioned to certificate-based mutual TLS authentication method. A username and password need to be encoded and included in the HTTP “Authorization” header.
The following parameters can be appended to the base URLs to filter the response:
FiscalYear Program
ReceiptCycle
To specify which service to request, the DeliverableKey parameter is appended with the following values for each service:
Scoring Service: DeliverableKey=3
Budget Service: DeliverableKey=4 Criteria Service: DeliverableKey=5 Panel Service: DeliverableKey=6
Example: To transfer scoring criteria data for the Breast Cancer Research Program, FY2024, receipt cycle 1, a sample URL would be:
"https://api.example.com/services?FiscalYear=2024&Program=BCRP&ReceiptCycle= 1&DeliverableKey=5
Scoring Service XSD:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="score_data">
<xs:complexType>
<xs:sequence>
<xs:element name="row" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="disapproved">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="eval1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="eval10">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="eval2">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="eval3">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:element>
<xs:element name="eval4">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="eval5">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="eval6">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="eval7">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="eval8">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="eval9">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="global_score">
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="log_no">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="panel_abrv">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="panel_name">
<xs:complexType>
<xs:extension base="xs:string">
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="percentile">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="std_dev">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="triaged">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="id" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="columns"/>
<xs:attribute type="xs:byte" name="rows"/>
</xs:complexType>
</xs:schema>
Budget Service XSD:
elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="budget_data">
<xs:complexType>
<xs:sequence>
<xs:element name="row" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="budget_comments">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
</xs:complexType>
</xs:element>
<xs:element name="log_no">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="rec_duration">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="rec_total_funding">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
<xs:element name="requested_direct">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="requested_indirect">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="req_duration">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
<xs:element name="triaged">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="type" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="id" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="columns"/>
<xs:attribute type="xs:byte" name="rows"/>
</xs:complexType>
Criteria Service XSD:
elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="program">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:short" name="fiscalyear"/>
<xs:element type="xs:byte" name="cycle"/>
<xs:element name="mechanisms">
<xs:sequence>
<xs:element name="mechanism" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:short" name="awardtype"/>
<xs:element type="xs:short" name="atmid"/>
<xs:element type="xs:string" name="shortdescription"/>
<xs:element name="criteria">
<xs:complexType>
<xs:sequence>
<xs:element name="criterion" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:int" name="ecmid"/>
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:string" name="abbreviation"/>
<xs:element type="xs:byte" name="sortorder"/>
<xs:element type="xs:byte" name="summstatementsortorder"/>
<xs:element type="xs:string" name="wordcount"/>
<xs:element type="xs:byte" name="isscoreenabled"/>
<xs:element type="xs:byte" name="istextenabled"/>
<xs:element type="xs:byte" name="isoverallenabled"/>
<xs:element type="xs:string" name="evalinstructions"/>
<xs:element type="xs:string" name="weight"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
Panel Service XSD:
elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="program">
<xs:complexType>
<xs:sequence>
<xs:element name="session" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:short" name="panelid"/>
<xs:element type="xs:string" name="panelname"/>
<xs:element type="xs:string" name="panelabbreviation"/>
<xs:element type="xs:string" name="sciencearea"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
| EGS API Guide for Peer Review Services Peer review services consist of service groups that provide proposal data from EGS as well as allow for government receipt and delivery of peer review information. Information export services: Pre-proposal... |
| 1. Pre-Proposal Information |
| Base URL |
| Authentication |
| Get Pre-Proposal Information |
| Description: The EGS PreProposalInfo service enables a service to request pre-proposal information from EGS. The requestor must provide a valid EGS username and password when prompted by EGS. The response is in XML format however may convert to JSON f... |
| 2. Full Proposal Information |
| Base URL |
| Authentication |
| Get Proposal Information The EGS ProposalInfo service enables a service to request full proposal information from EGS. The requestor must provide a valid EGS username and password when prompted by EGS. The response is in XML format. |
| 3. Peer Review Information |
| Base URL |
| Authentication |
| Base URL |
File details come from the government source that posted it. Updated .