Attachment 14 - EGS Peer Review API Guide (INFORMATION ONLY).pdf

PDF 254 KB Posted

Attached to
Biomedical Research Application Evaluation and Support Services (BRAES)
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 .