The ops-data API offers access to the ParticipantSummary resource and represents an aggregated view of relevant participant details, including data from consent (name, contact information), from PPI modules (a status indicating whether the participant has completed each questionnaire), basic demographics (age, gender, race).
Uses:
- Full data extracts for participants associated with their awardee
- Incremental updates on participants affiliated with their site
- Updates for withdrawn participants
Target users:
- System developers
- Informatics users at Awardee Partners
Endpoints:
- stable: all-of-us-rdr-stable.appspot.com/rdr/v1/ParticipantSummary
- prod: all-of-us-rdr-prod.appspot.com/rdr/v1/ParticipantSummary
See https://github.com/all-of-us/raw-data-repository/blob/master/rdr_client/work_queue.py for Python examples.
The recommended time frame for calling the sync link is every 5 minutes.
Service Accounts must use the awardee
parameter in request.
The summary includes the following fields:
participantId
biobankId
firstName
middleName
lastName
zipCode
state
city
streetAddress
phoneNumber
loginPhoneNumber
: verified phone number for register, participants must provideloginPhoneNumber
oremail
for registeremail
: email address for register, participants must provideloginPhoneNumber
oremail
for registerprimaryLanguage
: indicates the language for the consent, we only haveen
ores
for nowrecontactMethod
language
: deprecateddateOfBirth
ageRange
genderIdentity
sex
sexualOrientation
education
income
enrollmentStatus
race
physicalMeasurementsStatus
: indicates whether this participant has completed physical measurementsphysicalMeasurementsFinalizedTime
: indicates the latest time physical measurements were finalized for the participantphysicalMeasurementsTime
: indicates the latest time physical measurements were submitted for the participantphysicalMeasurementsCreatedSite
: indicates the site where physical measurements were created for the participantphysicalMeasurementsFinalizedSite
: indicates the site where physical measurements were finalized for the participantsignUpTime
: the time at which the participant initially signed up for All Of UshpoId
: HPO marked asprimary
for this participant, if any (just the resource id, likePITT
— not a reference likeOrganization/PITT
)awardee
: An awardee a participant is paired with or "unset" if none.organization
: An organization a participant is paired with or "unset" if none.site
: A physical location a participant is paired with or "unset" if none.consentForStudyEnrollment
: indicates whether enrollment consent has been received (UNSET
orSUBMITTED
)consentForStudyEnrollmentTime
: indicates the time at which enrollment consent has been received (ISO-8601 time)consentForElectronicHealthRecords
consentForElectronicHealthRecordsTime
questionnaireOnOverallHealth
: indicates status for Overall Health PPI modulequestionnaireOnOverallHealthTime
questionnaireOnPersonalHabits
questionnaireOnPersonalHabitsTime
questionnaireOnSociodemographics
questionnaireOnSociodemographicsTime
questionnaireOnHealthcareAccess
questionnaireOnHealthcareAccessTime
questionnaireOnMedicalHistory
questionnaireOnMedicalHistoryTime
questionnaireOnMedications
questionnaireOnMedicationsTime
questionnaireOnFamilyHealth
questionnaireOnFamilyHealthTime
biospecimenStatus
: whether biospecimens have been finalized for the participantbiospecimenOrderTime
: the first time at which biospecimens were finalizedbiospecimenSourceSite
: the site where biospecimens were initially created for the participantbiospecimenCollectedSite
: the site where biospecimens were initially collected for the participantbiospecimenProcessedSite
: the site where biospecimens were initially processed for the participantbiospecimenFinalizedSite
: the site where biospecimens were initially finalized for the participantsampleOrderStatus1SST8
sampleOrderStatus1SST8Time
sampleOrderStatus1PST8
sampleOrderStatus1PST8Time
sampleOrderStatus1HEP4
sampleOrderStatus1HEP4Time
sampleOrderStatus1ED04
sampleOrderStatus1ED04Time
sampleOrderStatus1ED10
sampleOrderStatus1ED10Time
sampleOrderStatus2ED10
sampleOrderStatus2ED10Time
sampleOrderStatus1UR10
sampleOrderStatus1UR10Time
sampleOrderStatus1UR90
sampleOrderStatus1UR90Time
sampleOrderStatus1ED02
sampleOrderStatus1ED02Time
sampleOrderStatus1CFD9
sampleOrderStatus1CFD9Time
sampleOrderStatus1PXR2
sampleOrderStatus1PXR2Time
sampleOrderStatus1SAL
sampleOrderStatus1SALTime
sampleStatus1SST8
sampleStatus1SST8Time
sampleStatus1PST8
sampleStatus1PST8Time
sampleStatus1HEP4
sampleStatus1HEP4Time
sampleStatus1ED04
sampleStatus1ED04Time
sampleStatus1ED10
sampleStatus1ED10Time
sampleStatus2ED10
sampleStatus2ED10Time
sampleStatus1UR10
sampleStatus1UR10Time
sampleStatus1UR90
sampleStatus1UR90Time
sampleStatus1ED02
sampleStatus1ED02Time
sampleStatus1CFD9
sampleStatus1CFD9Time
sampleStatus1PXR2
sampleStatus1PXR2Time
sampleStatus1SAL
sampleStatus1SALTime
numCompletedBaselinePPIModules
numCompletedPPIModules
numBaselineSamplesArrived
samplesToIsolateDNA
withdrawalStatus
suspensionStatus
For enumeration fields, the following values are defined:
hpoId
: UNSET
, UNMAPPED
, PITT
, COLUMBIA
, ILLINOIS
, AZ_TUCSON
, COMM_HEALTH
, SAN_YSIDRO
, CHEROKEE
, EAU_CLAIRE
, HRHCARE
, JACKSON
, GEISINGER
, CAL_PMC
, NE_PMC
, TRANS_AM
, VA
ageRange
: 0-17
, 18-25
, 26-35
, 36-45
, 46-55
, 56-65
, 66-75
, 76-85
, 86-
physicalMeasurementsStatus
: UNSET
, SCHEDULED
, COMPLETED
, RESULT_READY
questionnaireOn[x]
: UNSET
, SUBMITTED
biospecimenStatus
: UNSET
, FINALIZED
sampleOrderStatus[x]
: UNSET
, CREATED
, COLLECTED
, PROCESSED
, FINALIZED
sampleStatus[x]
and samplesToIsolateDNA
: UNSET
, RECEIVED
withdrawalStatus
: NOT_WITHDRAWN
, NO_USE
suspensionStatus
: NOT_SUSPENDED
, NO_CONTACT
enrollmentStatus
: INTERESTED
, MEMBER
, FULL_PARTICIPANT
race
: UNSET
, UNMAPPED
, AMERICAN_INDIAN_OR_ALASKA_NATIVE
, BLACK_OR_AFRICAN_AMERICAN
,
ASIAN
, NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER
, WHITE
, HISPANIC_LATINO_OR_SPANISH
,
MIDDLE_EASTERN_OR_NORTH_AFRICAN
, HLS_AND_WHITE
, HLS_AND_BLACK
,
HLS_AND_ONE_OTHER_RACE
, HLS_AND_MORE_THAN_ONE_OTHER_RACE
, MORE_THAN_ONE_RACE
,
OTHER_RACE
, PREFER_NOT_TO_SAY
awardee
: See https://github.com/all-of-us/raw-data-repository/blob/master/rest-api/data/awardees.csv
Note:
- hpoId maps to awardee. If awardee is set in a request, hpoId is updated and vice versa.
- The GET request needs to identify the awardee via the parameter.
- SA is only able to call the parameter specific to its own awardee.
See GET
examples below using awardee=
for requests.
The values for the following fields are defined in the codebook:
state
recontactMethod
language
genderIdentity
sex
sexualOrientation
education
income
race
If one of these fields has a value that is not mapped in the codebook, the API
returns "UNMAPPED"
. If the participant has not yet provided a value the API
returns "UNSET"
(this is the default state). If the participant elected to skip
the question the API will return "SKIPPED"
.
List participants matching a set of search parameters. This supports in-clinic lookup (for physical measurements and biospecimen donation) as well as a Participant Work Queue. Any of the above parameters can be provided as a query parameter to do an exact match.
The ops-data API supports filtering and sorting on last modified time. The default order results are returned is...
- last modified time
- participant ID (ascending)
For service accounts access, the awardee parameter is required. Example:
GET /ParticipantSummary?awardee=PITT&_sort=lastModified
Example sync:
GET /ParticipantSummary?awardee=PITT&_sort=lastModified&_sync=true
Pagination is provided with a token i.e.
GET /ParticipantSummary?awardee=PITT&_sort=lastModified&_token=<token string>
It is possible to get the same participant data back in multiple sync responses. The recommended time between syncs is 5 minutes.
See FHIR search prefixes below
Synchronize ops-data last modified link.
This allows Awardees to stay up-to-date
with newly-arrived summaries. The return value is a FHIR History Bundle
where each entry is a ParticipantSummary
document.
The Bundle's link
array will include a link with relation=next
if more results are available immediately.
Otherwise the array will contain a link
with relation=sync
that can be used to check for new results.
Example response:
"link": [
{
"relation": "sync",
"url": "GET /ParticipantSummary?awardee=PITT&_sort=lastModified&_token=WzM1XQ%3D%3D"
}
-
Each awardee partner is issued one service account.
-
Authorized users can generate API keys for access.
-
Awardees are responsible for rotating keys on a three day timeframe. ** Permissions will be revoked after this time.
-
Service account for specific awardees must specify the awardee parameter in requests.
GET /ParticipantSummary?awardee=PITT
GET /ParticipantSummary?awardee=PITT&state=PIIState_MA
GET /ParticipantSummary?awardee=PITT&organization=PITT_UPMC
GET /ParticipantSummary?awardee=PITT&site=hpo-site-UPMC
For integer and date fields, the following prefixes can be provided for query parameter values to indicate inequality searches, as per the FHIR search spec:
lt
: less thanle
: less than or equal togt
: greater thange
: greater than or equal tone
: not equal to
Other supported parameters from the FHIR spec:
-
_count
: the maximum number of participant summaries to return; the default is 100, the maximum supported value is 10,000 -
_sort
: the name of a field to sort results by, in ascending order, followed by last name, first name, date of birth, and participant ID. -
_sort:desc
: the name of a field to sort results by, in descending order, followed by last name, first name, date of birth, and participant ID.
We furthermore support an _includeTotal
query parameter that will execute a
count of the given set of summaries and attach that to the returned FHIR Bundle
as a total
key.
If no sort order is requested, the default sort order is last name, first name, date of birth, and participant ID.
The response is an FHIR Bundle containing participant summaries. If more than the requested number of participant summaries match the specified criteria, a "next" link will be returned that can be used in a follow on request to fetch more participant summaries.